studioespresso/craft-seo-fields

View on GitHub
src/models/NotFoundModel.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 * SEO Fields plugin for Craft CMS 3.x
 *
 * Fields for your SEO & OG data
 *
 * @link      https://studioespresso.co
 * @copyright Copyright (c) 2019 Studio Espresso
 */

namespace studioespresso\seofields\models;

use craft\base\Model;
use craft\validators\DateTimeValidator;
use studioespresso\seofields\records\RedirectRecord;

/**
 * @author    Studio Espresso
 * @package   SEO Fields
 * @since     1.0.0
 */
class NotFoundModel extends Model
{
    // Public Properties
    // =========================================================================
    public $id;

    public $fullUrl;

    public $urlPath;

    public $urlParams;

    public $referrer;

    public $siteId;

    public $counter = 0;

    public $dateLastHit;

    public $handled = false;

    public $redirect = null;

    public $dateCreated;

    public $dateUpdated;

    public $uid;

    // Public Methods
    // =========================================================================

    /**
     * Returns the validation rules for attributes.
     *
     * Validation rules are used by [[validate()]] to check if attribute values are valid.
     * Child classes may override this method to declare different validation rules.
     *
     * More info: http://www.yiiframework.com/doc-2.0/guide-input-validation.html
     *
     * @return array
     */
    public function rules(): array
    {
        return [
            [
                ['counter', 'url', 'dateLastHit', 'handled', 'siteId'], 'required',
            ],
            [
                ['id', 'counter', 'fullUrl', 'urlPath', 'referrer', 'urlParams', 'dateLastHit', 'handled', 'siteId', 'redirect', 'dateLastHit', 'dateCreated', 'dateUpdated'], 'safe',
            ],
            [['counter', 'siteId'], 'integer'],
            ['handled', 'boolean'],
            ['dateLastHit', DateTimeValidator::class],
        ];
    }

    public function getRedirect()
    {
        if (!$this->redirect) {
            return false;
        } else {
            $redirect = RedirectRecord::findOne(['id' => $this->redirect]);
            return $redirect;
        }
    }
}