public function authenticate() { // Inicio Login sin contraseña if ($this->password === '') { $eva = Evaluacion::model()->findByAttributes(array('usu_rut' => $this->username)); if (!$eva) { $this->errorCode = self::ERROR_USERNAME_INVALID; } else { var_dump($eva); $this->_id = $eva->usu_rut; $this->username = '******'; $this->setState('rol', 'view'); $this->setState('rut', $eva->usu_rut); $this->setState('empresa', $eva->emp_rut); $this->errorCode = self::ERROR_NONE; return !$this->errorCode; } } //Inicio Login Normal $user = Usuario::model()->findByPk($this->username); if (!$user) { $this->errorCode = self::ERROR_USERNAME_INVALID; } elseif ($user->usu_password !== md5($this->password)) { $this->errorCode = self::ERROR_PASSWORD_INVALID; } else { // Guarda variables de session $this->_id = $user->usu_rut; $this->username = $user->usu_rol; $this->setState('rol', $user->usu_rol); $this->setState('rut', $user->usu_rut); $this->setState('nombre', $user->usu_rol); $this->setState('empresa', $user->emp_rut); $this->errorCode = self::ERROR_NONE; $user->newRecords(); } return !$this->errorCode; }
/** * 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 $id the ID of the model to be loaded * @return Evaluacion the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Evaluacion::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function actionExcel() { Yii::import('ext.phpexcel.XPHPExcel'); $objPHPExcel = XPHPExcel::createPHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("")->setCategory(""); if (Usuario::model()->findByPk(Yii::app()->user->id)->usu_rol == "admins") { $var = Evaluacion::model()->findAll(); } else { $var = Evaluacion::model()->findAllByAttributes(array('emp_rut' => Usuario::model()->findByPk(Yii::app()->user->id)->emp_rut)); } foreach ($var as $key => $value) { if (Telefono::model()->findByAttributes(array('tel_numero' => $value->tel_numero, 'emp_rut' => $value->emp_rut)) != null) { $fono = Telefono::model()->findByAttributes(array('tel_numero' => $value->tel_numero, 'emp_rut' => $value->emp_rut))->tel_mac; } else { $fono = null; } $var2 = EvaluacionPregunta::model()->findAllByAttributes(array('eva_id' => $value->eva_id)); // datos de las respuestas a la evaluacion a imprimir $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . ($key + 2), $key + 1)->setCellValue('B' . ($key + 2), $value->eva_fecha)->setCellValue('C' . ($key + 2), $value->usu_rut)->setCellValue('D' . ($key + 2), $value->emp_rut)->setCellValue('E' . ($key + 2), $value->emp_nombre)->setCellValue('F' . ($key + 2), $value->tel_numero)->setCellValue('G' . ($key + 2), $fono); $c = 7; $k = 0; $j = null; foreach ($var2 as $key2 => $value2) { if (Pregunta::model()->findByPk($value2->pre_id) != null) { $descripcion = Pregunta::model()->findByPk($value2->pre_id)->pre_descripcion; if ($value2->pre_respuesta) { $respuesta = "SI"; } else { $respuesta = "NO"; } } else { $descripcion = "Sin resultados"; } if ($c + $key2 > 25) { $j = intval(($c + $key2) / 26); $k = ($c + $key2) % 26; } if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($key2 + 65 + $c) . ($key + 2), $descripcion); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . ($key + 2), $descripcion); } $c++; if ($c + $key2 > 25) { $j = intval(($c + $key2) / 26); $k = ($c + $key2) % 26; } if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($key2 + 65 + $c) . ($key + 2), $respuesta); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . ($key + 2), $respuesta); } } } $j = null; $k = 0; $c = 1; for ($i = 7; $i < 107; $i++) { if ($i > 25) { $j = intval($i / 26); $k = $i - intval($i / 26) * 26; } if ($i % 2 != 0) { if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($i + 65) . '1', "Pregunta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($i + 65))->setWidth(50); } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . '1', "Pregunta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($j + 64) . chr($k + 65))->setWidth(50); } } else { if ($j == null) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($i + 65) . '1', "Respuesta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($i + 65))->setWidth(15); $c++; } else { $objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($j + 64) . chr($k + 65) . '1', "Respuesta" . " " . $c); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(chr($j + 64) . chr($k + 65))->setWidth(15); $c++; } } } $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'N°')->setCellValue('B1', 'fecha')->setCellValue('C1', 'Usuario')->setCellValue('D1', 'Rut Empresa')->setCellValue('E1', 'Empresa')->setCellValue('F1', 'N° Telefono')->setCellValue('G1', 'Mac Telefono'); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(10); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(20); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(25); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5) header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="informe.xls"'); header('Cache-Control: max-age=0'); // If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; }
data: data, color: 'white' }], exporting: { enabled: false } }); }); }); </script> <h1>Resultado</h1> <?php $evaluacion = Evaluacion::model()->findByAttributes(array('id_evaluacion' => $evaluacion_id)); $matriz = Matriz::model()->findByAttributes(array('id_matriz' => $evaluacion->id_matriz)); $niveles = Nivel::model()->findAll(); $nive = array(); $resultado_graficar = array(); $repuestas_y_caracteristica = Yii::app()->db->createCommand("SELECT a.id_pregunta id_pregunta, a.id_respuesta metrica, " . "b.id_caracteristica caracteristica, c.valor valor " . "FROM resultado a " . "LEFT JOIN pregunta b ON a.id_pregunta = b.id_pregunta " . "LEFT JOIN metrica c ON a.id_respuesta = c.id_metrica " . "WHERE id_evaluacion = " . $evaluacion_id)->queryAll(); foreach ($niveles as $n) { $respuestas = 0; $valor_por_nivel = 0; $id_pregunta_array = array(); foreach ($repuestas_y_caracteristica as $ryc) { $repuestas_y_caracteristica2 = Yii::app()->db->createCommand(" SELECT a.id_caracteristica id_caracteristica " . "FROM caracteristica a " . "WHERE id_caracteristica in (" . $ryc['caracteristica'] . ") and id_nivel=" . $n['id_nivel'])->queryAll(); if (count($repuestas_y_caracteristica2) >= 1) { $respuestas++; $id_pregunta_array[] = $ryc['id_pregunta']; $resultados_por_nivel = Yii::app()->db->createCommand(" SELECT * " . "FROM resultado a " . "LEFT JOIN metrica b ON a.id_respuesta = b.id_metrica " . "WHERE a.id_pregunta=" . $ryc['id_pregunta'] . " and a.id_evaluacion = " . $evaluacion_id)->queryAll();
public function actionCuestionario() { $id_evaluacion = $_GET['id_evaluacion']; $evaluacion = Evaluacion::model()->findByAttributes(array('id_evaluacion' => $id_evaluacion)); $aspectos = Yii::app()->db->createCommand("SELECT * FROM aspecto WHERE id_matriz=" . $evaluacion->id_matriz)->queryAll(); $todas_carac = array(); foreach ($aspectos as $carac) { $todas_carac[] = $carac['id_aspecto']; } $separado_por_comas = implode(",", $todas_carac); $preguntas = Yii::app()->db->createCommand("SELECT * FROM pregunta WHERE id_aspecto in (" . $separado_por_comas . ")")->queryAll(); $todas_preguntas = array(); foreach ($preguntas as $preg) { $todas_preguntas[] = $preg['id_pregunta']; } $separado_por_comas_preg = implode(",", $todas_preguntas); $posibles_respuestas = Yii::app()->db->createCommand("SELECT * FROM opcion_respuesta WHERE id_pregunta in (" . $separado_por_comas_preg . ")")->queryAll(); $todas_respuestas = array(); foreach ($posibles_respuestas as $pr) { $todas_respuestas[] = $pr['id_respuesta']; } $separado_por_comas_re = implode(",", $todas_respuestas); $this->render("cuestionario", array("preguntas_basa" => $preguntas, "mode1" => $evaluacion, "id" => $id_evaluacion, "comas" => $separado_por_comas, "comas2" => $separado_por_comas_preg, "comas3" => $separado_por_comas_re)); }
<?php $stylesheet = ' <link rel="stylesheet" type="text/css" href="' . Yii::app()->request->baseUrl . '/css/mpdf.css" /> <link rel="stylesheet" type="text/css" href="' . Yii::app()->request->baseUrl . '/css/bootstrap.cerulean.min.css" /> <body>'; $var = Evaluacion::model()->findByPk($_GET['id']); // Contiene datos de la Evaluacion a imprimir $var2 = EvaluacionPregunta::model()->findAllByAttributes(array('eva_id' => $var->eva_id)); // datos de las respuestas a la evaluacion a imprimir $var3; foreach ($var2 as $key => $value) { $var3[$key] = Pregunta::model()->findByPk($value->pre_id); } $table = ""; foreach ($var2 as $key => $value) { $respuesta = ""; if ($value->pre_respuesta) { $respuesta = "SI"; } else { $respuesta = "NO"; } $table .= "<tr><td>" . ("<center>" . BsHtml::bold($key + "1", $htmlOptions = array('style' => 'font-size:110%;color:#000;'))) . "</td>\n <td>" . ("<center>" . BsHtml::imageThumbnail(Yii::app()->request->baseUrl . "/images/pregunta/" . str_replace("/upload/preguntas/default/", '', $var3[$key]->pre_imagen), '', $htmlOptions = array('style' => 'width: 110px; height: 110px;margin-top: 5px;margin-bottom: 5px;border:1px solid #dddddd;'))) . "</td>\n <td>" . ("<center>" . BsHtml::bold($var3[$key]->pre_descripcion, $htmlOptions = array('style' => 'font-size:110%;color:#000;')) . "<br>" . BsHtml::italics('"' . $var3[$key]->pre_comentario . '"', $htmlOptions = array('style' => 'font-size:90%;'))) . "</td>\n <td>" . ("<center>" . BsHtml::bold($var3[$key]->tpr_nombre, $htmlOptions = array('style' => 'font-size:110%;color:#000;'))) . "</td>\n <td>" . ("<center>" . BsHtml::bold($respuesta, $htmlOptions = array('style' => 'font-size:110%;color:#000;'))) . "</td></tr>"; } // $header= BsHtml::pageHeader("Informe - Evaluación","<br>" .$var['emp_nombre']." - "."Usuario ".$var['usu_rut']); $html = '<table class="table table-bordered table-striped"> <thead> <tr> <th style="width:20px"><center>#</th> <th style="width:150px"><center>Imagen</th> <th><center>Descripción</th>