public function run() { $voting = null; if (is_numeric(HU::post('id_voting'))) { $voting = Voting::model()->onlyActive()->with('answer')->findByPk(HU::post('id_voting')); } if ($voting == null) { //echo CHtml::encode($this->controller->widget('vote.widgets.VoteWidget', null, true)); return; } if (Yii::app()->vote->check($voting->id_voting)) { $answers = $_POST['VotingAnswer']['name']; $cr = new CDbCriteria(); $cr->addColumnCondition(array('id_voting' => $voting->id_voting)); if (is_array($answers)) { $cr->addInCondition('id_voting_answer', $answers); } else { if (is_numeric($answers)) { $cr->addColumnCondition(array('id_voting_answer' => $answers)); } } VotingAnswer::model()->updateCounters(array('count' => 1), $cr); VisitSite::saveCurrentVisit(Voting::ID_OBJECT, $voting->id_voting); Yii::app()->user->setState('vote_' . $voting->id_voting, time()); // перегружаем голосовалку, чтоб обновились показатели счетчиков $voting = Voting::model()->onlyActive()->with('answer')->findByPk($voting->id_voting); } $voteCount = $voting->getSumVote(); echo CHtml::encode($this->controller->renderPartial("vote.widgets.views.statistic", array('voting' => $voting, 'voteCount' => $voteCount)), null, true); }
/** * 会员登录 */ public function actionLogin() { $model = new Admin('login'); if (XUtils::method() == 'POST') { $model->attributes = $_POST['Admin']; if ($model->validate()) { $data = $model->find('username=:username', array('username' => $model->username)); if ($data === null) { $model->addError('username', '用户不存在'); AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,用户不存在:' . CHtml::encode($model->username), 'user_id' => 0)); } elseif (!$model->validatePassword($data->password)) { $model->addError('password', '密码不正确'); AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,密码不正确:' . CHtml::encode($model->username) . ',使用密码:' . CHtml::encode($model->password), 'user_id' => 0)); } elseif ($data->group_id == 2) { $model->addError('username', '用户被锁定,请联系网站管理'); } else { parent::_stateWrite(array('userId' => $data->id, 'userName' => $data->username, 'groupId' => $data->group_id, 'super' => $data->group_id == 1 ? 1 : 0), array('prefix' => '_admini')); $data->last_login_ip = XUtils::getClientIP(); $data->last_login_time = time(); $data->login_count = $data->login_count + 1; $data->save(); AdminLogger::_create(array('catalog' => 'login', 'intro' => '用户登录成功:' . CHtml::encode($model->username))); $this->redirect(array('default/index')); } } } $this->render('login', array('model' => $model)); }
/** * Renders the content of the widget. * @throws CException */ public function run() { // Hide empty breadcrumbs. if (empty($this->links)) { return; } $links = array(); if (!isset($this->homeLink)) { $content = CHtml::link(Yii::t('zii', 'Inicio'), Yii::app()->homeUrl); $links[] = $this->renderItem($content); } else { if ($this->homeLink !== false) { $links[] = $this->renderItem($this->homeLink); } } foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { $content = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); $links[] = $this->renderItem($content); } else { $links[] = $this->renderItem($this->encodeLabel ? CHtml::encode($url) : $url, true); } } echo CHtml::tag('ul', $this->htmlOptions, implode('', $links)); }
public function actionAjaxAdd() { if (Yii::app()->request->isAjaxRequest && Yii::app()->user->checkAccess('blockip_admin')) { $postValue = CHtml::encode(strip_tags(Yii::app()->request->getParam('value'))); $pk = CHtml::encode(strip_tags(Yii::app()->request->getParam('pk'))); if ($postValue) { $blockIpModel = BlockIp::model()->find('ip = :ip', array(':ip' => $postValue)); if ($blockIpModel) { # IP уже есть $msg = 'already_exists'; } else { $blockIpModel = new BlockIp(); $blockIpModel->ip = $postValue; $blockIpModel->ip_long = ip2long($postValue); $blockIpModel->date_created = new CDbExpression('NOW()'); if ($blockIpModel->save()) { $msg = 'ok'; } else { $msg = 'save_error'; } } } else { $msg = 'no_value'; } echo CJSON::encode(array('msg' => $msg, 'value' => $postValue, 'pk' => $pk)); Yii::app()->end(); } }
public function run() { if (empty($this->links)) { return; } if (isset($this->htmlOptions['class'])) { $this->htmlOptions['class'] .= ' breadcrumb'; } else { $this->htmlOptions['class'] = 'breadcrumb'; } echo CHtml::openTag($this->tagName, $this->htmlOptions) . "\n"; $links = array(); if ($this->homeLink === null) { $links[] = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); } else { if ($this->homeLink !== false) { $links[] = $this->homeLink; } } foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { $links[] = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); } else { $links[] = '<span>' . ($this->encodeLabel ? CHtml::encode($url) : $url) . '</span>'; } } $separator = CHtml::tag('span', array('class' => 'divider'), $this->separator) . CHtml::closeTag('li') . ' ' . CHtml::openTag('li'); echo CHtml::openTag('li') . implode($separator, $links) . CHtml::closeTag('li'); echo CHtml::closeTag($this->tagName); }
protected function renderContent() { if (isset($this->block) && $this->block != null) { //Set Params from Block Params $params = unserialize($this->block->params); $this->setParams($params); $post_id = (int) $_GET['id']; if ($post_id) { $post = Object::model()->findByPk($post_id); if ($post) { Yii::app()->controller->pageTitle = CHtml::encode($post->object_name); Yii::app()->controller->description = CHtml::encode($post->object_description); Yii::app()->controller->keywords = CHtml::encode($post->object_keywords); Yii::app()->controller->change_title = true; $this->render(BlockRenderWidget::setRenderOutput($this), array('post' => $post)); } else { throw new CHttpException('404', t('Page not found')); } } else { throw new CHttpException('404', t('Page not found')); } } else { echo ''; } }
public static function onNewComment(CommentEvent $event) { $comment = $event->getComment(); $module = $event->getModule(); $parent = $comment->getParent(); //ответ на комментарий if ($comment->hasParent()) { if (null !== $parent && $parent->user_id) { $notify = NotifySettings::model()->getForUser($parent->user_id); if (null !== $notify && $notify->isNeedSendForCommentAnswer()) { Yii::app()->mail->send($module->email, $parent->email, Yii::t('NotifyModule.notify', 'Reply to your comment on the website "{app}"!', ['{app}' => CHtml::encode(Yii::app()->name)]), Yii::app()->getController()->renderPartial('comment-reply-notify-email', ['model' => $comment], true)); } } } //нотификация автору поста if ('Post' === $comment->model) { $post = Post::model()->cache(Yii::app()->getModule('yupe')->coreCacheTime)->with(['createUser'])->get((int) $comment->model_id); if (null !== $post) { //пропускаем автора поста + если отвечают на комментарий автора поста - он уже получил уведомление выше if ($comment->user_id != $post->create_user_id) { $notify = NotifySettings::model()->getForUser($post->create_user_id); if (null != $notify && $notify->isNeedSendForNewPostComment()) { Yii::app()->mail->send($module->email, $post->createUser->email, Yii::t('NotifyModule.notify', 'New comment to your post on website "{app}"!', ['{app}' => CHtml::encode(Yii::app()->name)]), Yii::app()->getController()->renderPartial('comment-new-notify-email', ['model' => $comment], true)); } } } } }
public function actionAdd($isFancy = 0) { $model = new Reviews(); if (isset($_POST[$this->modelName])) { $model->attributes = $_POST[$this->modelName]; if ($model->validate()) { if ($model->save(false)) { $model->name = CHtml::encode($model->name); $model->body = CHtml::encode($model->body); $notifier = new Notifier(); $notifier->raiseEvent('onNewReview', $model); if (Yii::app()->user->getState('isAdmin')) { Yii::app()->user->setFlash('success', tt('success_send_not_moderation')); } else { Yii::app()->user->setFlash('success', tt('success_send')); } $this->redirect(array('index')); } $model->unsetAttributes(array('name', 'body', 'verifyCode')); } else { Yii::app()->user->setFlash('error', tt('failed_send')); } $model->unsetAttributes(array('verifyCode')); } if ($isFancy) { $this->excludeJs(); $this->renderPartial('add', array('model' => $model), false, true); } else { $this->render('add', array('model' => $model)); } }
/** * @return html nombre de partida compuesto con el nombre */ public function etiquetaExtranjero() { //echo count($this->id); //die; $extranjero = ProveedoresExtranjeros::model()->findByAttributes(array('proveedor_id' => $this->id)); return CHtml::encode($this->rif . ' - ' . $this->razon_social . ' - ' . $extranjero->num_identificacion . ' - ' . $extranjero->pais->nombre); }
public function run() { if (empty($this->links)) { return; } $this->activeLinkTemplate = '<a href="{url}" title="{title}" rel="v:url" property="v:title">{label}</a>'; echo CHtml::openTag($this->tagName, $this->htmlOptions) . "\n"; $links = array(); if ($this->homeLink === null) { $links[] = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); } elseif ($this->homeLink !== false) { $links[] = $this->homeLink; } foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { $links[] = strtr($this->activeLinkTemplate, array('{url}' => CHtml::normalizeUrl($url), '{label}' => $this->encodeLabel ? CHtml::encode($label) : $label, '{title}' => $this->encodeLabel ? CHtml::encode($label) : $label)); } else { $links[] = str_replace('{label}', $this->encodeLabel ? CHtml::encode($url) : $url, $this->inactiveLinkTemplate); } } echo "<div xmlns:v='http://rdf.data-vocabulary.org/#'>"; $i = 0; foreach ($links as $link) { if ($i > 0) { echo ' <i class="icon icon_mt"></i> '; } echo '<span typeof="v:Breadcrumb">' . $link . '</span>'; $i++; } echo "</div>"; //echo implode($this->separator,$links); echo CHtml::closeTag($this->tagName); }
public function actionAdd($isFancy = 0) { $model = new Vacancy(); if (isset($_POST[$this->modelName]) && BlockIp::checkAllowIp(Yii::app()->controller->currentUserIpLong)) { $model->attributes = $_POST[$this->modelName]; if ($model->validate()) { $model->user_ip = Yii::app()->controller->currentUserIp; $model->user_ip_ip2_long = Yii::app()->controller->currentUserIpLong; if ($model->save(false)) { $model->name = CHtml::encode($model->name); $model->body = CHtml::encode($model->body); $notifier = new Notifier(); $notifier->raiseEvent('onNewReview', $model); if (Yii::app()->user->checkAccess('vacancy_admin')) { Yii::app()->user->setFlash('success', tt('success_send_not_moderation')); } else { Yii::app()->user->setFlash('success', tt('success_send')); } $this->redirect(array('index')); } $model->unsetAttributes(array('name', 'body', 'verifyCode')); } else { Yii::app()->user->setFlash('error', tt('failed_send')); } $model->unsetAttributes(array('verifyCode')); } if ($isFancy) { $this->excludeJs(); $this->renderPartial('add', array('model' => $model), false, true); } else { $this->render('add', array('model' => $model)); } }
/** * Renders the header cell. */ public function renderHeaderCell() { if ($this->grid->json) { $header = array('id' => $this->id); $content = array(); if ($this->grid->enableSorting && $this->sortable && $this->name !== null) { $sort = $this->grid->dataProvider->getSort(); $label = isset($this->header) ? $this->header : $sort->resolveLabel($this->name); if ($sort->resolveAttribute($this->name) !== false) { $label .= '<span class="caret"></span>'; } $content['content'] = $sort->link($this->name, $label, array('class' => 'sort-link')); } else { if ($this->name !== null && $this->header === null) { if ($this->grid->dataProvider instanceof CActiveDataProvider) { $content['content'] = CHtml::encode($this->grid->dataProvider->model->getAttributeLabel($this->name)); } else { $content['content'] = CHtml::encode($this->name); } } else { $content['content'] = trim($this->header) !== '' ? $this->header : $this->grid->blankDisplay; } } return CMap::mergeArray($header, $content); } parent::renderHeaderCell(); }
/** * JSON Search for Users * * Returns an array of users with fields: * - guid * - displayName * - image * - profile link */ public function actionJson() { $maxResults = 10; $results = array(); $keyword = Yii::app()->request->getParam('keyword'); $keyword = Yii::app()->input->stripClean($keyword); // Build Search Condition $criteria = new CDbCriteria(); $criteria->limit = $maxResults; $criteria->condition = 1; $criteria->params = array(); $i = 0; foreach (explode(" ", $keyword) as $part) { $i++; $criteria->condition .= " AND (t.email LIKE :match{$i} OR " . "t.username LIKE :match{$i} OR " . "userProfile.firstname LIKE :match{$i} OR " . "userProfile.lastname LIKE :match{$i} OR " . "userProfile.title LIKE :match{$i})"; $criteria->params[':match' . $i] = "%" . $part . "%"; } $users = User::model()->with('userProfile')->findAll($criteria); foreach ($users as $user) { if ($user != null) { $userInfo = array(); $userInfo['guid'] = $user->guid; $userInfo['displayName'] = CHtml::encode($user->displayName); $userInfo['image'] = $user->getProfileImage()->getUrl(); $userInfo['link'] = $user->getUrl(); $results[] = $userInfo; } } print CJSON::encode($results); Yii::app()->end(); }
public function actionView() { $topic = $this->getTopic(); $file = Yii::getPathOfAlias('application.data.guide') . DIRECTORY_SEPARATOR . $this->getVersion() . DIRECTORY_SEPARATOR . $this->getLanguage() . DIRECTORY_SEPARATOR . $topic . '.txt'; if (!is_file($file)) { $file = Yii::getPathOfAlias('application.data.guide') . DIRECTORY_SEPARATOR . $this->getVersion() . DIRECTORY_SEPARATOR . $topic . '.txt'; } if (!strcasecmp($topic, 'toc') || !is_file($file)) { throw new CHttpException(404, 'The requested page does not exist.'); } $content = file_get_contents($file); $markdown = new MarkdownParser(); $markdown->purifierOptions['Attr.EnableID'] = true; $content = $markdown->safeTransform($content); $highlightCss = Yii::app()->assetManager->publish($markdown->getDefaultCssFile()); Yii::app()->clientScript->registerCssFile($highlightCss); $imageUrl = Yii::app()->baseUrl . '/images/guide'; $content = preg_replace('/<p>\\s*<img(.*?)src="(.*?)"\\s+alt="(.*?)"\\s*\\/>\\s*<\\/p>/', '<div class="image"><p>\\3</p><img\\1src="' . $imageUrl . '/\\2" alt="\\3" /></div>', $content); $content = preg_replace_callback('/href="\\/guide\\/(.*?)\\/?"/', array($this, 'replaceGuideLink'), $content); $content = preg_replace('/href="(\\/api\\/.*?)"/', 'href="http://sourcebans.net$1"', $content); $content = preg_replace_callback('/<h2([^>]*)>(.*?)<\\/h2>/', array($this, 'replaceSection'), $content); $content = preg_replace_callback('/<h1([^>]*)>(.*?)<\\/h1>/', array($this, 'replaceTitle'), $content, 1); $this->pageTitle = 'User Guide « SourceBans'; if ($topic !== 'index' && preg_match('/<h1[^>]*>(.*?)</', $content, $matches)) { $this->pageTitle = CHtml::encode($matches[1]) . ' « ' . $this->pageTitle; } $this->render('view', array('content' => $content)); }
public function actionAvatar($user, $hash) { $cache_id = "Product:[avatarForUser] " . CHtml::encode($user); $cache_duration = 3600; $avatarBinary = Yii::app()->cache->get($cache_id); if (!$avatarBinary) { $result = Yii::app()->curl->post("https://kle-en-main.com/CloudServices/index.php/BoukemAPI/product/avatar", array('user_id' => $user, 'hash' => $hash, 'store_id' => Yii::app()->params['outbound_api_user'], 'store_key' => Yii::app()->params['outbound_api_secret'])); $json_dict = json_decode($result); if (!$json_dict) { throw new CHttpException(404, Yii::t('app', 'La page demandée n\'existe pas.')); } $avatarBinary = $json_dict->avatar_medium; Yii::app()->cache->set($cache_id, $avatarBinary, $cache_duration); } $raw_data = base64_decode($avatarBinary); header('Content-Type: image/jpeg'); echo $raw_data; foreach (Yii::app()->log->routes as $route) { if ($route instanceof CWebLogRoute) { $route->enabled = false; // disable any weblogroutes } } Yii::app()->end(); }
/** * 第二个下拉菜单options动态输出 * @author gentle */ public function actionAdditionType($fieldType, $additionType = -1, $databaseId = -1, $datasetId = -1) { switch ($fieldType) { //独立字段 case 'normal': $data = array('text' => '文本', 'multitext' => '多行文本', 'number' => '数值', 'select' => '单选', 'multiselect' => '多选', 'image' => '图片'); break; //调用元素集字段 //调用元素集字段 case 'reference': $dsModel = $this->loadModel($databaseId, 'ds', 'database_id', true); $data = array(); foreach ($dsModel as $key => $value) { $data[$value->en_name] = $value->name; } break; } $dropDown = "<option value=''>选择附属类型</option>"; foreach ($data as $value => $name) { if ($additionType >= 0 && $value == $additionType) { $dropDown .= CHtml::tag('option', array('value' => $value, 'selected' => 'selected'), CHtml::encode($name), true); } else { $dropDown .= CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } } echo CJSON::encode(array('dropDown' => $dropDown)); }
public function actionLogin() { $model = new Admin('login'); if (XUtils::method() == 'POST') { $model->attributes = $_POST['Admin']; if ($model->validate()) { $data = $model->find('username=:username', array('username' => $model->username)); if ($data === null) { $model->addError('username', '用户不存在'); parent::_backendLogger(array('catalog' => 'login', 'intro' => '登录失败,用户不存在:' . CHtml::encode($model->username), 'user_id' => 0)); } elseif (!$model->validatePassword($data->password)) { $model->addError('password', '密码不正确'); parent::_backendLogger(array('catalog' => 'login', 'intro' => '登录失败,密码不正确:' . CHtml::encode($model->username) . ',使用密码:' . CHtml::encode($model->password), 'user_id' => 0)); } elseif ($data->group_id == 2) { $model->addError('username', '用户已经锁定,请联系管理'); } else { $this->_sessionSet('_backendGroupId', $data->group_id); if (isset($data->group_id) && $data->group_id == 1) { $this->_sessionSet('_backendPermission', 'backendstrator'); } $data->last_login_ip = XUtils::getClientIP(); $data->last_login_time = time(); $data->login_count = $data->login_count + 1; $data->save(); parent::_sessionSet('uid', $data->id); parent::_sessionSet('uname', $data->username); parent::_backendLogger(array('catalog' => 'login', 'intro' => '用户登录成功:' . $data->username)); $this->redirect(array('default/index')); XUtils::message('success', '登录成功', $this->createUrl('default/index'), 2); } } } $this->render('login', array('model' => $model)); }
/** *### .renderHeaderCellContent() * * Renders the header cell content. * This method will render a link that can trigger the sorting if the column is sortable. */ protected function renderHeaderCellContent() { if ($this->grid->enableSorting && $this->sortable && $this->name !== null) { $sort = $this->grid->dataProvider->getSort(); $label = isset($this->header) ? $this->header : $sort->resolveLabel($this->name); if ($sort->resolveAttribute($this->name) !== false) { if ($sort->getDirection($this->name) === CSort::SORT_ASC) { $label .= ' <span class="icon-sort-down"></span>'; } elseif ($sort->getDirection($this->name) === CSort::SORT_DESC) { $label .= ' <span class="icon-sort-up"></span>'; } else { $label .= ' '; } } echo $sort->link($this->name, $label, array('class' => 'sort-link')); } else { if ($this->name !== null && $this->header === null) { if ($this->grid->dataProvider instanceof CActiveDataProvider) { echo CHtml::encode($this->grid->dataProvider->model->getAttributeLabel($this->name)); } else { echo CHtml::encode($this->name); } } else { parent::renderHeaderCellContent(); } } }
/** * Displays the login page */ public function actionLogin() { $this->layout = '//layouts/login'; if (@Yii::app()->user->id) { $this->redirect(Yii::app()->homeUrl); } $model = new LoginFormAdmin(); // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') { echo CActiveForm::validate($model); Yii::app()->end(); } // collect user input data if (isset($_POST['LoginFormAdmin'])) { $model->attributes = $_POST['LoginFormAdmin']; // validate user input and redirect to the previous page if valid if ($model->validate() && $model->login()) { $audit = new AuditTrail(); $audit->user_id = Yii::app()->user->id; $audit->login_time = new CDbExpression('NOW()'); $audit->user_type = 1; $audit->save(); Yii::app()->user->setFlash('success', 'Welcome in the <strong>' . CHtml::encode(Yii::app()->name) . ' Admin Panel</strong>. Don\'t forget to <strong>Logout</strong> when finish!'); $this->redirect(Yii::app()->user->returnUrl); } } // display the login form $this->render('login', array('model' => $model)); }
/** * Initializes menu items */ public function initItems() { if (!empty($this->items)) { $links = array(); if ($this->homeLabel !== false) { $label = $this->homeLabel !== null ? $this->homeLabel : Icon::icon(Enum::ICON_HOME); $links[$label] = array('href' => $this->homeUrl !== null ? $this->homeUrl : \Yii::app()->homeUrl); } foreach ($this->items as $label => $options) { if (is_string($label)) { if ($this->encodeLabel) { $label = \CHtml::encode($label); } if (is_string($options)) { $links[$label] = array('href' => \CHtml::normalizeUrl($options)); } else { $url = ArrayHelper::removeValue($options, 'url', ''); $options['href'] = \CHtml::normalizeUrl($url); $links[$label] = $options; } } else { $links[$options] = array('href' => '#'); } } $this->items = $links; } }
public function run() { $cacheName = "ContentBlock{$this->code}" . Yii::app()->language; $output = Yii::app()->cache->get($cacheName); if ($output === false) { $block = ContentBlock::model()->published()->findByCode($this->code); if (null === $block) { if ($this->silent === false) { throw new CException(Yii::t('ContentBlockModule.contentblock', 'Content block "{code}" was not found !', array('{code}' => $this->code))); } $output = ''; } else { switch ($block->type) { case ContentBlock::PHP_CODE: $output = eval($block->content); break; case ContentBlock::SIMPLE_TEXT: $output = CHtml::encode($block->content); break; case ContentBlock::HTML_TEXT: $output = $block->content; break; } } Yii::app()->cache->set($cacheName, $output); } $this->render($this->view, array('output' => $output)); }
/** *### .run() * * Renders the content of the widget. * * @throws CException */ public function run() { // Hide empty breadcrumbs. if (empty($this->links)) { return; } $links = ''; if (!isset($this->homeLink)) { $content = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); $links .= $this->renderItem($content); } else { if ($this->homeLink !== false) { $links .= $this->renderItem($this->homeLink); } } $count = count($this->links); $counter = 0; foreach ($this->links as $label => $url) { ++$counter; // latest is the active one if (is_string($label) || is_array($url)) { $content = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); $links .= $this->renderItem($content); } else { $links .= $this->renderItem($this->encodeLabel ? CHtml::encode($url) : $url, $counter === $count); } } echo CHtml::tag('ul', $this->htmlOptions, $links); }
public function toHtml() { $this->htmlOptions['class'] .= ' ' . $this->options['level']; $this->htmlOptions['class'] .= ' event-action'; $label = CHtml::encode($this->label); if ($this->options['level'] === 'save') { $this->htmlOptions['class'] .= ' button secondary small'; } if ($this->options['level'] === 'delete') { $content = '<span class="icon-button-small-trash-can"></span>'; $content .= '<span class="hide-offscreen">' . $label . '</span>'; $label = $content; $this->htmlOptions['class'] .= ' button button-icon small'; } if ($this->options['level'] === 'cancel') { $this->htmlOptions['class'] .= ' button small'; } if ($this->options['disabled']) { $this->htmlOptions['class'] .= ' disabled'; $this->htmlOptions['disabled'] = 'disabled'; } if ($this->type == 'button') { return CHtml::htmlButton($label, $this->htmlOptions); } elseif ($this->type == 'link') { return CHtml::link($label, $this->href, $this->htmlOptions); } }
/** * Renders the content of the widget. */ public function run() { $links = array(); if ($this->homeLink === null || !(isset($this->homeLink['label']) && isset($this->homeLink['url']))) { $this->homeLink = array('label' => Yii::t('bootstrap', 'Home'), 'url' => Yii::app()->homeUrl); } if (!empty($this->links)) { $content = CHtml::link($this->homeLink['label'], $this->homeLink['url']); $links[] = $this->renderItem($content); } else { $links[] = $this->renderItem($this->homeLink['label'], true); } foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { $label = $this->encodeLabel ? CHtml::encode($label) : $label; $content = CHtml::link($label, $url); $links[] = $this->renderItem($content); } else { $links[] = $this->renderItem($this->encodeLabel ? CHtml::encode($url) : $url, true); } } echo CHtml::openTag('ul', $this->htmlOptions); echo implode('', $links); echo '</ul>'; }
/** * 使用discuz词库 * @param unknown_type $title * @param unknown_type $content */ public static function discuz($title = '', $content = '') { $subjectenc = rawurlencode(strip_tags($title)); $messageenc = rawurlencode(strip_tags(preg_replace("/\\[.+?\\]/U", '', $content))); $data = @implode('', file("http://keyword.discuz.com/related_kw.html?title={$subjectenc}&content={$messageenc}&ics=utf-8&ocs=utf-8")); if ($data) { $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $values, $index); xml_parser_free($parser); $kws = array(); foreach ($values as $valuearray) { if ($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') { $kws[] = trim($valuearray['value']); } } $return = ''; if ($kws) { foreach ($kws as $kw) { $kw = CHtml::encode(strip_tags($kw)); $return .= $dot . $kw; $dot = ','; } $return = trim($return); } return $return; } }
/** * Renders the mass action button, if applicable */ public function renderButton() { if (!$this->hasButton) { return; } echo "\n <a href='#' title='" . CHtml::encode($this->getLabel()) . "'\n data-mass-action='" . get_class($this) . "'\n data-allow-multiple='" . ($this->allowMultiple ? 'true' : 'false') . "'\n class='fa fa-folder fa-lg mass-action-button x2-button mass-action-button-" . get_class($this) . "'>\n </a>"; }
/** * Initializes the widget. */ public function init() { if ($this->brand !== false) { if (!isset($this->brand)) { $this->brand = CHtml::encode(Yii::app()->name); } if (!isset($this->brandUrl)) { $this->brandUrl = Yii::app()->homeUrl; } $this->brandOptions['href'] = CHtml::normalizeUrl($this->brandUrl); if (isset($this->brandOptions['class'])) { $this->brandOptions['class'] .= ' brand'; } else { $this->brandOptions['class'] = 'brand'; } } $classes = array('navbar'); if (isset($this->type) && in_array($this->type, array(self::TYPE_INVERSE))) { $classes[] = 'navbar-' . $this->type; } if ($this->fixed !== false && in_array($this->fixed, array(self::FIXED_TOP, self::FIXED_BOTTOM))) { $classes[] = 'navbar-fixed-' . $this->fixed; } if (!empty($classes)) { $classes = implode(' ', $classes); if (isset($this->htmlOptions['class'])) { $this->htmlOptions['class'] .= ' ' . $classes; } else { $this->htmlOptions['class'] = $classes; } } }
public function run() { if (empty($this->links)) { return; } echo CHtml::openTag($this->tagName, $this->htmlOptions) . "\n"; $links = array(); if ($this->homeLink === null) { $links[] = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); } else { if ($this->homeLink !== false) { $links[] = $this->homeLink; } } $i = 1; foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { if (count($this->links) == $i) { $links[] = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url, array('class' => $this->lastCssClass)); } else { $links[] = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); } } else { if (count($this->links) == $i) { $links[] = '<span class="' . $this->lastCssClass . '">' . ($this->encodeLabel ? CHtml::encode($url) : $url) . '</span>'; } else { $links[] = '<span>' . ($this->encodeLabel ? CHtml::encode($url) : $url) . '</span>'; } } $i++; } echo implode($this->separator, $links); echo CHtml::closeTag($this->tagName); }
/** * ### . * run() * * Renders the content of the widget. */ public function run() { if (empty($this->links)) { return; } echo CHtml::openTag($this->tagName, $this->htmlOptions); if ($this->homeLink === null) { $this->homeLink = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); } if ($this->homeLink !== false) { // check whether home link is not a link $active = stripos($this->homeLink, '<a') === false ? ' class="active"' : ''; echo '<li' . $active . '>' . $this->homeLink . '</li>'; } end($this->links); $lastLink = key($this->links); foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { echo '<li>'; echo strtr($this->activeLinkTemplate, array('{url}' => CHtml::normalizeUrl($url), '{label}' => $this->encodeLabel ? CHtml::encode($label) : $label)); } else { echo '<li class="active">'; echo str_replace('{label}', $this->encodeLabel ? CHtml::encode($url) : $url, $this->inactiveLinkTemplate); } echo '</li>'; } echo CHtml::closeTag($this->tagName); }
public function run() { if (empty($this->links)) { return; } echo CHtml::openTag($this->tagName, $this->htmlOptions) . "\n"; $links = array(); echo '<span class="m_left20">当前位置:</span>'; if ($this->homeLink === null) { $links[] = CHtml::link("工作台", Yii::app()->homeUrl); } else { if ($this->homeLink !== false) { $links[] = $this->homeLink; } } foreach ($this->links as $label => $url) { if (is_string($label) || is_array($url)) { $links[] = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); } else { $links[] = '<span>' . ($this->encodeLabel ? CHtml::encode($url) : $url) . '</span>'; } } echo implode($this->separator, $links); echo CHtml::closeTag($this->tagName); }