| Current Path : /var/www/html/maiwp/backend/models/frontendpage/ |
| Current File : /var/www/html/maiwp/backend/models/frontendpage/FrontendPage.php |
<?php
namespace backend\models\frontendpage;
use Yii;
use backend\models\frontend\FrontendSite;
/**
* This is the model class for table "frontend_page".
*
* @property integer $page_id
* @property integer $site_id
* @property string $page_name
* @property string $theme_id
* @property integer $page_order
* @property string $page_setup
*/
class FrontendPage extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'frontend_page';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['site_id', 'page_order','header_id','footer_id'], 'integer'],
[['page_name'],'required'],
[['page_setup', 'theme_id', 'slug_enable', 'page_slug'], 'safe'],
['page_slug', 'slugStringFormat'],
[['page_name'], 'string'],
];
}
/**
* Check for valid slug
* @param String $attribute_name
* @param String $params
*/
public function slugStringFormat($attribute_name, $params){
if(!empty($this->page_slug)){
if (preg_match('#^[\d]+$#', $this->page_slug)) {
$this->addError($attribute_name, Yii::t('app','Must be a string'));
}
if (!preg_match('#^[\w\-]+$#', $this->page_slug)) {
$this->addError($attribute_name,Yii::t('app','No special character is allowed'));
}
}
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'page_id' => Yii::t('app','Page ID'),
'site_id' => Yii::t('app','Site Name'),
'page_name' => Yii::t('app','Page Name'),
'page_order' => Yii::t('app','Page Order'),
'header_id' => Yii::t('app','Header ID'),
'footer_id' => Yii::t('app','Footer ID'),
];
}
public function getSite(){
return $this->hasOne(FrontendSite::className(),['site_id'=>'site_id']);
}
public static function dropdown($site_id){
static $dropdown;
if($dropdown == null){
$dropdown[0] = "Without page";
$models = static::find()->where(['site_id'=>$site_id])->orderBy(['page_name'=>SORT_DESC])->all();
foreach($models as $model){
$dropdown[$model->page_id] = $model->page_name;
}
}
return $dropdown;
}
}