Пример #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;
 }
Пример #2
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');
 }
Пример #3
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;
 }
Пример #4
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) . ")");
 }
Пример #5
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;
 }
Пример #6
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;
 }
Пример #7
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;
 }