| Current Path : /var/www/html/sprm/backend/models/ |
| Current File : /var/www/html/sprm/backend/models/ContentMedia.php |
<?php
namespace backend\models;
use Yii;
use yii\behaviors\TimestampBehavior;
use yii\behaviors\BlameableBehavior;
use yii\db\Expression;
use yii\db\ActiveRecord;
use asinfotrack\yii2\audittrail\behaviors\AuditTrailBehavior;
/**
* This is the model class for table "content_media".
*
* @property int $content_media_id
* @property string $content_media_title
* @property string $content_media_publish_date
* @property string $content_media_language
* @property string $content_media_image
* @property string $content_media_file
* @property int $content_media_status
* @property int $created_by
* @property string $created_at
* @property int $updated_by
* @property string $updated_at
*/
class ContentMedia extends \yii\db\ActiveRecord {
/**
* {@inheritdoc}
*/
public static function tableName() {
return 'content_media';
}
public function behaviors() {
return [
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'created_at',
'updatedAtAttribute' => 'updated_at',
'value' => new Expression('NOW()'),
],
[
'class' => BlameableBehavior::className(),
'createdByAttribute' => 'created_by',
'updatedByAttribute' => 'updated_by',
'value' => (!\Yii::$app->user->isGuest ? \Yii::$app->user->identity->staff->id : 0),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_by'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_by'],
],
],
'audittrail' => [
'class' => AuditTrailBehavior::className(),
// some of the optional configurations
'ignoredAttributes' => ['created_at', 'updated_at'],
'consoleUserId' => 1
],
];
}
/**
* {@inheritdoc}
*/
public function rules() {
return [
[['content_media_title'], 'required'],
[['content_media_status', 'created_by', 'updated_by'], 'integer'],
[['created_at', 'updated_at','content_media_file','content_media_image','content_media_publish_date'], 'safe'],
[['content_media_title'], 'string', 'max' => 500],
[['content_media_language'], 'string', 'max' => 255],
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels() {
return [
'content_media_id' => Yii::t('app','ID'),
'content_media_title' => Yii::t('app','Tajuk'),
'content_media_language' => Yii::t('app','Bahasa'),
'content_media_publish_date' => Yii::t('app','Tarikh Penerbitan'),
'content_media_image' => Yii::t('app','Gambar'),
'content_media_file' => Yii::t('app','File [pdf]'),
'content_media_status' => Yii::t('app','Status'),
'created_by' => Yii::t('app','Dicipta Oleh'),
'created_at' => Yii::t('app','Masa Dicipta'),
'updated_by' => Yii::t('app','Dikemaskini Oleh'),
'updated_at' => Yii::t('app','Masa Dikemaskini'),
];
}
public function upload() {
if ($this->validate()) {
if ($this->validate()) {
if (!empty($this->content_media_image)) {
$this->content_media_image->saveAs('uploads/isu-semasa/' . $this->content_media_image->baseName . date('dmyhi') . '.' . $this->content_media_image->extension);
/* rewrite url path for uniquenes */
$this->content_media_image = $this->content_media_image->baseName . date('dmyhi') . '.' . $this->content_media_image->extension;
}
if (!empty($this->content_media_file)) {
$this->content_media_file->saveAs('uploads/isu-semasa/pdf/' . $this->content_media_file->baseName . date('dmyhi') . '.' . $this->content_media_file->extension);
/* rewrite url path for uniquenes */
$this->content_media_file = $this->content_media_file->baseName . date('dmyhi') . '.' . $this->content_media_file->extension;
}
return true;
} else {
return false;
}
return true;
} else {
return false;
}
}
}