Ejemplo n.º 1
0
 public static function getCommentProgram($thread_id)
 {
     $comment = Comment::model()->findByPk($thread_id);
     if (isset($comment) && !is_null($comment)) {
         $prod = Program::model()->findByPk($comment->content_id);
         return array('id' => $prod->id, 'name' => $prod->name, 'poster' => $prod->poster, 'type' => $prod->pro_type);
     }
     return array('id' => '', 'name' => '', 'poster' => '', 'type' => '');
 }
Ejemplo n.º 2
0
 public function actionGetProgram()
 {
     if (Yii::app()->request->isAjaxRequest) {
         if ($_POST) {
             $dataProgram = Program::model()->findAll('tahun_anggaran=:tahun_anggaran AND status = 0', array(':tahun_anggaran' => $_POST['tahun_anggaran']));
             $this->renderPartial('_program', array('dataProgram' => $dataProgram));
         }
     }
 }
Ejemplo n.º 3
0
 public function actionDoctor()
 {
     if (isset($_GET['id'])) {
         $model = Program::model()->findByPk($_GET['id']);
         $this->render('detail', array('model' => $model));
     } else {
         $criteria = new CDbCriteria();
         $criteria->select = '*';
         $criteria->condition = 'status = 1 AND program_type=\'Doctor\'';
         $criteria->order = 'sort_order';
         $total = Program::model()->count($criteria);
         $pages = new CPagination($total);
         $pages->setPageSize(20);
         $pages->applyLimit($criteria);
         $model = Program::model()->findAll($criteria);
         $this->render('doctor', array('model' => $model, 'pages' => $pages));
     }
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'review' page.
  */
 public function actionCreate($programId = null, $semesterId = null)
 {
     $this->areaSmall = 'New Post';
     Yii::log($this->module->basePath);
     $college = College::getUserCollege();
     $this->forumBreadcrumb = array('Programs' => array('forum/index'));
     if ($programId) {
         $program = Program::model()->findByPk($programId);
         $this->programId = $programId;
         $this->forumBreadcrumb = array_merge($this->forumBreadcrumb, array($program->program_name => array('forum/programView', 'programId' => $programId)));
     }
     if ($semesterId) {
         $semester = Semester::model()->findByPk($semesterId);
         $this->semesterId = $semesterId;
         $this->forumBreadcrumb = array_merge($this->forumBreadcrumb, array($semester->semester_name => array('forum/viewTopics', 'programId' => $programId, 'semesterId' => $semesterId)));
     }
     $this->forumBreadcrumb = array_merge($this->forumBreadcrumb, array('New Post'));
     $model = new ThreadForm($college->college_id);
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['PostItem'])) {
         $model->postItem->attributes = $_POST['PostItem'];
         $model->thread->attributes = $_POST['Thread'];
         $fileUpload = CUploadedFile::getInstance($model->thread, 'attachment');
         Yii::log(CVarDumper::dumpAsString($fileUpload));
         if ($fileUpload !== null) {
             $model->thread->attachment = $fileUpload;
         }
         if ($model->validate()) {
             if ($model->save()) {
                 if ($fileUpload !== null) {
                     $model->thread->attachment->saveAs($this->module->basePath . '/files/' . $model->thread->attachment . "_" . $model->thread->getPrimaryKey());
                 }
                 //$model->thread->attachment->saveAs(Yii::app()->basePath . '/../files/' . $model->thread->attachment);
                 $this->redirect(array('review', 'id' => $model->postItem->post_item_id));
                 exit;
             } else {
                 Yii::app()->user->setFlash('error', 'Unable to post your thread.');
             }
         }
     }
     $this->render('create', array('model' => $model, 'collegeId' => $college->college_id));
 }
Ejemplo n.º 5
0
<?php

$this->breadcrumbs = array($model->label(2) => array('index'), Yii::t('app', 'Manage'));
$this->menu = array(array('label' => Yii::t('app', 'List') . ' ' . $model->label(2), 'url' => array('index')), array('label' => Yii::t('app', 'Create') . ' ' . $model->label(), 'url' => array('create')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$.fn.yiiGridView.update('voucher-type-grid', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>

<h1><?php 
echo Yii::t('app', 'Manage') . ' ' . GxHtml::encode($model->label(2));
?>
</h1>

<p>
You may optionally enter a comparison operator (&lt;, &lt;=, &gt;, &gt;=, &lt;&gt; or =) at the beginning of each of your search values to specify how the comparison should be done.
</p>

<?php 
echo GxHtml::link(Yii::t('app', 'Advanced Search'), '#', array('class' => 'search-button'));
?>
<div class="search-form">
<?php 
$this->renderPartial('_search', array('model' => $model));
?>
</div><!-- search-form -->

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'voucher-type-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array('id', 'name', 'create_date', 'deleted_at', array('name' => 'program_id', 'value' => 'GxHtml::valueEx($data->program)', 'filter' => GxHtml::listDataEx(Program::model()->findAllAttributes(null, true))), 'arabic_text', array('class' => 'CButtonColumn'))));
Ejemplo n.º 6
0
 public function actionEditLayanan()
 {
     if ($_POST) {
         Yii::app()->user->returnUrl = Yii::app()->request->urlReferrer;
         $dataLayanan = Layanan::model()->find('id=:id AND id_program=:id_program ', array(':id' => $_POST['id'], ':id_program' => $_POST['id_program']));
         $dataMaxTarget = Program::model()->find('id=:id', array(':id' => $_POST['id_program']));
         $this->render('formeditLayanan', array('dataLayanan' => $dataLayanan, 'dataMaxTarget' => $dataMaxTarget));
     }
 }
 public function actionSearchTopics($string, $progId = null, $semesterId = null)
 {
     $college = College::getUserCollege();
     $this->areaLarge = $college->college_name;
     $this->areaSmall = Yii::t('forum', 'forum.area.search');
     if (!empty($progId)) {
         $this->areaSmall .= " (In " . Program::model()->findByPk($progId)->program_name;
         if (!empty($semesterId)) {
             $this->areaSmall .= " / " . Semester::model()->findByPk($semesterId)->semester_name;
         }
         $this->areaSmall .= " )";
     }
     $this->canPost = false;
     Yii::log($string);
     $threads = Thread::model()->searchTopics($string, $college->college_id, $progId, $semesterId);
     Yii::log(CVarDumper::dumpAsString($threads));
     $topicRows = array();
     foreach ($threads as $i => $thread) {
         $row = array('id' => $thread['thread_id'], 'topic' => $thread['title'], 'program_name' => $thread['program_name'], 'program' => $thread['program_id'], 'semester' => CHtml::link($thread['semester_name'], array('viewTopics', 'programId' => $thread['program_id'], 'semesterId' => $thread['semester_id'])), 'progCode' => $thread['program_code'], 'postDate' => $thread['date_created'], 'numReplies' => $thread['reply_count']);
         $topicRows[] = $row;
     }
     $gridColumns = array(array('name' => 'topic', 'header' => 'Topic', 'type' => 'raw', 'value' => 'CHtml::link($data["topic"], array("post/readTopic", "id" => $data["id"]));'), array('name' => 'program_name', 'header' => 'Program', 'type' => 'raw', 'value' => 'CHtml::link($data["program_name"], array("programView", "programId" => $data["program"]));'), array('name' => 'semester', 'header' => 'Semester', 'type' => 'raw'), array('name' => 'postDate', 'header' => 'Post Date', 'filter' => false, 'value' => 'Yii::app()->timeagoFormat->timeago(new DateTime($data["postDate"]))'), array('name' => 'numReplies', 'header' => 'Replies', 'filter' => false));
     $filtersForm = new FiltersForm();
     if (isset($_GET['FiltersForm'])) {
         $filtersForm->filters = $_GET['FiltersForm'];
     }
     $filteredData = $filtersForm->filter($topicRows);
     $forumGridData = new CommunityArrayDataProvider(array_values($filteredData), array('sort' => array('attributes' => array('topic', 'program', 'postDate', 'numReplies')), 'pagination' => array('pageSize' => Yii::app()->params['forum_pageSize'])));
     $forumGridData->setPagination(false);
     $this->emptyText = "No topics could be found";
     $this->render('topics', array('gridColumns' => $gridColumns, 'forumGridData' => $forumGridData, 'filtersForm' => $filtersForm));
 }
Ejemplo n.º 8
0
		<?php 
echo $form->labelEx($model, 'name');
?>
		<?php 
echo $form->textField($model, 'name', array('maxlength' => 255));
?>
		<?php 
echo $form->error($model, 'name');
?>
		</div><!-- row -->
		<div class="row">
		<?php 
echo $form->labelEx($model, 'program_id');
?>
		<?php 
echo $form->dropDownList($model, 'program_id', GxHtml::listDataEx(Program::model()->findAllAttributes(null, true)));
?>
		<?php 
echo $form->error($model, 'program_id');
?>
		</div><!-- row -->
		<div class="row">
		<?php 
echo $form->labelEx($model, 'code');
?>
		<?php 
echo $form->textField($model, 'code', array('maxlength' => 10));
?>
		<?php 
echo $form->error($model, 'code');
?>
Ejemplo n.º 9
0
	<div class="row">
		<?php 
echo $form->label($model, 'name');
?>
		<?php 
echo $form->textField($model, 'name', array('maxlength' => 50));
?>
	</div>

	<div class="row">
		<?php 
echo $form->label($model, 'program_id');
?>
		<?php 
echo $form->dropDownList($model, 'program_id', GxHtml::listDataEx(Program::model()->findAllAttributes(null, true)), array('prompt' => Yii::t('app', 'All')));
?>
	</div>

	<div class="row">
		<?php 
echo $form->label($model, 'donor_id');
?>
		<?php 
echo $form->dropDownList($model, 'donor_id', GxHtml::listDataEx(Donor::model()->findAllAttributes(null, true)), array('prompt' => Yii::t('app', 'All')));
?>
	</div>

	<div class="row">
		<?php 
echo $form->label($model, 'online');
Ejemplo n.º 10
0
<?php

$this->breadcrumbs = array($model->label(2) => array('index'), Yii::t('app', 'Manage'));
$this->menu = array(array('label' => Yii::t('app', 'List') . ' ' . $model->label(2), 'url' => array('index')), array('label' => Yii::t('app', 'Create') . ' ' . $model->label(), 'url' => array('create')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$.fn.yiiGridView.update('distribution-grid', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>

<h1><?php 
echo Yii::t('app', 'Manage') . ' ' . GxHtml::encode($model->label(2));
?>
</h1>

<p>
You may optionally enter a comparison operator (&lt;, &lt;=, &gt;, &gt;=, &lt;&gt; or =) at the beginning of each of your search values to specify how the comparison should be done.
</p>

<?php 
echo GxHtml::link(Yii::t('app', 'Advanced Search'), '#', array('class' => 'search-button'));
?>
<div class="search-form">
<?php 
$this->renderPartial('_search', array('model' => $model));
?>
</div><!-- search-form -->

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'distribution-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array('id', 'name', array('name' => 'program_id', 'value' => 'GxHtml::valueEx($data->program)', 'filter' => GxHtml::listDataEx(Program::model()->findAllAttributes(null, true))), array('name' => 'donor_id', 'value' => 'GxHtml::valueEx($data->donor)', 'filter' => GxHtml::listDataEx(Donor::model()->findAllAttributes(null, true))), 'online', 'title_ar', array('class' => 'CButtonColumn'))));
Ejemplo n.º 11
0
 public static function getPersentaseRealisasi($tag, $id)
 {
     if ($tag == "layanan") {
         $counter = 0;
         $dataLayanan = Layanan::model()->find('id=:id', array(':id' => $id));
         $countRealisasi = count($dataLayanan['kegiatan']);
         if ($countRealisasi > 0) {
             foreach ($dataLayanan['kegiatan'] as $key) {
                 foreach ($key->realisasi as $key2) {
                     $counter += $key2->nominal;
                 }
             }
             return intval($counter / $dataLayanan['target'] * 100) . "% ";
         }
         return "0%";
     } else {
         if ($tag == "program") {
             $counter = 0;
             $dataProgram = Program::model()->find('id=:id', array(':id' => $id));
             foreach ($dataProgram['kegiatan'] as $key) {
                 foreach ($key->realisasi as $key2) {
                     $counter += $key2->nominal;
                 }
             }
             return intval($counter / $dataProgram['target'] * 100) . "% ";
         } else {
             if ($tag == "all") {
                 $counter = 0;
                 $counter2 = 0;
                 $dataProgram = Program::model()->findAll('status=:status AND tahun_anggaran=:tahun_anggaran', array(':status' => "1", ':tahun_anggaran' => "2015"));
                 foreach ($dataProgram as $key) {
                     foreach ($key->kegiatan as $key2) {
                         foreach ($key2->realisasi as $key3) {
                             $counter += $key3->nominal;
                         }
                     }
                     $counter2 += $key->target;
                 }
                 return intval($counter / $counter2 * 100) . "% ";
             }
         }
     }
 }
Ejemplo n.º 12
0
 public function actionDownloadV1()
 {
     if (isset($_POST['tahun_anggaran'])) {
         $tahun_anggaran = $_POST['tahun_anggaran'];
     } else {
         $tahun_anggaran = '2015';
     }
     $dataProgram = Program::model()->findAll('status=:status AND tahun_anggaran=:tahun_anggaran', array(':status' => '1', ':tahun_anggaran' => $tahun_anggaran));
     Yii::import('ext.PHPExcel.Classes.PHPExcel');
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setCreator("PPS Universitas Negeri Semarang")->setLastModifiedBy("TIM Web E-POK PPS UNNES")->setTitle("Rekap Kegiatan PPS UNNES Tahun {$tahun_anggaran}");
     // SET THE HEADER DOCUMENT
     for ($m = 0; $m < 12; $m++) {
         // SET THE HEADER DOCUMENT
         $month = date('Y');
         $objPHPExcel->createSheet($m);
         $objPHPExcel->setActiveSheetIndex($m)->setTitle(date('M', mktime(0, 0, 0, $m + 2, 0, 0)));
         // Header Document
         $objPHPExcel->setActiveSheetIndex($m)->mergeCells('A1:L1')->mergeCells('A2:L2')->mergeCells('A3:L3')->mergeCells('A4:L4')->setCellValue('A1', 'LAPORAN REALISASI ALOKASI PENGGUNAAN ANGGARAN')->setCellValue('A2', 'PROGRAM PASCASARJANA UNNES')->setCellValue('A3', 'TAHUN ANGGARAN 2015')->setCellValue('D2', 'world!');
         $objPHPExcel->getActiveSheet()->getStyle('A1:L6')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         $objPHPExcel->getActiveSheet()->getStyle('A1:L6')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
         $objPHPExcel->getActiveSheet()->getStyle('A1:L6')->getAlignment()->setWrapText(true);
         //Header Table
         $objPHPExcel->setActiveSheetIndex($m)->mergeCells('A6:A7')->mergeCells('B6:B7')->mergeCells('C6:G6')->mergeCells('H6:H7')->mergeCells('I6:I7')->mergeCells('J6:J7')->mergeCells('K6:K7')->mergeCells('L6:L7')->setCellValue('A6', 'Kode')->setCellValue('B6', 'Uraian Unit/Program/Kegiatan/Output/Akun Belanja/Detil Belanja')->setCellValue('C6', 'TA 2015')->setCellValue('C7', 'Volume')->setCellValue('D7', 'Satuan')->setCellValue('E7', 'Harga Satuan')->setCellValue('F7', 'Target')->setCellValue('G7', 'SD')->setCellValue('H6', 'Bulan')->setCellValue('I6', 'Realisasi s.d Bulan Ini')->setCellValue('J6', 'Saldo')->setCellValue('K6', '%')->setCellValue('L6', 'Penanggung Jawab');
         $i = 9;
         foreach ($dataProgram as $key) {
             $realisasiProgram = DatabaseUmum::getRealisasiOnMonthFromProgram($key->id, $m);
             $realisasiProgramUntilMonth = DatabaseUmum::getRealisasiUntilMonthFromProgram($key->id, $m);
             $objPHPExcel->getActiveSheet()->setCellValue("A{$i}", $key->kode_program)->setCellValue("B{$i}", $key->nama_program)->setCellValue("C{$i}", "-")->setCellValue("D{$i}", "-")->setCellValue("E{$i}", "-")->setCellValue("F{$i}", $key->target)->setCellValue("G{$i}", "-")->setCellValue("H{$i}", $realisasiProgram)->setCellValue("I{$i}", $realisasiProgramUntilMonth)->setCellValue("J{$i}", "=F{$i}-I{$i}")->setCellValue("K{$i}", "=I{$i}/F{$i} * 100");
             $i++;
             foreach ($key->layanan as $key2) {
                 $realisasiLayanan = DatabaseUmum::getRealisasiOnMonthFromLayanan($key->id, $m);
                 $realisasiLayananUntilMonth = DatabaseUmum::getRealisasiUntilMonthFromLayanan($key->id, $m);
                 $objPHPExcel->getActiveSheet()->setCellValue("A{$i}", $key2->kode_layanan)->setCellValue("B{$i}", $key2->nama_layanan)->setCellValue("C{$i}", "-")->setCellValue("D{$i}", "-")->setCellValue("E{$i}", "-")->setCellValue("F{$i}", $key2->target)->setCellValue("G{$i}", "-")->setCellValue("H{$i}", $realisasiLayanan)->setCellValue("I{$i}", $realisasiLayananUntilMonth)->setCellValue("K{$i}", "%")->setCellValue("J{$i}", "=F{$i}-I{$i}")->setCellValue("K{$i}", "=I{$i}/F{$i} * 100");
                 $i++;
                 foreach ($key2->kegiatan as $key3) {
                     $realisasi = DatabaseUmum::getRealisasi($key3->id, $m);
                     $realisasiSampaiBulan = DatabaseUmum::getSumOfRealisasi($key3->id, $m);
                     $objPHPExcel->getActiveSheet()->setCellValue("A{$i}", $key3->kode_kegiatan)->setCellValue("B{$i}", $key3->nama_kegiatan)->setCellValue("C{$i}", $key3->volume)->setCellValue("D{$i}", $key3->satuan)->setCellValue("E{$i}", $key3->harga_satuan)->setCellValue("F{$i}", $key3->target)->setCellValue("G{$i}", $key3->SumberDana->nama)->setCellValue("H{$i}", $realisasi)->setCellValue("I{$i}", $realisasiSampaiBulan)->setCellValue("J{$i}", "=F{$i}-I{$i}")->setCellValue("K{$i}", "=I{$i}/F{$i} * 100")->setCellValue("L{$i}", $key3->PenanggungJawab->nama);
                     // $objPHPExcel->getActiveSheet()->getStyle("E$i")->getNumberFormat()->setFormatCode('_-Rp* #.##0_-;-Rp* #.##0_-;_-Rp* "-"_-;_-@_-');
                     $i++;
                 }
             }
         }
         $objPHPExcel->getActiveSheet()->getStyle('A6:L7')->applyFromArray(array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb' => '236A04')), 'font' => array('bold' => true, 'color' => array('rgb' => 'FFFFFF'))));
         // normalize all column width
         $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth("9.86");
         $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth("53.57");
         $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth("12.75");
         $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth("7.14");
         $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth("9.86");
         $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth("12.71");
         $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth("14.71");
         $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth("16");
         $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth("14.71");
         $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth("8.43");
         $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth("24.29");
     }
     header('Content-Type: application/vnd.ms-excel');
     header('Content-Disposition: attachment;filename="test.xls"');
     header('Cache-Control: max-age=0');
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
     $objWriter->save('php://output');
 }
Ejemplo n.º 13
0
 public static function getProgramCache($prod_id)
 {
     $key = CacheManager::CACHE_PROD_BY_PROD_ID . '_' . $prod_id;
     $prod = CacheManager::getValueFromCache($key);
     if ($prod) {
         return $prod;
     }
     $prod = Program::model()->findByPk($prod_id);
     if (isset($prod) && !is_null($prod)) {
         $prodExpired = CacheManager::getExpireByCache(CacheManager::CACHE_PARAM_EXPIRED_PROGRAM);
         CacheManager::setValueToCache($key, $prod, $prodExpired);
     }
     return $prod;
 }
Ejemplo n.º 14
0
<?php

$this->breadcrumbs = array($model->label(2) => array('index'), Yii::t('app', 'Manage'));
$this->menu = array(array('label' => Yii::t('app', 'List') . ' ' . $model->label(2), 'url' => array('index')), array('label' => Yii::t('app', 'Create') . ' ' . $model->label(), 'url' => array('create')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$.fn.yiiGridView.update('vendor-type-grid', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>

<h1><?php 
echo Yii::t('app', 'Manage') . ' ' . GxHtml::encode($model->label(2));
?>
</h1>

<p>
You may optionally enter a comparison operator (&lt;, &lt;=, &gt;, &gt;=, &lt;&gt; or =) at the beginning of each of your search values to specify how the comparison should be done.
</p>

<?php 
echo GxHtml::link(Yii::t('app', 'Advanced Search'), '#', array('class' => 'search-button'));
?>
<div class="search-form">
<?php 
$this->renderPartial('_search', array('model' => $model));
?>
</div><!-- search-form -->

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'vendor-type-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array('id', 'name', array('name' => 'program_id', 'value' => 'GxHtml::valueEx($data->program)', 'filter' => GxHtml::listDataEx(Program::model()->findAllAttributes(null, true))), 'code', 'create_date', array('name' => 'internal', 'value' => '($data->internal === 0) ? Yii::t(\'app\', \'No\') : Yii::t(\'app\', \'Yes\')', 'filter' => array('0' => Yii::t('app', 'No'), '1' => Yii::t('app', 'Yes'))), array('class' => 'CButtonColumn'))));
Ejemplo n.º 15
0
 public function createComments()
 {
     $transaction = Yii::app()->db->beginTransaction();
     try {
         if ($this->save()) {
             $program = CacheManager::getProgramVOByID($this->content_id);
             Program::model()->incCommentCount($this->content_id);
             if ($program !== null) {
                 //	      	var_dump(($program->name));
                 $dynamic = new Dynamic();
                 $dynamic->author_id = $this->author_id;
                 $dynamic->content_id = $program->id;
                 $dynamic->status = Constants::OBJECT_APPROVAL;
                 $dynamic->create_date = new CDbExpression('NOW()');
                 $dynamic->content_desc = $this->comments;
                 $dynamic->content_type = $program->pro_type;
                 $dynamic->content_name = $program->name;
                 $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_COMMENTS;
                 $dynamic->content_pic_url = $program->poster;
                 $dynamic->save();
                 $recommendOwnerId = Dynamic::model()->getRecommendOwnsForProd($this->content_id);
                 if (isset($recommendOwnerId) && is_array($recommendOwnerId)) {
                     foreach ($recommendOwnerId as $id) {
                         if ($id['author_id'] !== Yii::app()->user->id) {
                             // add notify msg
                             $msg = new NotifyMsg();
                             $msg->author_id = $id['author_id'];
                             $msg->nofity_user_id = Yii::app()->user->id;
                             $msg->notify_user_name = Yii::app()->user->getState("nickname");
                             $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
                             $msg->content_id = $program->id;
                             $msg->content_info = $program->name;
                             $msg->content_type = $program->pro_type;
                             $msg->created_date = new CDbExpression('NOW()');
                             $msg->status = Constants::OBJECT_APPROVAL;
                             $msg->notify_type = Constants::NOTIFY_TYPE_COMMENT;
                             $msg->content_desc = $this->comments;
                             $msg->save();
                         }
                     }
                 }
             }
             $transaction->commit();
             return true;
         } else {
             $transaction->commit();
             return false;
         }
     } catch (Exception $e) {
         $transaction->rollback();
         return false;
     }
 }
Ejemplo n.º 16
0
 public function actionViewRecommend()
 {
     header('Content-type: application/json');
     if (!IjoyPlusServiceUtils::validateAPPKey()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID);
         return;
     }
     if (IjoyPlusServiceUtils::validateUserID()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID);
         return;
     }
     $prod_id = Yii::app()->request->getParam("prod_id");
     if (!isset($prod_id) || is_null($prod_id)) {
         IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID);
         return;
     }
     $program = Program::model()->findByPk($prod_id);
     if ($program === null) {
         IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND);
         return;
     }
     $userid = Yii::app()->request->getParam("user_id");
     if (!isset($userid) || is_null($userid)) {
         $userid = Yii::app()->user->id;
     }
     $prod = ProgramUtil::exportProgramEntity($program);
     $reCom = Dynamic::model()->getDynamicByProd($userid, $prod_id, Constants::DYNAMIC_TYPE_RECOMMEND);
     if (isset($reCom) && !is_null($reCom)) {
         $prod['reason'] = $reCom->content_desc;
     }
     $comments = Comment::model()->getCommentsByProgram($prod_id, 10, 0);
     if (isset($comments) && is_array($comments)) {
         $commentTemps = array();
         foreach ($comments as $comment) {
             $commentTemps[] = IjoyPlusServiceUtils::transferComments($comment);
         }
         $prod['comments'] = $commentTemps;
     } else {
         $prod['comments'] = array();
     }
     $dynamic = Dynamic::model()->friendDynamicForProgram(Yii::app()->user->id, $prod_id, 10, 0);
     if (isset($dynamic) && is_array($dynamic)) {
         $prod['dynamics'] = $this->transferDynamics($dynamic);
     } else {
         $prod['dynamics'] = array();
     }
     $topics = Topic::model()->getRelatedTops($prod_id);
     if (isset($topics) && is_array($topics)) {
         $prod['topics'] = $topics;
     } else {
         $prod['topics'] = array();
     }
     IjoyPlusServiceUtils::exportEntity($prod);
 }
Ejemplo n.º 17
0
 /**
  * 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 Program the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = Program::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }