Ejemplo n.º 1
0
 private function _getComment($parent_id = 0)
 {
     $criteria = new CDbCriteria();
     $criteria->addCondition(TUtil::qc('model') . "=:model");
     $criteria->addCondition(TUtil::qc('pk') . "=:pk");
     $criteria->addCondition(TUtil::qc('parent_id') . "=:parent_id");
     if ($parent_id == 0) {
         $criteria->order = TUtil::qc('create_time') . " desc";
     } else {
         $criteria->order = TUtil::qc('create_time') . " asc";
     }
     $criteria->params = array(":model" => $this->_model, ":pk" => $this->_pk, ":parent_id" => $parent_id);
     $data = SysComment::model()->findAll($criteria);
     $comments = array();
     $i = 0;
     foreach ($data as $value) {
         $comments[$i]["id"] = $value["id"];
         $comments[$i]["parent_id"] = $value["parent_id"];
         $comments[$i]["rating"] = $value["rating"];
         $comments[$i]["content"] = $value["content"];
         $comments[$i]["create_time"] = $value["create_time"];
         $comments[$i]["create_user"] = $value["create_user"];
         $userInfo = User::model()->getUserInfoById($value["create_user"]);
         $comments[$i]["user_gender"] = $userInfo["gender"];
         $comments[$i]["user_name"] = $userInfo["user_name"];
         $comments[$i]["user_avatar"] = User::getAvatar($value["create_user"], $userInfo['avatar'], 'm', $userInfo['gender'], TOrgUtil::userIsOnline($value["create_user"]));
         $comments[$i]["chrildren"] = $this->_getComment($value["id"]);
         $comments[$i]["enableReply"] = $this->enableReply;
         $i++;
     }
     return $comments;
 }
Ejemplo n.º 2
0
 function testAppendIncludePath()
 {
     set_include_path('.');
     TUtil::appendIncludePath(TUtil::mkPath("a", "b"));
     $path = get_include_path();
     $this->assertEquals(TUtil::mkPath("a", "b") . PATH_SEPARATOR . ".", $path);
     TUtil::appendIncludePath(TUtil::mkPath("c", "d"));
     $path = get_include_path();
     $this->assertEquals(TUtil::mkPath("c", "d") . PATH_SEPARATOR . TUtil::mkPath("a", "b") . PATH_SEPARATOR . ".", $path);
 }
Ejemplo n.º 3
0
 public function run()
 {
     echo CHtml::openTag('ul', $this->htmlOptions);
     $toolkits = Toolkits::model()->findAll(TUtil::qc('is_active') . '=1');
     if ($toolkits !== NULL) {
         foreach ($toolkits as $toolkit) {
             echo CHtml::tag('li', array(), CHtml::link(CHtml::tag("span", array("class" => $toolkit->icon), '') . $toolkit->name, Yii::app()->createUrl('/portal/resources/toolkit', array('fileName' => $toolkit->file_name)), array('data-title' => $toolkit->name, 'data-content' => is_resource($toolkit->description) ? stream_get_contents($toolkit->description) : $toolkit->description, 'data-placement' => $this->placement, 'rel' => $this->enablePopover ? 'popover' : '', 'data-html' => true)));
         }
     }
     echo CHtml::closeTag('ul');
 }
Ejemplo n.º 4
0
 public function getTagCriteria($tag, $criteria = NULL)
 {
     if ($criteria == NULL) {
         $criteria = new CDbCriteria();
     }
     $criteriaChild = new CDbCriteria();
     $criteriaChild->join = "LEFT JOIN tags ON tags.pk = t.id AND tags.model = '{$this->owner->tableName()}'" . " LEFT JOIN tags_item ON tags_item.tags_id = tags.id";
     $criteriaChild->addCondition(TUtil::qc('tags_item.tag_name') . " = :tag");
     $criteriaChild->params = array(':tag' => $tag);
     $criteria->mergeWith($criteriaChild);
     return $criteria;
 }
Ejemplo n.º 5
0
 public function setHeaders($header)
 {
     if (TUtil::isAssocArray($header)) {
         $out = array();
         foreach ($header as $k => $v) {
             $out[] = $k . ': ' . $v;
         }
         $header = $out;
     }
     $this->setOption(CURLOPT_HTTPHEADER, $header);
     return $this;
 }
Ejemplo n.º 6
0
 /**
  * Runs the widget.
  */
 public function run()
 {
     Yii::import("sys.models.SysModules");
     $module = Yii::app()->controller->module->id;
     $sysModule = SysModules::model()->find(TUtil::qc('code') . "=:code", array(":code" => $module));
     if ($sysModule != null && $sysModule->enable_attachment == 0) {
         return;
     }
     $id = $this->id . '-file';
     $containerId = $this->id . '-container';
     $label = '从本地选择';
     if ($this->hasModel()) {
         $name = CHtml::activeName($this->model, $this->attribute) . '[]';
         $attributes = array('name' => $name, 'id' => $id, 'hideFocus' => true);
         if (isset($this->htmlOptions['accept'])) {
             $attributes['accept'] = $this->htmlOptions['accept'];
         }
         if (isset($this->htmlOptions['maxlength'])) {
             $attributes['maxlength'] = $this->htmlOptions['maxlength'];
         }
         if (isset($this->htmlOptions['multiple'])) {
             $attributes['multiple'] = $this->htmlOptions['multiple'];
         }
         if ($this->form) {
             $label .= $this->form->fileField($this->model, $this->attribute, $attributes);
         } else {
             $label .= CHtml::activeFileField($this->model, $this->attribute, $attributes);
         }
     }
     $this->controller->widget('bootstrap.widgets.TbButton', array('type' => $this->selectorType, 'label' => $label, 'icon' => 'storage', 'encodeLabel' => false, 'htmlOptions' => $this->htmlOptions));
     if ($this->enableFileFolder == true) {
         echo "   ";
         $this->controller->widget('bootstrap.widgets.TbButton', array('type' => $this->selectorType, 'label' => '从文件柜选择', 'buttonType' => 'button', 'icon' => 'folder', 'id' => $id . '_btn'));
     }
     if ($this->enableInsertPicture == true) {
         echo "   ";
         $this->widget('core.widgets.TPictureSelector', array('model' => $this->model, 'attribute' => $this->attribute . "_picture"));
     }
     if ($this->enableFileFolder == true) {
         echo "<div id='SelFileDiv'></div>";
     }
     echo CHtml::tag('div', array('id' => $containerId), '', true);
     if ($this->enableFileFolder == true) {
         echo CHtml::hiddenField('Sel_ATTACHMENT_ID', '', array('id' => 'Sel_ATTACHMENT_ID'));
         echo CHtml::hiddenField('Sel_ATTACHMENT_NAME', '', array('id' => 'Sel_ATTACHMENT_NAME'));
         $this->registerClientScript($id);
     }
     Yii::app()->bootstrap->registerAssetCss('bootstrap-file-selector.css');
     $cs = Yii::app()->getClientScript();
     $cs->registerCoreScript('multifile');
     $cs->registerScript(__CLASS__ . '#' . $this->id, "\n\$('#{$id}').MultiFile(" . CJavaScript::encode($this->options) . ")");
 }
Ejemplo n.º 7
0
 public function searchCondition($group = false)
 {
     // Warning: Please modify the following code to remove attributes that
     // should not be searched.
     $criteria = new CDbCriteria();
     $criteria->compare(TUtil::qc('id'), $this->id);
     $criteria->compare(TUtil::qc('user_id'), $this->user_id);
     $criteria->compare(TUtil::qc('log_time'), $this->log_time);
     $criteria->compare(TUtil::qc('model'), $this->model);
     $criteria->compare(TUtil::qc('pk'), $this->pk);
     $criteria->compare(TUtil::qc('log_type'), $this->log_type);
     $criteria->compare(TUtil::qc('extra_data'), $this->extra_data, true);
     $criteria->compare(TUtil::qc('user_name'), $this->user_name, true);
     $criteria->order = TUtil::qc('log_time') . " desc";
     if ($group) {
         $criteria->group = 'user_id';
     }
     return $criteria;
 }
Ejemplo n.º 8
0
 /**
  * 天气预报手机端接口
  * @param string $type
  * @param array $para
  * @author Liupeng <*****@*****.**>
  */
 public function mAPI($type, $para = null)
 {
     if ($type == 'getWeather') {
         $return = array();
         $this->cityId = $this->name2id($para['city_name']);
         $data = $this->getWeatherById($this->cityId, false);
         $current = $this->getDailyWeatherCurrent();
         date_default_timezone_set('PRC');
         if (is_array($data)) {
             //拼装数据
             $return[0] = array('date' => date('m月d日', time()), 'img' => $this->weatherIconMobile[$data['weather1_d']]['s'], 'weather' => $data['weather1'], 'temperature' => self::revertTemp($data['temp1'], false), 'wind' => $data['wind1_d'], 'bg' => $this->weatherIconMobile[$data['weather1_d']]['b'], 'mtemperature' => self::revertTemp($data['temp1'], false));
             $return[1] = array('date' => '明天', 'img' => $this->weatherIconMobile[$data['weather2_d']]['s'], 'weather' => $data['weather2'], 'temperature' => self::revertTemp($data['temp2']), 'wind' => $data['wind2_d']);
             $return[2] = array('date' => TUtil::getWeekDay(strtotime('+2 day', time())), 'img' => $this->weatherIconMobile[$data['weather3_d']]['s'], 'weather' => $data['weather3'], 'temperature' => self::revertTemp($data['temp3']), 'wind' => $data['wind3_d']);
             $return[3] = array('date' => TUtil::getWeekDay(strtotime('+3 day', time())), 'img' => $this->weatherIconMobile[$data['weather4_d']]['s'], 'weather' => $data['weather4'], 'temperature' => self::revertTemp($data['temp4']), 'wind' => $data['wind4_d']);
             return $return;
         } else {
             return $data;
         }
     }
 }
Ejemplo n.º 9
0
<?php

require_once '../../lib/util/util.class.php';
TUtil::appendIncludePath(TUtil::mkPath("..", "..", "lib"), TUtil::mkPath("..", "..", "class"));
require_once "controller.class.php";
$Ctrl = new TFrameWorkController('../root.ini');
// 画面の出力
$Ctrl->show("system.default");
Ejemplo n.º 10
0
 /**
  * 返回当前用户拥有权限的数据pk
  */
 public function getPrivPks($user = NULL, $type = '')
 {
     if ($user == NULL) {
         $user = Yii::app()->user->id;
         $org = Yii::app()->user->org["all"];
         $role = array_keys(Yii::app()->user->role);
         $position = array_keys(Yii::app()->user->position);
     } else {
         $userModel = User::model()->findByPk($user);
         $org = $userModel->org["all"];
         $role = array_keys($userModel->getRole());
         $position = array_keys($userModel->getPosition());
     }
     $role = TUtil::trim($role);
     $model = $this->owner->tableName();
     foreach ($this->config as $item) {
         if ($item['type'] == $type) {
             if (!is_array($item['scope']) || sizeof($item['scope']) == 0) {
                 $item['scope'] = $this->privScopes;
             }
             $sql = '';
             $ids = array();
             foreach ($item['scope'] as $scope) {
                 $table = self::PRIV_TABLE_PREFIX . $scope;
                 $field = $scope . '_id';
                 $sql = "select " . TUtil::qc($table . ".pk") . " FROM " . TUtil::qc("{$table}") . " WHERE ";
                 $scopeValue = ${$scope};
                 if (!empty($scopeValue)) {
                     if (is_numeric($scopeValue)) {
                         $sql .= TUtil::qc($table . "." . $field) . " = {$scopeValue} AND " . TUtil::qc($table . ".model") . "= '{$model}' AND " . TUtil::qc($table . ".pk") . " IS NOT NULL";
                     } else {
                         if (is_array($scopeValue)) {
                             $sql .= TUtil::qc($table . "." . $field) . ' IN (\'' . implode('\', \'', array_unique($scopeValue)) . '\') AND ' . TUtil::qc($table . ".model") . "= '{$model}' AND " . TUtil::qc($table . ".pk") . " IS NOT NULL";
                         }
                     }
                     $privData = Yii::app()->db->createCommand($sql)->queryAll();
                 }
                 if (!empty($privData)) {
                     foreach ($privData as $priv) {
                         $ids[] = $priv['pk'];
                     }
                 }
             }
         }
     }
     return $ids;
 }
Ejemplo n.º 11
0
 public function init()
 {
     parent::init();
     $this->tagArray = TUtil::texplode($this->data);
 }
Ejemplo n.º 12
0
 /**
  * Flattens the given permission tree.
  * @param array $permissions the permissions tree.
  * @return array the permissions.
  */
 public function flattenPermissions($permissions)
 {
     $flattened = array();
     foreach ($permissions as $itemId => $itemPermissions) {
         $children = $itemPermissions['children'];
         unset($itemPermissions['children']);
         // not needed in a flat tree
         $flattened[$itemId] = $itemPermissions;
         $flattened = TUtil::mergeArrayByOverRide($flattened, $this->flattenPermissions($children));
     }
     return $flattened;
 }
Ejemplo n.º 13
0
 /**
  * 是否存在日志
  * @param $logType
  */
 public function hasLog()
 {
     if ($this->owner->attributes[$this->pk]) {
         $pk = $this->owner->attributes[$this->pk];
     }
     $model = $this->owner->tableName();
     $logModel = DataLog::model()->find(TUtil::qc("pk") . '=:pk and ' . TUtil::qc("model") . '=:model and ' . TUtil::qc("user_id") . '=:user_id', array(':pk' => $pk, ':model' => $model, ':user_id' => Yii::app()->user->id));
     return $logModel;
 }
Ejemplo n.º 14
0
 /**
  * init
  */
 public function init()
 {
     if (!is_array($this->views)) {
         throw new CException('请设置视图类型');
     }
     foreach ($this->views as $key => &$view) {
         $allowViews = array(self::VIEW_GRID, self::VIEW_KANBAN, self::VIEW_SUMMARY, self::VIEW_DETAIL);
         if (is_string($view)) {
             $view = array('name' => $view);
         }
         if (!in_array($view['name'], $allowViews)) {
             unset($view);
             continue;
         }
         if ($view['label'] == '') {
             $view['label'] = $this->_getViewLabel($view['name']);
         }
         if ($view['icon'] == '') {
             $view['icon'] = $this->_getViewIcon($view['name']);
         }
         if ($view['url'] == '') {
             $view['url'] = Yii::app()->createUrl(TUtil::getCurrentRoute(), array('viewType' => $view['name']));
         }
     }
 }
Ejemplo n.º 15
0
 /**
  * 记录系统日志
  * 
  * @param string $message
  * @param int $logType
  * @param string $level
  * @param string $category
  * @return boolean
  */
 public function log($message, $logType = 0, $level = SysLog::LEVEL_INFO, $category = '', $user = null)
 {
     if (trim($message) == '') {
         return false;
     }
     $model = new SysLog();
     $model->attributes = array('user_id' => is_null($user) ? Yii::app()->user->id : $user->id, 'user_name' => is_null($user) ? Yii::app()->user->user_name : $user->user_name, 'category' => $category == '' ? TUtil::getCurrentRoute() : $category, 'log_type' => $logType, 'level' => $level, 'message' => $message, 'log_ip' => $this->getRealIp());
     if ($model->save()) {
         return true;
     } else {
         return false;
     }
 }