array('index','view'),
'users'=>array('*'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions'=>array('create','update','activo'),
'users'=>array('@'),
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete'),
'users'=>array('admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionView($id)
{
$this->render('view',array(
'model'=>$this->loadModel($id),
));
}
/**
* Creates a new model.
* If creation is successful, the browser will be redirected to the 'view' page.
*/
public function actionCreate()
{
$model=new Publicaciones;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Publicaciones']))
{
$model->attributes=$_POST['Publicaciones'];
if(isset($_FILES['imagen'])){
if ($_FILES['imagen']['error'] == UPLOAD_ERR_OK) {
$filename = $_FILES['imagen']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$nombre = 'Pub_'.date('YmdHis').'.'.$ext;
$model->foto = $nombre;
$nombre_tmp = $_FILES['imagen']['tmp_name'];
}
}
if(!empty($model->url_youtube)){
$coincidencia = stripos($model->url_youtube, 'iframe');
if($coincidencia === false){
$ytarray=explode("/", $model->url_youtube);
$ytendstring=end($ytarray);
$ytendarray=explode("?v=", $ytendstring);
$ytendstring=end($ytendarray);
$ytendarray=explode("&", $ytendstring);
$ytcode=$ytendarray[0];
$model->url_youtube = '';
}
}
if(!empty($model->url_issuu)){
$coincidencia = stripos($model->url_issuu, 'iframe');
$coincidencia1 = stripos($model->url_issuu, 'div');
if($coincidencia === false && $coincidencia1 === false){
$model->url_issuu = '';
}
}
if(isset($_FILES['archivo'])){
if ($_FILES['archivo']['error'] == UPLOAD_ERR_OK) {
$filename = $_FILES['archivo']['name'];
$nombre = date('Ymd_His').'_'.Yii::app()->funciones->cleanText($filename);
$model->archivo = $nombre;
$nombre_tmp = $_FILES['archivo']['tmp_name'];
move_uploaded_file($nombre_tmp, $_SERVER['DOCUMENT_ROOT'].Yii::app()->request->baseUrl.'/documentos/'.$nombre);
}
}
if($model->save()){
if(!empty($nombre_tmp)){
move_uploaded_file($nombre_tmp, $_SERVER['DOCUMENT_ROOT'].Yii::app()->request->baseUrl.'/images/publicaciones/'.$nombre);
}
$this->redirect(array('index'));
}
}
$this->render('create',array(
'model'=>$model,
));
}
/**
* Updates a particular model.
* If update is successful, the browser will be redirected to the 'view' page.
* @param integer $id the ID of the model to be updated
*/
public function actionUpdate($id)
{
$model=$this->loadModel($id);
$img_old = $model->foto;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Publicaciones']))
{
$model->attributes=$_POST['Publicaciones'];
if(isset($_FILES['imagen'])){
if ($_FILES['imagen']['error'] == UPLOAD_ERR_OK) {
$filename = $_FILES['imagen']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$nombre = 'Pub_'.date('YmdHis').'.'.$ext;
$model->foto = $nombre;
$nombre_tmp = $_FILES['imagen']['tmp_name'];
}
}else{
$model->imagen = $img_old;
}
if(!empty($model->url_youtube)){
$coincidencia = stripos($model->url_youtube, 'iframe');
if($coincidencia === false){
$ytarray=explode("/", $model->url_youtube);
$ytendstring=end($ytarray);
$ytendarray=explode("?v=", $ytendstring);
$ytendstring=end($ytendarray);
$ytendarray=explode("&", $ytendstring);
$ytcode=$ytendarray[0];
$model->url_youtube = '';
}
}
if(!empty($model->url_issuu)){
$coincidencia = stripos($model->url_issuu, 'iframe');
$coincidencia1 = stripos($model->url_issuu, 'div');
if($coincidencia === false && $coincidencia1 === false){
$model->url_issuu = '';
}
}
if(isset($_FILES['archivo'])){
if ($_FILES['archivo']['error'] == UPLOAD_ERR_OK) {
$filename = $_FILES['archivo']['name'];
$nombre = date('Ymd_His').'_'.Yii::app()->funciones->cleanText($filename);
$model->archivo = $nombre;
$nombre_tmp = $_FILES['archivo']['tmp_name'];
move_uploaded_file($nombre_tmp, $_SERVER['DOCUMENT_ROOT'].Yii::app()->request->baseUrl.'/documentos/'.$nombre);
}
}
$model->last_update = date('Y-m-d');
if($model->save()){
if(!empty($nombre_tmp)){
move_uploaded_file($nombre_tmp, $_SERVER['DOCUMENT_ROOT'].Yii::app()->request->baseUrl.'/images/publicaciones/'.$nombre);
}
//$this->redirect(array('index'));
}
}
$this->render('update',array(
'model'=>$model,
));
}
/**
* Deletes a particular model.
* If deletion is successful, the browser will be redirected to the 'admin' page.
* @param integer $id the ID of the model to be deleted
*/
public function actionDelete($id)
{
$data=array("check"=>"0");
if($this->loadModel($id)->delete())$data=array("check"=>"1");
echo json_encode($data);
exit();
}
/**
* Lists all models.
*/
public function actionIndex()
{
$model = Publicaciones::model()->findAll();
$this->render('index',array(
'model'=>$model,
));
}
public function actionActivo($id)
{
$model=$this->loadModel($id);
//Importante tener declarado el campo activo
//en el modelo de base de datos
$activo=$model->activo;
if($model->activo){
$model->activo=0;
}else{
$model->activo=1;
}
$arrResp=array();
if($model->saveAttributes(array('activo'=>$model->activo))){
$arrResp=array( 'check'=>1,
'activo'=>$model->activo);
}else{
$arrResp=array( 'check'=>0,
'activo'=>$activo);
}
echo json_encode($arrResp);
Yii::App()->end();
}
/**
* Manages all models.
*/
public function actionAdmin()
{
$model=new Publicaciones('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['Publicaciones']))
$model->attributes=$_GET['Publicaciones'];
$this->render('admin',array(
'model'=>$model,
));
}
/**
* Returns the data model based on the primary key given in the GET variable.
* If the data model is not found, an HTTP exception will be raised.
* @param integer the ID of the model to be loaded
*/
public function loadModel($id)
{
$model=Publicaciones::model()->findByPk($id);
if($model===null)
throw new CHttpException(404,'The requested page does not exist.');
return $model;
}
/**
* Performs the AJAX validation.
* @param CModel the model to be validated
*/
protected function performAjaxValidation($model)
{
if(isset($_POST['ajax']) && $_POST['ajax']==='publicaciones-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
}
}