Example #1
0
 public function testDepths()
 {
     $project_data = new ProjectData();
     $depths = $project_data->getDepths(1);
     $this->assertNotNull($depths);
     print_r($depths);
 }
 public function excelExport($project_id)
 {
     PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized;
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->createSheet(0);
     $objPHPExcel->setActiveSheetIndex(0);
     //设置第一个内置表
     $objActSheet = $objPHPExcel->getActiveSheet();
     // 获取当前活动的表
     $objActSheet->setTitle('项目总体数据表');
     //获取项目下的所有成员id
     $examinee = $this->modelsManager->createBuilder()->columns(array('number', 'id', 'state', 'name'))->from('Examinee')->where('Examinee.type = 0 AND Examinee.project_id =  ' . $project_id)->getQuery()->execute()->toArray();
     //异常处理
     if (empty($examinee)) {
         throw new Exception('项目的被试人数为0,无法进行项目数据表生成');
     }
     $members_not_finished = array();
     foreach ($examinee as $value) {
         if ($value['state'] < 4) {
             $members_not_finished[$value['number']] = $value['name'];
         }
     }
     if (!empty($members_not_finished)) {
         $list = '项目中部分成员未完成测评过程,如下:<br/>';
         foreach ($members_not_finished as $key => $value) {
             $list .= $key . ':' . $value . '<br/>';
         }
         throw new Exception(print_r($list, true));
     }
     $i = 0;
     $result = new ProjectData();
     $start_column = 'D';
     $last = 'D';
     $last_data = null;
     foreach ($examinee as $examinee_info) {
         $data = array();
         $data = $result->getindividualComprehensive($examinee_info['id']);
         if ($i === 0) {
             $this->makeTable($data, $objActSheet);
         }
         $last = $start_column;
         $last_data = $data;
         $this->joinTable($data, $objActSheet, $start_column++, $examinee_info['number']);
         $i++;
     }
     // 计算平均值
     $this->joinAvg($objActSheet, $last_data, 'D', $last);
     //根据项目第一人成绩统计打表
     //循环写入每个人的成绩
     $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
     $file_name = './tmp/' . $project_id . '_project_data.xls';
     $objWriter->save($file_name);
     return $file_name;
 }
Example #3
0
 function indexAction()
 {
     $view = $this->getView();
     $view->assign('home', true);
     $view->assign('site_title', 'CalPalyn: Quaternary Paleoecology Lab');
     // call project model
     $rows = Project::Q()->exec();
     //Not the most efficient but since there are handful of users
     $users = User::Q()->exec();
     foreach ($users as $user) {
         $u[$user->id] = array('email' => $user->email, 'first_name' => $user->first_name);
     }
     error_log(print_r($rows, true));
     foreach ($rows as $row) {
         $d[] = array('id' => $row->id, 'name' => $row->name, 'user_info' => "<a class='tip' name='#'>" . $u[$row->created_by]['first_name'] . "<span>" . $u[$row->created_by]['email'] . "</span></a>", 'desc' => $row->description);
         $p[$row->id] = array('name' => $row->name, 'description' => $row->description);
         error_log(print_r($d, true));
     }
     $view->assign('projects', $d);
     $view->assign('projects_info', $p);
     // Get list of taxons
     Pfw_Loader::loadModel('Taxon');
     $txs = Taxon::Q()->exec();
     //objp($txs);
     foreach ($txs as $t) {
         $taxons[$t->type] = $t->name;
     }
     //objp($taxons);
     error_log("Taxons are " . print_r($taxons, true));
     $view->assign('taxons', $taxons);
     if (isset($_REQUEST['pid']) and !empty($_REQUEST['pid'])) {
         Pfw_Loader::loadModel('ProjectData');
         $key_data = ProjectData::Q()->getKeyValuesForProject($_REQUEST['pid']);
         $chart_data = $key_data['chart_data'];
         foreach ($chart_data as $cdk => $cdv) {
             $depth_values = array_keys($cdv);
             $taxon_values = array_values($cdv);
             $chart_values[$cdk] = array('depth_min' => min($depth_values), 'depth_max' => max($depth_values), 'taxon_min' => min($taxon_values), 'taxon_max' => max($taxon_values), 'depths' => self::_extendedEncode($depth_values, max($depth_values)), 'taxon_values' => self::_extendedEncode($taxon_values, max($taxon_values)));
         }
         #objp($chart_values);
         $view->assign('chart_data', $chart_values);
         $view->assign('field_names', $key_data['field_names']);
         $view->assign('project_data', $key_data['data']);
         $view->assign('project_id', $_REQUEST['pid']);
         $view->assign('depths', $key_data['depths']);
         $view->assign('debug', print_r($view->get_template_vars(), true));
     }
     $view->display(array('layout' => 'layouts/main.tpl', 'body' => 'home/index.tpl'));
 }
Example #4
0
 public function getProject()
 {
     return ProjectData::getById($this->project_id);
 }
<?php

$category = ProjectData::getById($_GET["id"]);
$category->del();
Core::redir("./index.php?view=projects");
Example #6
0
<?php

$pacients = ProjectData::getAll();
$medics = CategoryData::getAll();
?>

<div class="row">
<div class="col-md-10">
<h1>Nueva Tarea</h1>
<form class="form-horizontal" role="form" method="post" action="./?action=addtask">
<div class="form-group">
    <label for="inputEmail1" class="col-lg-2 control-label">Titulo</label>
    <div class="col-lg-10">
      <input type="text" name="title" required class="form-control" id="inputEmail1" placeholder="Titulo">
    </div>
  </div>
  <div class="form-group">
    <label for="inputEmail1" class="col-lg-2 control-label">Descripcion</label>
    <div class="col-lg-10">
    <textarea class="form-control" rows="5" name="description" placeholder="Descripcion"></textarea>
    </div>
  </div>

  <div class="form-group">
    <label for="inputEmail1" class="col-lg-2 control-label">Proyecto</label>
    <div class="col-lg-4">
<select name="project_id" class="form-control">
<option value="">-- SELECCIONE --</option>
  <?php 
foreach ($pacients as $p) {
    ?>
<?php

$user = ProjectData::getById($_GET["id"]);
?>
<div class="row">
	<div class="col-md-12">
	<h1>Editar Ministerio</h1>
	<br>
		<form class="form-horizontal" method="post" id="addproduct" action="index.php?view=updateproject" role="form">


  <div class="form-group">
    <label for="inputEmail1" class="col-lg-2 control-label">Nombre*</label>
    <div class="col-md-6">
      <input type="text" name="name" value="<?php 
echo $user->name;
?>
" class="form-control" id="name" placeholder="Nombre">
    </div>
  </div>

  <div class="form-group">
    <div class="col-lg-offset-2 col-lg-10">
    <input type="hidden" name="user_id" value="<?php 
echo $user->id;
?>
">
      <button type="submit" class="btn btn-primary">Actualizar Proyecto</button>
    </div>
  </div>
</form>
<div class="row">
	<div class="col-md-12">
<div class="btn-group pull-right">
	<a href="index.php?view=newproject" class="btn btn-default"><i class='fa fa-th-list'></i> Nuevo Ministerio</a>
</div>
		<h1>Ministerios</h1>
<br>
		<?php 
$users = ProjectData::getAll();
if (count($users) > 0) {
    // si hay usuarios
    ?>

			<table class="table table-bordered table-hover">
			<thead>
			<th>Nombre</th>
			<th>Opciones</th>
			</thead>
			<?php 
    foreach ($users as $user) {
        ?>
				<tr>
				<td><?php 
        echo $user->name . " " . $user->lastname;
        ?>
</td>
				<td style="width:190px;"><a href="index.php?view=projecthistory&id=<?php 
        echo $user->id;
        ?>
" class="btn btn-default btn-xs">Historial</a> <a href="index.php?view=editproject&id=<?php 
        echo $user->id;
<?php

$pacient = ProjectData::getById($_GET["id"]);
?>
<div class="row">
	<div class="col-md-12">
<div class="btn-group pull-right">
<!--<div class="btn-group pull-right">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
    <i class="fa fa-download"></i> Descargar <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu">
    <li><a href="report/clients-word.php">Word 2007 (.docx)</a></li>
  </ul>
</div>
-->
</div>
		<h1>Historial de Eventos</h1>
<h4>Ministerio: <?php 
echo $pacient->name;
?>
</h4>

<br>
		<?php 
$users = EventData::getAllByProjectId($_GET["id"]);
if (count($users) > 0) {
    // si hay usuarios
    ?>
			<table class="table table-bordered table-hover">
			<thead>
<?php

if (count($_POST) > 0) {
    $user = ProjectData::getById($_POST["user_id"]);
    $user->name = $_POST["name"];
    $user->update();
    print "<script>window.location='index.php?view=projects';</script>";
}
<?php

if (count($_POST) > 0) {
    $user = new ProjectData();
    $user->name = $_POST["name"];
    $user->add();
    print "<script>window.location='index.php?view=projects';</script>";
}
Example #12
0
 public function __construct($directory, $cli, $regex)
 {
     parent::__construct($directory, $cli, $regex);
     $this->_regex = $regex;
 }