Пример #1
0
 public function actionBirthdays()
 {
     $model = new People();
     if (isset($_POST['period'])) {
         header("Content-Type: application/vnd.ms-excel; charset=utf-8");
         header("Content-Disposition: inline; filename=\"birthdays-report.xls\"");
         $dt = $_POST['People']['dob'];
         $dt = date('Y-m-d', CDateTimeParser::parse($dt, Yii::app()->locale->getDateFormat('short')));
         $period = $_POST['period'];
         $nxt_bday = "MAKEDATE(YEAR('{$dt}')+IF(DAYOFYEAR(t.dob)<DAYOFYEAR('{$dt}'),1,0),DAYOFYEAR(t.dob))";
         $cond = "{$nxt_bday} BETWEEN '{$dt}' AND '{$dt}' + INTERVAL 1 {$period} ORDER BY {$nxt_bday}";
         Yii::trace("R.birthdays dt={$dt}, period={$period}, cond={$cond}", 'application.controllers.ReportController');
         $crit = new CDbCriteria();
         $crit->addCondition($cond);
         $dataProvider = new CActiveDataProvider('People', array('criteria' => $crit));
         $dataProvider->pagination = false;
         $fields = array('id', 'fname', 'lname', 'dob', 'mobile');
         $labels = $model->attributeLabels();
         $fval = array();
         foreach ($fields as $field) {
             array_push($fval, $labels[$field]);
         }
         echo implode("\t", $fval) . "\n";
         foreach ($dataProvider->data as $data) {
             $fval = array();
             foreach ($fields as $field) {
                 array_push($fval, $data->{$field});
             }
             echo implode("\t", $fval) . "\n";
         }
         Yii::app()->end();
         return;
     }
     $this->render('birthdays', array('model' => $model));
 }
Пример #2
0
 /**
  * Manages all models.
  */
 public function actionAdmin()
 {
     $model = new People('search');
     $model->unsetAttributes();
     // clear any default values
     if (isset($_GET['People'])) {
         $model->attributes = $_GET['People'];
     }
     if (isset($_GET['export'])) {
         header("Content-Type: application/vnd.ms-excel; charset=utf-8");
         header("Content-Disposition: inline; filename=\"people-report.xls\"");
         $dataProvider = $model->search();
         $dataProvider->pagination = false;
         $fields = array('id', 'fname', 'lname', 'dob', 'mobile');
         $labels = $model->attributeLabels();
         $fval = array();
         foreach ($fields as $field) {
             array_push($fval, $labels[$field]);
         }
         echo implode("\t", $fval) . "\n";
         foreach ($dataProvider->data as $data) {
             $fval = array();
             foreach ($fields as $field) {
                 array_push($fval, $data->{$field});
             }
             echo implode("\t", $fval) . "\n";
         }
         Yii::app()->end();
     }
     $ac = People::getAutoCompleteFields();
     $this->render('admin', array('model' => $model, 'ac' => $ac));
 }