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; }
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'); }
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; }
/** * 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) . ")"); }
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; }
/** * 返回当前用户拥有权限的数据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; }
/** * 是否存在日志 * @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; }