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; }
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); }
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; }
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; }
/** * 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; }
/** * 天气预报手机端接口 * @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; } } }
<?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");
/** * 返回当前用户拥有权限的数据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; }
public function init() { parent::init(); $this->tagArray = TUtil::texplode($this->data); }
/** * 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; }
/** * 是否存在日志 * @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; }
/** * 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'])); } } }
/** * 记录系统日志 * * @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; } }