public function actionListar()
 {
     $idSesion = Yii::app()->user->id;
     if (!is_null($idSesion)) {
         $objUsuario = new Usuarios();
         $usuario = $objUsuario->findByPk($idSesion);
         $this->user = $usuario;
         $model = new Propuestas("search");
         $model->unsetAttributes();
         if (isset($_GET['Propuestas'])) {
             $model->attributes = $_GET['Propuestas'];
         }
         $criteria = new CDbCriteria();
         $criteria->compare('nombre', $model->nombre, true);
         $criteria->compare('representante', $model->representante, true);
         if ($usuario->roles_id == "3") {
             $criteria->addCondition("jurado_id=" . $usuario->jurados[0]->id);
         }
         $dataProvider = new CActiveDataProvider($model, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'id ASC'), 'pagination' => array('pageSize' => 20)));
     } else {
         $this->redirect(array('site/login'));
     }
     $this->render('listar', array('model' => $model, 'dataProvider' => $dataProvider));
 }
 public function actionRegistro()
 {
     if (!count($_POST)) {
         $this->redirect('terminos');
     }
     if (!isset(Yii::app()->session['dir'])) {
         Yii::app()->session['dir'] = md5(time());
     }
     $subgenero = isset($_POST["subgenero"]) ? $_POST["subgenero"] : null;
     $otrosOtro = isset($_POST["otrosOtro"]) ? $_POST["otrosOtro"] : null;
     //OJO: Verificar que llegue el checkbox de la página anterior (convocatoria)
     //o en su defecto los datos del formulario para validar
     $objFormularioRegistro = new RegistroForm();
     //print_r($_POST['RegistroForm']);
     if (isset($_POST['RegistroForm'])) {
         $objFormularioRegistro->attributes = $_POST['RegistroForm'];
         if (isset(Yii::app()->session['dir'])) {
             $dir = Yii::app()->session['dir'];
         }
         if ($objFormularioRegistro->validate()) {
             $objUsuario = new Usuarios();
             $transaction = $objUsuario->dbConnection->beginTransaction();
             $objUsuario->username = $objFormularioRegistro->username;
             $objUsuario->password = Bcrypt::hash($objFormularioRegistro->password);
             $objUsuario->estado = 1;
             $objUsuario->roles_id = 1;
             if (!$objUsuario->save(false)) {
                 $transaction->rollback();
             }
             $idUsuario = $objUsuario->getPrimaryKey();
             $objPerfiles = new Perfiles();
             $objPerfiles->nombre = $objFormularioRegistro->nombrePropuesta;
             $objPerfiles->slug = $this->createSlug($objFormularioRegistro->nombrePropuesta);
             $objPerfiles->resena = $objFormularioRegistro->resena;
             $objPerfiles->web = $objFormularioRegistro->web;
             $objPerfiles->usuarios_id = $idUsuario;
             $objPerfiles->areas_id = $objFormularioRegistro->area;
             if (!$objPerfiles->save(false)) {
                 $transaction->rollback();
             }
             $idPerfil = $objPerfiles->getPrimaryKey();
             $objRedesHasPerfil = new RedesHasPerfiles();
             $objRedesHasPerfil->redes_id = 1;
             $objRedesHasPerfil->perfiles_id = $idPerfil;
             $objRedesHasPerfil->url = $objFormularioRegistro->twitter;
             if (!$objRedesHasPerfil->save(false)) {
                 $transaction->rollback();
             }
             $objRedesHasPerfil = new RedesHasPerfiles();
             $objRedesHasPerfil->redes_id = 2;
             $objRedesHasPerfil->perfiles_id = $idPerfil;
             $objRedesHasPerfil->url = $objFormularioRegistro->fb;
             if (!$objRedesHasPerfil->save(false)) {
                 $transaction->rollback();
             }
             if (is_dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/foto_perfil/')) {
                 $directorio = dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/foto_perfil/');
                 while ($archivo = $directorio->read()) {
                     if ($archivo !== "." && $archivo !== ".." && $archivo !== "thumbnail") {
                         $fotoPerfil = Yii::app()->request->baseUrl . '/files/' . $dir . '/foto_perfil/' . $archivo;
                         $imgData = getimagesize(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/foto_perfil/' . $archivo);
                         $objFotos = new Fotos();
                         $titulo = explode('.', $archivo);
                         $objFotos->titulo = $titulo[0];
                         $objFotos->src = $fotoPerfil;
                         $objFotos->thumb = Yii::app()->request->baseUrl . '/files/' . $dir . '/foto_perfil/thumbnail/' . $archivo;
                         $objFotos->ancho = $imgData[0];
                         $objFotos->alto = $imgData[1];
                         $objFotos->es_perfil = 1;
                         $objFotos->estado = 1;
                         $objFotos->perfiles_id = $idPerfil;
                         if (!$objFotos->save(false)) {
                             $transaction->rollback();
                         }
                         break;
                     }
                 }
                 $directorio->close();
             }
             if (is_dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/fotos/')) {
                 $directorio = dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/fotos/');
                 while ($archivo = $directorio->read()) {
                     if ($archivo !== "." && $archivo !== ".." && $archivo !== "thumbnail") {
                         $foto = Yii::app()->request->baseUrl . '/files/' . $dir . '/fotos/' . $archivo;
                         $objFotos = new Fotos();
                         $titulo = explode('.', $archivo);
                         $objFotos->titulo = $titulo[0];
                         $objFotos->src = $foto;
                         $imgData = getimagesize(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/fotos/' . $archivo);
                         $objFotos->ancho = $imgData[0];
                         $objFotos->alto = $imgData[1];
                         $objFotos->thumb = Yii::app()->request->baseUrl . '/files/' . $dir . '/fotos/thumbnail/' . $archivo;
                         $objFotos->es_perfil = 0;
                         $objFotos->estado = 1;
                         $objFotos->perfiles_id = $idPerfil;
                         if (!$objFotos->save(false)) {
                             $transaction->rollback();
                         }
                     }
                 }
                 $directorio->close();
             }
             if (is_dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/audios/')) {
                 $directorio = dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/audios/');
                 while ($archivo = $directorio->read()) {
                     if ($archivo !== "." && $archivo !== ".." && $archivo !== "thumbnail") {
                         $url = Yii::app()->request->baseUrl . '/files/' . $dir . '/audios/' . $archivo;
                         $objAudio = new Audios();
                         $titulo = explode('.', $archivo);
                         $objAudio->nombre = $titulo[0];
                         $objAudio->url = $url;
                         $objAudio->estado = 1;
                         $objAudio->perfiles_id = $idPerfil;
                         if (!$objAudio->save(false)) {
                             $transaction->rollback();
                         }
                     }
                 }
                 $directorio->close();
             }
             $objPropuesta = new Propuestas();
             $objPropuesta->nombre = $objFormularioRegistro->nombrePropuesta;
             $objPropuesta->representante = $objFormularioRegistro->representante;
             $objPropuesta->cedula = $objFormularioRegistro->cedula;
             $objPropuesta->telefono = $objFormularioRegistro->telefono;
             $objPropuesta->celular = $objFormularioRegistro->celular;
             $objPropuesta->email = $objFormularioRegistro->email;
             $objPropuesta->direccion = $objFormularioRegistro->direccion;
             $objPropuesta->trayectoria = $objFormularioRegistro->trayectoria;
             $objPropuesta->numero_integrantes = $objFormularioRegistro->numeroIntegrantes;
             $objPropuesta->resena = $objFormularioRegistro->resena;
             $objPropuesta->video = $objFormularioRegistro->video;
             $objPropuesta->estado = 1;
             $objPropuesta->valor_presentacion = $objFormularioRegistro->valor;
             $objPropuesta->subgenero = empty($subgenero) ? $otrosOtro : $subgenero;
             if (is_dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/rider/')) {
                 $directorio = dir(Yii::getPathOfAlias('webroot') . '/files/' . $dir . '/rider/');
                 while ($archivo = $directorio->read()) {
                     if ($archivo !== "." && $archivo !== ".." && $archivo !== "thumbnail") {
                         $archivoRider = Yii::app()->request->baseUrl . '/files/' . $dir . '/rider/' . $archivo;
                         break;
                     }
                 }
                 $directorio->close();
             }
             $objPropuesta->rider = $archivoRider;
             $objPropuesta->convocatorias_id = 1;
             $objPropuesta->perfiles_id = $idPerfil;
             if ($objPropuesta->save(false)) {
                 $transaction->commit();
                 $this->redirect('exito');
             } else {
                 $transaction->rollback();
             }
         }
     }
     //OJO cuando se guarden los datos exitosamente se debe llevar a otra pantalla.
     $this->pageTitle = "Registro Artístas";
     $this->render('registro', array('subgenero' => $subgenero, 'otrosOtro' => $otrosOtro, 'formulario' => $objFormularioRegistro));
 }
 public function actionContactar()
 {
     if (isset($_POST['ContactForm']['propuesta'])) {
         $propuesta = Propuestas::model()->findByAttributes(array('perfiles_id' => $_POST['ContactForm']['propuesta']));
         $mContacto = new ContactForm();
         $mContacto->attributes = $_POST['ContactForm'];
         $correo = new YiiMailer();
         $correo->setView('contacto');
         $correo->setData(array('datos' => $mContacto, 'propuesta' => $propuesta));
         $correo->render();
         $correo->Subject = $mContacto->asunto;
         $correo->AddAddress($propuesta->email);
         $correo->From = $mContacto->email;
         $correo->FromName = $mContacto->nombre;
         if ($correo->Send()) {
             Yii::app()->user->setFlash('success', "El mensaje se ha enviado correctamente.");
         } else {
             Yii::app()->user->setFlash('success', "El mensaje no se pudo enviar, por favor intentelo nuevamente.");
         }
     }
     $this->redirect(Yii::app()->request->urlReferrer);
 }