![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets-rebuild.corals.io/wp-content/plugins/give/src/Campaigns/Models/ |
<?php namespace Give\Campaigns\Models; use DateTime; use Give\Campaigns\Repositories\CampaignPageRepository; use Give\Campaigns\ValueObjects\CampaignPageStatus; use Give\Framework\Models\Contracts\ModelCrud; use Give\Framework\Models\Model; use Give\Framework\Models\ModelQueryBuilder; use Give\Framework\Models\ValueObjects\Relationship; use Give\Framework\Support\Facades\DateTime\Temporal; /** * @since 4.0.0 * * @property int $id * @property int $campaignId * @property DateTime $createdAt * @property DateTime $updatedAt * @property CampaignPageStatus $status * @property string $content */ class CampaignPage extends Model implements ModelCrud { public $properties = [ 'id' => 'int', 'campaignId' => 'int', 'createdAt' => DateTime::class, 'updatedAt' => DateTime::class, 'status' => CampaignPageStatus::class, 'content' => 'string' ]; public $relationships = [ 'campaign' => Relationship::BELONGS_TO, ]; /** * @since 4.0.0 */ public function getEditLinkUrl(): string { // By default, the URL is encoded for display purposes. // Setting any other value prevents encoding the URL. return get_edit_post_link($this->id, 'redirect'); } /** * @since 4.0.0 */ public function campaign(): ?Campaign { return Campaign::find($this->campaignId); } /** * @since 4.0.0 */ public static function find($id): ?CampaignPage { return give(CampaignPageRepository::class)->getById($id); } /** * @since 4.0.0 */ public static function create(array $attributes): CampaignPage { $campaignPage = new static($attributes); give(CampaignPageRepository::class)->insert($campaignPage); return $campaignPage; } /** * @since 4.0.0 */ public function save(): void { if (!$this->id) { give(CampaignPageRepository::class)->insert($this); } else { give(CampaignPageRepository::class)->update($this); } } /** * @since 4.0.0 */ public function delete(): bool { return give(CampaignPageRepository::class)->delete($this); } /** * @since 4.0.0 * * @return ModelQueryBuilder<CampaignPage> */ public static function query(): ModelQueryBuilder { return give(CampaignPageRepository::class)->prepareQuery(); } /** * @since 4.0.0 */ public static function fromQueryBuilderObject($object): CampaignPage { return new CampaignPage([ 'id' => (int) $object->id, 'campaignId' => (int) $object->campaignId, 'createdAt' => Temporal::toDateTime($object->createdAt), 'updatedAt' => Temporal::toDateTime($object->updatedAt), 'status' => new CampaignPageStatus($object->status), 'content' => $object->content ]); } }