本文整理汇总了PHP中Widget::getWidget方法的典型用法代码示例。如果您正苦于以下问题:PHP Widget::getWidget方法的具体用法?PHP Widget::getWidget怎么用?PHP Widget::getWidget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Widget
的用法示例。
在下文中一共展示了Widget::getWidget方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: showIndex
/**
* @brief showIndex 显示主页
*
* @return void
*/
public function showIndex($params)
{
Widget::initWidget('Post');
Widget::getWidget('Post')->setPerPage(8);
Widget::getWidget('Post')->setCurrentPage(isset($params['page']) ? $params['page'] : 1);
Widget::getWidget('Post')->query();
$this->display('index.php');
}
示例2: showTag
/**
* @brief showTag 显示某标签下的文章
*
* @param $params 参数
*
* @return void
*/
public function showTag($params)
{
// 根据 Meta 别名获取 Meta ID
$meta = new MetaLibrary();
$meta->setType(2);
$meta->setName(urldecode($params['name']));
if (!($m = $meta->getMeta())) {
Response::error(404);
return;
}
// 获取文章数据
Widget::initWidget('Post');
Widget::getWidget('Post')->setPerPage(8);
Widget::getWidget('Post')->setCurrentPage(isset($params['page']) ? $params['page'] : 1);
Widget::getWidget('Post')->setCurrentMeta($m[0]['mid']);
Widget::getWidget('Post')->query();
// 设置标题、描述、关键词
Widget::getWidget('Global')->title = $m[0]['name'];
Widget::getWidget('Global')->description = $m[0]['description'];
Widget::getWidget('Global')->keywords = $m[0]['name'];
$this->display('index.php');
}
示例3: showSearch
/**
* @brief showSearch 显示搜索结果
*
* @param $params 传入参数
*
* @return void
*/
public function showSearch($params)
{
if (!isset($params['word'])) {
if (!($word = Request::P('word', 'string'))) {
Response::back();
} else {
Response::redirect(Router::patch('SearchWord', array('word' => urlencode(trim($word)))));
}
return;
}
// 获取文章数据
Widget::initWidget('Post');
Widget::getWidget('Post')->setPerPage(8);
Widget::getWidget('Post')->setCurrentPage(isset($params['page']) ? $params['page'] : 1);
// 未来支持分类内搜索
// Widget::getWidget('Post')->setCurrentMeta( $m[0]['mid'] );
Widget::getWidget('Post')->setSearchWord(urldecode(trim($params['word'])));
Widget::getWidget('Post')->query();
// 设置标题、描述、关键词
Widget::getWidget('Global')->title = urldecode($params['word']);
// Widget::getWidget('Global')->description = $m[0]['description'];
Widget::getWidget('Global')->keywords = urldecode($params['word']);
$this->display('index.php');
}
示例4: widget_content
function widget_content($widget, $format = '')
{
return Widget::getWidget('Widget')->widgetContent($widget, $format);
}
示例5: postComment
/**
* @brief postComment 发表评论
*
* @return void
*/
public function postComment()
{
$c = array();
// 如果用户已登录,则可以不填写基本信息
if (Widget::getWidget('User')->isLogin()) {
$user = Widget::getWidget('User')->getUser();
$c['uid'] = $user['uid'];
$c['author'] = $user['username'];
$c['email'] = $user['email'];
$c['website'] = $user['website'];
} else {
$c['uid'] = 0;
$c['author'] = Request::P('author', 'string');
$c['email'] = Request::P('email', 'string');
$c['website'] = Request::P('website', 'string');
}
$c['pid'] = Request::P('postId');
$c['content'] = Request::P('content', 'string');
$error = '';
if (!$c['pid'] || !$c['author'] || !$c['email'] || !$c['content']) {
// 检查信息完整性
$error = _t('Author, Email and Content can not be null.');
} else {
// 检查文章是否存在、是否允许评论
Widget::initWidget('Post');
$post = new PostLibrary();
$p = $post->getPost($c['pid']);
if ($p) {
Widget::getWidget('Post')->setPID($c['pid']);
} else {
$p = $post->getPage($c['pid'], FALSE);
Widget::getWidget('Post')->setAlias($p['alias']);
}
if (!Widget::getWidget('Post')->query() || !Widget::getWidget('Post')->postAllowReply()) {
$error = _t('Comment closed.');
} else {
// TODO 敏感词过滤
// TODO 内容处理
$c['content'] = str_replace(array("\r\n", "\n", "\r"), '<br />', htmlspecialchars($c['content']));
$c = Plugin::call('postComment', $c);
// 写入评论
$comment = new CommentLibrary();
$comment->postComment($c);
// 评论计数加一
$post->incReply($c['pid']);
// 保存用户信息
Response::setCookie('author', $c['author'], time() + 24 * 3600 * 365);
Response::setCookie('email', $c['email'], time() + 24 * 3600 * 365);
Response::setCookie('website', $c['website'], time() + 24 * 3600 * 365);
}
}
if ($error) {
$r = array('success' => FALSE, 'message' => $error);
} else {
$r = array('success' => TRUE, 'message' => _t('Post comment success.'));
}
if (Request::isAjax()) {
Response::ajaxReturn($r);
} else {
if ($error) {
Response::error(_t('Post failed'), $error);
} else {
Response::back();
}
}
}
示例6: commentDo
/**
* @brief commentDo 发表评论
*
* @return void
*/
private function commentDo()
{
Widget::initWidget('Comment');
Widget::getWidget('Comment')->postComment();
}
示例7: path
?>
</a></li>
<?php
}
?>
</ul>
</div>
</div>
<?php
}
?>
</div>
</div>
<?php
} else {
$u = Widget::getWidget('User')->getUser($uid);
?>
<div class="box">
<div class="box-title">
<h3><?php
_e('User Edit');
?>
</h3>
<span></span>
</div>
<div class="box-content">
<form action="<?php
path(array('do' => 'editUser'), 'AdminDo');
?>
" method="post" name="edit_user" id="edit-user">
<ul id="add-post-option">
示例8: dispatch
/**
* @brief dispatch 路由分发方法
*
* @return void
*/
public static function dispatch()
{
// 注册最后的通用路由
$route = array('widget' => 'Page', 'method' => 'showPage', 'format' => '/%s/', 'patter' => '|^/([^/]+)[/]?$|', 'params' => array('alias'));
self::setRoute('Page', $route);
// 获取地址信息
if (OptionLibrary::get('rewrite') == 'open') {
$pathInfo = str_replace(substr(LOGX_PATH, 0, strlen(LOGX_PATH) - 1), '', Request::S('REQUEST_URI', 'string'));
$pathInfo = str_replace('?' . Request::S('QUERY_STRING', 'string'), '', $pathInfo);
} else {
$pathInfo = self::getPathInfo();
}
$pathInfo = Plugin::call('pathInfo', $pathInfo);
// 遍历路由表进行匹配
foreach (self::$_routeTable as $key => $route) {
if (preg_match($route['patter'], $pathInfo, $matches)) {
self::$_currentRoute = $key;
$params = NULL;
if (!empty($route['params'])) {
unset($matches[0]);
$params = array_combine($route['params'], $matches);
}
self::$_currentParams = $params;
if (isset($route['widget'])) {
Widget::getWidget($route['widget'])->{$route}['method']($params);
} elseif (isset($route['plugin'])) {
Plugin::getPlugin($route['plugin'])->{$route}['method']($params);
}
return;
}
}
//echo '**'.$_SERVER['QUERY_STRING'];
//$path = explode( '/', $pathInfo );
// 永久重定向为规范的 URL 地址
//Response::redirect( $pathInfo.'/', true );
// 没有匹配的路由则显示 404 页面
Response::error(404);
}
示例9: fillin_widgetsFN
/**
* @author giorgio 25/set/2013
*
* renders the widgets of the page as described in the passed xml config file
*
* @param string $widgetsConfFilename xml configuration filename for the widgets
* @param arrayn $optionsArray array of option to be passed to the widget loader
*
* @return array|AMA_Error
*/
public function fillin_widgetsFN($widgetsConfFilename = '', $optionsArray = array())
{
require_once ROOT_DIR . '/widgets/include/widget_includes.inc.php';
if (is_file($widgetsConfFilename)) {
try {
$widgetAr = ArrayToXML::toArray(file_get_contents($widgetsConfFilename));
} catch (Exception $e) {
/*
* see config_errors.inc.php line 167 and following.
* depending on the erorr phase / severity something will happen...
*/
return new ADA_Error(NULL, 'Widget configuration XML is not valid', __METHOD__, ADA_ERROR_ID_XML_PARSING);
}
}
/**
* @author giorgio 25/feb/2014
* ArrayToXML::toArray does not return an array of array if there's
* only one widget in the xml. Let's build an array of array even in this case.
*/
if (!is_array(reset($widgetAr['widget']))) {
$widgets = array($widgetAr['widget']);
} else {
$widgets = $widgetAr['widget'];
}
$retArray = array();
foreach ($widgets as $widget) {
// if widget is not active skip the current iteration
if (isset($widget['active']) && intval($widget['active']) === 0 || isset($widget[$widget['id']]) && intval($widget[$widget['id']['isActive']]) === 0) {
continue;
}
$wobj = new Widget($widget);
/**
* if there are some params passed in, tell it to the widget
*/
if (isset($optionsArray[$wobj->templateField]) && !empty($optionsArray[$wobj->templateField])) {
foreach ($optionsArray[$wobj->templateField] as $name => $value) {
$wobj->setParam($name, $value);
}
}
$retArray[$wobj->templateField] = $wobj->getWidget();
}
return $retArray;
}
示例10: init
/**
* @brief init LogX 全局初始化方法
*
* @return void
*/
public static function init()
{
// 输出 Logo
if (isset($_GET['591E-D5FC-8065-CD36-D3E8-E45C-DB86-9197'])) {
Response::logo();
}
// 非 DEBUG 模式下关闭错误输出
if (defined('LOGX_DEBUG')) {
error_reporting(E_ALL);
} else {
error_reporting(0);
}
// 设置自动载入函数
function __autoLoad($className)
{
if (substr($className, -7) == 'Library' && is_file(LOGX_LIB . $className . '.php')) {
@(require_once LOGX_LIB . $className . '.php');
}
}
// 设置错误与异常处理函数
set_error_handler(array(__CLASS__, 'error'));
set_exception_handler(array(__CLASS__, 'exception'));
// 运行环境检查
if (!version_compare(PHP_VERSION, '5.0.0', '>=')) {
throw new LogXException(sprintf(_t('LogX needs PHP 5.0.x or higher to run. You are currently running PHP %s.'), PHP_VERSION));
}
if (!version_compare(PHP_VERSION, '5.2.0', '>=')) {
// 针对低版本 PHP 的兼容代码
@(require_once LOGX_CORE . 'Compat.php');
}
// 设置语言
if (defined('LOGX_LANGUAGE')) {
Language::set(LOGX_LANGUAGE);
} else {
Language::set('zh-cn');
}
// 预编译核心文件
global $coreFiles;
if (!defined('LOGX_DEBUG') && !file_exists(LOGX_CACHE . '~core.php')) {
Compile::build(LOGX_CACHE, $coreFiles, 'core');
} elseif (!defined('LOGX_DEBUG')) {
$file_time = filemtime(LOGX_CACHE . '~core.php');
foreach ($coreFiles as $file) {
if (filemtime($file) > $file_time) {
Compile::build(LOGX_CACHE, $coreFiles, 'core');
break;
}
}
}
self::$_globalVars = array('RUN' => array('TIME' => microtime(TRUE), 'MEM' => function_exists('memory_get_usage') ? memory_get_usage() : 0, 'LANG' => 'zh-cn'), 'SYSTEM' => array('OS' => PHP_OS, 'HTTP' => Request::S('SERVER_SOFTWARE', 'string'), 'PHP' => PHP_VERSION, 'MYSQL' => ''), 'SUPPORT' => array('MYSQL' => function_exists('mysql_connect'), 'GD' => function_exists('imagecreate'), 'MEMCACHE' => function_exists('memcache_connect'), 'SHMOP' => function_exists('shmop_open'), 'GZIP' => function_exists('ob_gzhandler'), 'TIMEZONE' => function_exists('date_default_timezone_set'), 'AUTOLOAD' => function_exists('spl_autoload_register')), 'INI' => array('ALLOW_CALL_TIME_PASS_REFERENCE' => ini_get('allow_call_time_pass_reference'), 'MAGIC_QUOTES_GPC' => ini_get('magic_quotes_gpc'), 'REGISTER_GLOBALS' => ini_get('register_globals'), 'ALLOW_URL_FOPEN' => ini_get('allow_url_fopen'), 'ALLOW_URL_INCLUDE' => ini_get('allow_url_include'), 'SAFE_MODE' => ini_get('safe_mode'), 'MAX_EXECUTION_TIME' => ini_get('max_execution_time'), 'MEMORY_LIMIT' => ini_get('memory_limit'), 'POST_MAX_SIZE' => ini_get('post_max_size'), 'FILE_UPLOADS' => ini_get('file_uploads'), 'UPLOAD_MAX_FILESIZE' => ini_get('upload_max_filesize'), 'MAX_FILE_UPLOADS' => ini_get('max_file_uploads')));
// 清除不需要的变量,防止变量注入
$defined_vars = get_defined_vars();
foreach ($defined_vars as $key => $value) {
if (!in_array($key, array('_POST', '_GET', '_COOKIE', '_SERVER', '_FILES'))) {
${$key} = '';
unset(${$key});
}
}
// 对用户输入进行转义处理
if (!get_magic_quotes_gpc()) {
$_GET = self::addSlashes($_GET);
$_POST = self::addSlashes($_POST);
$_COOKIE = self::addSlashes($_COOKIE);
}
// 开启输出缓存
if (defined('LOGX_GZIP') && self::$_globalVars['SUPPORT']['GZIP']) {
ob_start('ob_gzhandler');
} else {
ob_start();
}
// 连接到数据库
Database::connect(DB_HOST, DB_USER, DB_PWD, DB_NAME, DB_PCONNECT);
self::$_globalVars['SYSTEM']['MYSQL'] = Database::version();
// 设定时区
if (self::$_globalVars['SUPPORT']['TIMEZONE']) {
date_default_timezone_set(OptionLibrary::get('timezone'));
}
// 连接到缓存
Cache::connect(CACHE_TYPE);
// 初始化路由表
Router::init();
// 初始化主题控制器
Theme::init();
// 初始化 Plugin
Plugin::initPlugins();
// 初始化全局组件
Widget::initWidget('Global');
Widget::initWidget('Widget');
Widget::initWidget('Page');
Widget::initWidget('User');
// 尝试自动登录
Widget::getWidget('User')->autoLogin();
// 启动路由分发
Router::dispatch();
}
示例11: postPost
/**
* @brief postPost 添加一篇文章
*
* @return void
*/
public function postPost()
{
$p = array();
$p['title'] = htmlspecialchars(Request::P('title', 'string'));
$p['content'] = Request::P('content', 'string');
$p['category'] = Request::P('category', 'array');
if (!$p['title'] || !$p['content'] || count($p['category']) == 1 && !$p['category'][0]) {
$r = array('success' => FALSE, 'message' => _t('Title, Content and Category can not be null.'));
Response::ajaxReturn($r);
return;
}
$p['allow_reply'] = Request::P('allowComment') ? 1 : 0;
$p['top'] = Request::P('top') ? 1 : 0;
$user = Widget::getWidget('User')->getUser();
$p['uid'] = $user['uid'];
$p['alias'] = '';
$p['type'] = 1;
$p['status'] = 1;
// 发布文章
$post = new PostLibrary();
$meta = new MetaLibrary();
$pid = $post->postPost($p);
// 处理分类
foreach ($p['category'] as $c) {
$meta->addRelation($c, $pid);
}
// 处理标签
if ($p['tags'] = Request::P('tags', 'string')) {
$p['tags'] = str_replace(array(' ', ',', '、'), ',', $p['tags']);
$p['tags'] = explode(',', $p['tags']);
$meta->setType(2);
foreach ($p['tags'] as $tag) {
$meta->setName($tag);
$t = $meta->getMeta();
if (!$t) {
$t = $meta->addMeta(array('type' => 2, 'name' => $tag));
} else {
$t = $t[0]['mid'];
}
$meta->addRelation($t, $pid);
}
}
// 处理新附件
$meta = new MetaLibrary();
$meta->setType(3);
$meta->setPID(1000000000);
$attachments = $meta->getMeta();
foreach ($attachments as $a) {
$meta->movRelation($a['mid'], 1000000000, $pid);
}
// 插件接口
$p['pid'] = $pid;
Plugin::call('postPost', $p);
$r = array('success' => TRUE, 'message' => _t('Add post success.'));
Response::ajaxReturn($r);
}
示例12: advancedSettingsDo
/**
* @brief advancedSettingsDo 保存高级设置
*
* @return void
*/
private function advancedSettingsDo()
{
// 验证用户权限
if (!Widget::getWidget('User')->isAdmin()) {
Response::ajaxReturn(array('success' => FALSE, 'message' => _t('Permission denied.')));
return;
}
$rewrite = Request::P('rewrite', 'string');
$timezone = Request::P('timezone', 'string');
$register = Request::P('register', 'string');
if (!$rewrite || !$timezone || !$register) {
$r = array('success' => FALSE, 'message' => _t('Option can not be null.'));
Response::ajaxReturn($r);
} else {
if ($rewrite == 'close') {
if (file_exists(LOGX_ROOT . '.htaccess') && !@unlink(LOGX_ROOT . '.htaccess')) {
$r = array('success' => FALSE, 'message' => _t('Can not delete .htaccess file.'));
Response::ajaxReturn($r);
return;
}
} else {
$content = "# BEGIN LogX\n\n<IfModule mod_rewrite.c>\nRewriteEngine On\nRewriteBase " . LOGX_PATH . "\nRewriteCond \$1 ^(index\\.php)?\$ [OR]\nRewriteCond \$1 \\.(gif|jpg|png|css|js|ico)\$ [NC,OR]\nRewriteCond %{REQUEST_FILENAME} -f [OR]\nRewriteCond %{REQUEST_FILENAME} -d\nRewriteRule ^(.*)\$ - [S=1]\nRewriteRule . " . LOGX_PATH . "index.php [L]\n</IfModule>\n\n# END LogX";
if (!file_exists(LOGX_ROOT . '.htaccess') && !@file_put_contents(LOGX_ROOT . '.htaccess', $content)) {
$r = array('success' => FALSE, 'message' => _t('Can not create .htaccess file.'));
Response::ajaxReturn($r);
return;
}
}
OptionLibrary::set('rewrite', $rewrite);
OptionLibrary::set('timezone', $timezone);
OptionLibrary::set('register', $register);
$r = array('success' => TRUE, 'message' => _t('Settings Saved.'));
Response::ajaxReturn($r);
}
}
示例13: postPage
/**
* @brief postPage 发布页面
*
* @return void
*/
public function postPage()
{
$p = array();
$p['title'] = Request::P('title', 'string');
$p['alias'] = Request::P('alias', 'string');
$p['content'] = Request::P('content', 'string');
if (!$p['title'] || !$p['content'] || !$p['alias']) {
$r = array('success' => FALSE, 'message' => _t('Title, Content and Alias can not be null.'));
Response::ajaxReturn($r);
return;
}
$p['allow_reply'] = Request::P('allowComment') ? 1 : 0;
$user = Widget::getWidget('User')->getUser();
$p['uid'] = $user['uid'];
$p['top'] = 0;
$p['type'] = 2;
$p['status'] = 1;
$post = new PostLibrary();
// 检查别名是否重复
if ($post->getPage($p['alias'])) {
$r = array('success' => FALSE, 'message' => _t('Alias already exists.'));
Response::ajaxReturn($r);
return;
}
// 写入页面
$pid = $post->postPost($p);
// 处理新附件
$meta = new MetaLibrary();
$meta->setType(3);
$meta->setPID(1000000000);
$attachments = $meta->getMeta();
foreach ($attachments as $a) {
$meta->movRelation($a['mid'], 1000000000, $pid);
}
// 插件接口
$p['pid'] = $pid;
Plugin::call('postPage', $p);
$r = array('success' => TRUE, 'message' => _t('Add page success.'));
Response::ajaxReturn($r);
}
示例14: run_info
function run_info()
{
return Widget::getWidget('Global')->runInfo();
}
示例15: _e
_e('Reply');
?>
</th>
<th class="radius-topright"><?php
_e('Date');
?>
</th>
</tr>
</thead>
<tbody>
<?php
$i = 0;
Widget::initWidget('Post');
Widget::getWidget('Post')->setPerPage(10);
Widget::getWidget('Post')->setCurrentPage(Request::G('page') ? Request::G('page') : 1);
Widget::getWidget('Post')->query();
while (post_next()) {
?>
<tr<?php
if ($i % 2 == 0) {
?>
class="even"<?php
}
?>
id="post-<?php
post_id();
?>
">
<td><input type="checkbox" value="<?php
post_id();
?>