/** * Get menu * * @param string $category Category name */ public static function get($category = '') { // Get menu table $menu = new Table('menu'); // Display view View::factory('box/menu/views/frontend/index')->assign('items', $menu->select('[category="' . $category . '"]', 'all', null, array('id', 'name', 'link', 'target', 'order', 'category'), 'order', 'ASC'))->assign('uri', Uri::segments())->assign('defpage', Option::get('defaultpage'))->display(); }
private function __construct() { $this->_path = $this->setPath(); $this->_routingTable = Option::getRoutingTable(); $urlMode = Option::get('isurlrewrite'); foreach ($this->_routingTable as $route) { if (!isset($route['reg_' . $urlMode])) { $reg = isset($route['reg']) ? $route['reg'] : $route['reg_0']; } else { $reg = $route['reg_' . $urlMode]; } if (preg_match($reg, $this->_path, $matches)) { $this->_model = $route['model']; $this->_method = $route['method']; $this->_params = $matches; break; } elseif (preg_match($route['reg_0'], $this->_path, $matches)) { $this->_model = $route['model']; $this->_method = $route['method']; $this->_params = $matches; break; } } if (empty($this->_model)) { show_404_page(); } }
function getUsers($page = null, $condition = '') { if ($page) { $perpage_num = Option::get('admin_perpage_num'); $startId = ($page - 1) * $perpage_num; $condition .= " LIMIT {$startId}, " . $perpage_num; } $res = $this->db->query("SELECT * FROM " . DB_PREFIX . "viporg {$condition}"); $users = array(); while ($row = $this->db->fetch_array($res)) { //$row['name'] = htmlspecialchars($row['name']); //$row['company'] = htmlspecialchars($row['company']); if ($row['duty'] == 1) { $row['duty'] = '理事单位'; } if ($row['duty'] == 2) { $row['duty'] = '常务理事单位'; } if ($row['duty'] == 3) { $row['duty'] = '会员单位'; } $users[] = $row; } return $users; }
/** * @param null $key * @return mixed */ public static function all($key = null) { if (!$key) { $key = self::$key; } return Option::get($key); }
/** * 获取trackbak * * @param unknown_type $page * @param unknown_type $blogId * @return unknown */ function getTrackbacks($page = null, $blogId = null, $spot = 0) { $timezone = Option::get('timezone'); $andQuery = '1=1'; $andQuery .= $blogId ? " and a.gid={$blogId}" : ''; $condition = ''; if ($page) { $perpage_num = Option::get('admin_perpage_num'); $startId = ($page - 1) * $perpage_num; $condition = "LIMIT {$startId}, " . $perpage_num; } if ($spot == 0) { $sql = "SELECT * FROM " . DB_PREFIX . "trackback as a where {$andQuery} ORDER BY a.tbid DESC {$condition}"; } else { $sql = ROLE == 'admin' ? "SELECT * FROM " . DB_PREFIX . "trackback as a where {$andQuery} ORDER BY a.tbid DESC {$condition}" : "SELECT *,a.title FROM " . DB_PREFIX . "trackback as a, " . DB_PREFIX . "blog as b where {$andQuery} and a.gid=b.gid and b.author=" . UID . " ORDER BY a.tbid DESC {$condition}"; } $ret = $this->db->query($sql); $trackbacks = array(); while ($row = $this->db->fetch_array($ret)) { $row['title'] = htmlspecialchars($row['title']); $row['blog_name'] = htmlspecialchars($row['blog_name']); $row['date'] = gmdate("Y-m-d H:i", $row['date'] + $timezone * 3600); $row['url'] = htmlspecialchars($row['url']); $row['excerpt'] = htmlspecialchars($row['excerpt']); $trackbacks[] = $row; } return $trackbacks; }
/** * Create sitemap */ public static function create() { // Get pages list $pages_list = Pages::getPages(); // Create sitemap content $map = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $map .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n"; foreach ($pages_list as $page) { if ($page['parent'] != '') { $parent = $page['parent'] . '/'; $priority = '0.5'; } else { $parent = ''; $priority = '1.0'; } $map .= "\t" . '<url>' . "\n\t\t" . '<loc>' . Option::get('siteurl') . '/' . $parent . $page['slug'] . '</loc>' . "\n\t\t" . '<lastmod>' . date("Y-m-d", (int) $page['date']) . '</lastmod>' . "\n\t\t" . '<changefreq>weekly</changefreq>' . "\n\t\t" . '<priority>' . $priority . '</priority>' . "\n\t" . '</url>' . "\n"; } // Get list of components $components = Sitemap::getComponents(); // Add components to sitemap if (count($components) > 0) { foreach ($components as $component) { $map .= "\t" . '<url>' . "\n\t\t" . '<loc>' . Option::get('siteurl') . '/' . Text::lowercase($component) . '</loc>' . "\n\t\t" . '<lastmod>' . date("Y-m-d", time()) . '</lastmod>' . "\n\t\t" . '<changefreq>weekly</changefreq>' . "\n\t\t" . '<priority>1.0</priority>' . "\n\t" . '</url>' . "\n"; } } // Close sitemap $map .= '</urlset>'; // Save sitemap return File::setContent(ROOT . DS . 'sitemap.xml', $map); }
function _helpsearch($params) { $user = $params['user']; $channel = $params['channel']; $helpsearch = $params['helpsearch']; $server = Option::get('projectsdot', 'server'); $pduser = Option::get('projectsdot', 'user'); $pdpass = Option::get('projectsdot', 'pass'); $database = Option::get('projectsdot', 'database'); $site = Option::get('projectsdot', 'site'); $db = new DB("mysql:host={$server->value};dbname={$database->value}", $pduser->value, $pdpass->value, 'projectsdot'); $helplinks = $db->results("select n.nid, n.title, b.weight from node n, node_revisions r, book b where n.vid = r.vid and b.vid = n.vid and n.type = 'book' and r.body like CONCAT('%', :crit, '%');", array('crit' => $helpsearch)); $title = 'Help Search'; $body = 'The book topics on the left contained the search phrase "' . htmlspecialchars($helpsearch) . '".'; foreach ($helplinks as $link) { $links .= '<li><a href="#' . $link->nid . '" onclick="send(\'/help ::' . $link->nid; if ($helpsearch != '') { $links .= ' ' . htmlspecialchars($helpsearch); } $links .= '\');return false;">' . $link->title . '</a></li>'; } $msg = '<a href="#" class="close" onclick="return closedrawer({$drawer_id});">close this drawer</a><div id="helplinks" style="width:30%;float:left;height:200px;overflow-y:auto;overflow-x:hidden;"><ul>' . $links . '</ul></div> <div id="helpbody" style="width:70%;height:200px;overflow:auto;float:left;"><h3>' . $title . '</h3>' . $body . '</div>'; DB::get()->query("DELETE FROM drawers WHERE indexed = 'help' and user_id = :user_id;", array('user_id' => $user->id)); DB::get()->query("INSERT INTO drawers (user_id, message, indexed, cssclass) VALUES (:user_id, :msg, 'help', 'help');", array('user_id' => $user->id, 'msg' => $msg)); $msg = 'Removed the "' . htmlspecialchars($name) . '" calendar.'; $obj = new StdClass(); $obj->laststatus = 0; $obj->js = "refreshDrawers();"; echo json_encode($obj); die; return true; }
function kl_album_callback_do($hide) { global $CACHE; $DB = Database::getInstance(); $kl_album_config = Option::get('kl_album_config'); if (is_null($kl_album_config)) { $DB->query("INSERT INTO " . DB_PREFIX . "options(option_name, option_value) VALUES('kl_album_config', '{$kl_album_config}')"); $CACHE->updateCache('options'); } $isExists = false; $Navi_Model = new Navi_Model(); $navis = $Navi_Model->getNavis(); foreach ($navis as $navi) { if ($navi['url'] == '?plugin=kl_album' && $navi['isdefault'] == 'y') { $Navi_Model->updateNavi(array('hide' => $hide), $navi['id']); $CACHE->updateCache('navi'); $isExists = true; break; } } if (!$isExists) { $DB->query("insert into " . DB_PREFIX . "navi (naviname,url,newtab,hide,taxis,isdefault) values('相册','?plugin=kl_album', 'n', '{$hide}', 4, 'y')"); $CACHE->updateCache('navi'); } }
function _alarm($params) { $user = $params['user']; $channel = $params['channel']; $event = $params['event']; $time = $params['time']; $repeat = $params['repeat']; $adata = DB::get()->assoc("SELECT value FROM options WHERE user_id = :user_id AND name = 'alarmdata' AND grouping = 'Alarms'", array('user_id' => $user->id)); if ($adata == '') { $alarms = array(); } else { $alarms = unserialize($adata); } $time = strtotime($time); $output = '<div class="slash">' . htmlspecialchars($params['matches'][0]) . '</div>'; if ($time == 0) { $output .= 'Specified alarm time is <em>invalid</em>.'; } else { $newalarm = array('event' => $event, 'time' => $time - intval((string) Option::get('Time', 'Zone Offset')) * 3600, 'repeat' => $repeat); $alarms[] = $newalarm; DB::get()->query("DELETE FROM options WHERE user_id = :user_id AND name = 'alarmdata' AND grouping = 'Alarms'", array('user_id' => $user->id)); DB::get()->query("INSERT INTO options (grouping, name, user_id, value) VALUES('Alarms', 'alarmdata', :user_id, :value)", array('user_id' => $user->id, 'value' => serialize($alarms))); $output .= 'Alarm added for ' . date('M j, Y h:ia', $time) . '.'; } DB::get()->query("INSERT INTO presence (data, user_id, type, cssclass, user_to, channel) VALUES (:msg, :user_id, 'system', 'ok', :user_to, '')", array('msg' => $output, 'user_id' => 0, 'user_to' => $user->id)); return true; }
function JA_content_f($arr) { $blogname = Option::get('blogname'); //$url = BLOG_URL."?post=".$arr['logid']; $url = Url::log($arr['logid']); $name = "<a style=\"color:red;\" href=\"" . BLOG_URL . "\">" . $blogname . "</a>"; ?> <p> 版权所有:《<?php echo $name; ?> 》 => 《<a href="<?php echo $url; ?> "><?php echo $arr['log_title']; ?> </a>》<br /> 本文地址:<a href="<?php echo $url; ?> "><?php echo $url; ?> </a><br /> 除非注明,文章均为 《<?php echo $name; ?> 》 原创,欢迎转载!转载请注明本文地址,谢谢。<br /> </p> <?php }
/** * Remove a role */ public function remove() { $role = Role::getById($this->roleId); if ($role && $role->isRemovable()) { User::getDbInstance()->update(User::getTable(), new DBExample(array('roleId' => $role->id)), array('roleId' => Option::get('roles.default-role'))); $role->delete(); } }
/** * Form Component */ public static function formComponent() { $_templates = Themes::getTemplates(); foreach ($_templates as $template) { $templates[basename($template, '.template.php')] = basename($template, '.template.php'); } echo '<div class="col-xs-3">' . Form::open() . Form::hidden('csrf', Security::token()) . Form::label('sandbox_form_template', __('Sandbox template', 'sandbox')) . Form::select('sandbox_form_template', $templates, Option::get('sandbox_template'), array('class' => 'form-control')) . Html::br() . Form::submit('sandbox_component_save', __('Save', 'sandbox'), array('class' => 'btn btn-default')) . Form::close() . '</div>'; }
function klUploadFile($filename, $errorNum, $tmpfile, $filesize, $filetype, $type, $isIcon = 0) { $kl_album_config = unserialize(Option::get('kl_album_config')); $extension = strtolower(substr(strrchr($filename, "."), 1)); $uppath = KL_UPLOADFILE_PATH . date("Ym") . "/"; $fname = md5($filename) . date("YmdHis") . rand() . '.' . $extension; $attachpath = $uppath . $fname; if (!is_dir(KL_UPLOADFILE_PATH)) { umask(0); $ret = @mkdir(KL_UPLOADFILE_PATH, 0777); if ($ret === false) { return '创建文件上传目录失败'; } } if (!is_dir($uppath)) { umask(0); $ret = @mkdir($uppath, 0777); if ($ret === false) { return "上传失败。文件上传目录(content/plugins/kl_album/upload)不可写"; } } doAction('kl_album_upload', $tmpfile); //缩略 $imtype = array('jpg', 'png', 'jpeg', 'gif'); $thum = $uppath . "thum-" . $fname; $attach = in_array($extension, $imtype) && function_exists("ImageCreate") && klResizeImage($tmpfile, $filetype, $thum, $isIcon, KL_IMG_ATT_MAX_W, KL_IMG_ATT_MAX_H) ? $thum : $attachpath; $kl_album_compression_length = isset($kl_album_config['compression_length']) ? intval($kl_album_config['compression_length']) : 1024; $kl_album_compression_width = isset($kl_album_config['compression_width']) ? intval($kl_album_config['compression_width']) : 768; if ($kl_album_compression_length == 0 || $kl_album_compression_width == 0) { if (@is_uploaded_file($tmpfile)) { if (@(!move_uploaded_file($tmpfile, $attachpath))) { @unlink($tmpfile); return "上传失败。文件上传目录(content/plugins/kl_album/upload)不可写"; } else { echo 'kl_album_successed'; } chmod($attachpath, 0777); } } else { if (in_array($extension, $imtype) && function_exists("ImageCreate") && klResizeImage($tmpfile, $filetype, $attachpath, $isIcon, $kl_album_compression_length, $kl_album_compression_width)) { echo 'kl_album_successed'; } else { if (@is_uploaded_file($tmpfile)) { if (@(!move_uploaded_file($tmpfile, $attachpath))) { @unlink($tmpfile); return "上传失败。文件上传目录(content/plugins/kl_album/upload)不可写"; } else { echo 'kl_album_successed'; } chmod($attachpath, 0777); } } } $attach = substr($attach, 6, strlen($attach)); return $attach; }
/** Automatically selects the right DB handler from options * * @param Option $obj_OptionHandler * * @return dbHandler */ function db_autodefine($obj_OptionHandler) { $str_DbType = $obj_OptionHandler->get('db_type'); switch ($str_DbType) { case 'MySQL': require_once PHP_CLASSES_DIR . 'database/MySqlHandler.php'; return new MySqlHandler(); break; } }
function chanbar_menu($add, $room, $roomtype) { $roomhtml = ''; if ($roomtype == 'portal') { list($type, $name) = explode(':', $room->name, 2); $url = Option::get('portal', $name); $roomhtml .= '<li><a href="#" onclick="$(\'#portal_' . substr(md5($name), 6, 10) . '\').attr(\'src\', \'' . $url . '\');return false;">Reset</a></li>'; } return $roomhtml; }
/** * Get slider * * @param string $category Category name */ public static function get($category = '') { if ($category == 'default') { $category = ''; } // Get slider table $slider = new Table('slider'); // Display view View::factory('slider/views/frontend/index')->assign('items', $slider->select('[category="' . $category . '"]', 'all', null, null, 'order', 'ASC'))->assign('uri', Uri::segments())->assign('defpage', Option::get('defaultpage'))->display(); }
public static function debug($msg) { static $showdebug; if (!isset($showdebug)) { $showdebug = Option::get('Identity', 'debug'); } if ($showdebug) { Immediate::create()->js("addSystem({user_id:0, data: '<pre>" . str_replace("\n", '\\n', addslashes($msg)) . "</pre>', cssclass: 'ok', username: '', nickname: '', status: " . microtime(true) . ", js:''}, '#notices');do_scroll();"); } }
function Lanye_lytebox() { $active_plugins = Option::get('active_plugins'); echo '<link href="' . BLOG_URL . 'content/plugins/Lanye_lytebox/images/lytebox.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="' . BLOG_URL . 'content/plugins/Lanye_lytebox/images/lytebox.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("a[href$=jpg],a[href$=png],a[href$=gif],a[href$=jpeg]").attr("rel","lytebox[vacation]"); }); </script>' . "\r\n"; }
public static function output() { $content = ob_get_clean(); if (Option::get('isgzipenable') == 'y' && function_exists('ob_gzhandler')) { ob_start('ob_gzhandler'); } else { ob_start(); } echo $content; ob_end_flush(); exit; }
/** * 获得安全的表单数据 * @access public * @param $type 'login'、'register'、'open' * @return array */ public static function getInputData($type = null) { $InputData = array(); switch ($type) { case 'login': foreach ($_POST as $key => $value) { $_POST[$key] = trim($value); } if (!empty($_POST['u'])) { if (Juser_is_mail($_POST['u'])) { $InputData['mail'] = strtolower($_POST['u']); #数据库仅记录小写的邮箱 } } if (!empty($_POST['p'])) { if (Juser_is_password($_POST['p'])) { $InputData['password'] = $_POST['p']; } } return $InputData; case 'register': foreach ($_POST as $key => $value) { $_POST[$key] = trim($value); } #用户昵称设定 禁止使用管理员、作者昵称以及博客名 if (!empty($_POST['n']) && mb_strlen($_POST['n'], 'UTF-8') < 16) { $fobidName = array_merge(Juser_get_admin_name(), array('admin', 'administrator', 'writer', 'visitor', Option::get('blogname'))); $UserName = strip_tags($_POST['n']); $InputData['name'] = str_replace($fobidName, '**', $UserName); } else { $InputData['name'] = '路人乙'; } #注册邮箱不允许使用管理员的邮箱 if (!empty($_POST['u']) && Juser_is_mail($_POST['u']) && !in_array($_POST['u'], Juser_get_admin_mail())) { $InputData['mail'] = strtolower($_POST['u']); #数据库仅记录小写的邮箱 } else { $InputData['mail'] = false; } if (!empty($_POST['p']) && !empty($_POST['rp']) && $_POST['p'] == $_POST['rp'] && Juser_is_password($_POST['p'])) { $InputData['password'] = $_POST['p']; } else { $InputData['password'] = false; } if (!empty($_POST['url']) && Juser_is_url($_POST['url'])) { $InputData['url'] = rtrim($_POST['url'], '/') . '/'; } return $InputData; default: return false; break; } }
/** * Set editor headers */ public static function headers() { echo ' <!-- Bootstrap Markdown & required libs --> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/bootstrap-markdown/bootstrap-markdown/lib/markdown.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/bootstrap-markdown/bootstrap-markdown/lib/to-markdown.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/bootstrap-markdown/bootstrap-markdown/js/bootstrap-markdown.js"></script> <link rel="stylesheet" type="text/css" href="' . Option::get('siteurl') . '/plugins/bootstrap-markdown/bootstrap-markdown/css/bootstrap-markdown.min.css" /> '; echo '<script>$(document).ready(function(){ $("#editor_area").markdown(); });</script>'; }
function addComment($params) { $name = isset($_POST['comname']) ? addslashes(trim($_POST['comname'])) : ''; $content = isset($_POST['comment']) ? addslashes(trim($_POST['comment'])) : ''; $mail = isset($_POST['commail']) ? addslashes(trim($_POST['commail'])) : ''; $url = isset($_POST['comurl']) ? addslashes(trim($_POST['comurl'])) : ''; $imgcode = isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : ''; $blogId = isset($_POST['gid']) ? intval($_POST['gid']) : -1; $pid = isset($_POST['pid']) ? intval($_POST['pid']) : 0; if (ISLOGIN === true) { $CACHE = Cache::getInstance(); $user_cache = $CACHE->readCache('user'); $name = addslashes($user_cache[UID]['name_orig']); $mail = addslashes($user_cache[UID]['mail']); $url = addslashes(BLOG_URL); } if ($url && strncasecmp($url, 'http', 4)) { $url = 'http://' . $url; } doAction('comment_post'); $Comment_Model = new Comment_Model(); $Comment_Model->setCommentCookie($name, $mail, $url); if ($Comment_Model->isLogCanComment($blogId) === false) { emMsg('评论失败:该文章已关闭评论'); } elseif ($Comment_Model->isCommentExist($blogId, $name, $content) === true) { emMsg('评论失败:已存在相同内容评论'); } elseif (ROLE == ROLE_VISITOR && $Comment_Model->isCommentTooFast() === true) { emMsg('评论失败:您提交评论的速度太快了,请稍后再发表评论'); } elseif (empty($name)) { emMsg('评论失败:请填写姓名'); } elseif (strlen($name) > 20) { emMsg('评论失败:姓名不符合规范'); } elseif ($mail != '' && !checkMail($mail)) { emMsg('评论失败:邮件地址不符合规范'); } elseif (ISLOGIN == false && $Comment_Model->isNameAndMailValid($name, $mail) === false) { emMsg('评论失败:禁止使用管理员昵称或邮箱评论'); } elseif (!empty($url) && preg_match("/^(http|https)\\:\\/\\/[^<>'\"]*\$/", $url) == false) { emMsg('评论失败:主页地址不符合规范', 'javascript:history.back(-1);'); } elseif (empty($content)) { emMsg('评论失败:请填写评论内容'); } elseif (strlen($content) > 8000) { emMsg('评论失败:内容不符合规范'); } elseif (ROLE == ROLE_VISITOR && Option::get('comment_needchinese') == 'y' && !preg_match('/[\\x{4e00}-\\x{9fa5}]/iu', $content)) { emMsg('评论失败:评论内容需包含中文'); } elseif (ISLOGIN == false && Option::get('comment_code') == 'y' && session_start() && (empty($imgcode) || $imgcode !== $_SESSION['code'])) { emMsg('评论失败:验证码错误'); } else { $_SESSION['code'] = null; $Comment_Model->addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid); } }
/** * Main Dashboard admin function */ public static function main() { // set/update google analytics settings if (Request::post('ga_settings_update')) { if (Security::check(Request::post('csrf'))) { // client id $ga_client_id = trim(Request::post('ga_client_id')); if (!empty($ga_client_id)) { $opt_client_id = Option::get('ga_client_id'); if (empty($opt_client_id)) { Option::add('ga_client_id', $ga_client_id); } else { Option::update('ga_client_id', $ga_client_id); } } // API key $ga_api_key = trim(Request::post('ga_api_key')); if (!empty($ga_api_key)) { $opt_api_key = Option::get('ga_api_key'); if (empty($opt_api_key)) { Option::add('ga_api_key', $ga_api_key); } else { Option::update('ga_api_key', $ga_api_key); } } // view id $ga_view_id = trim(Request::post('ga_view_id')); if (!empty($ga_view_id)) { $opt_view_id = Option::get('ga_view_id'); if (empty($opt_view_id)) { Option::add('ga_view_id', $ga_view_id); } else { Option::update('ga_view_id', $ga_view_id); } } // tracking id $ga_tracking_id = trim(Request::post('ga_tracking_id')); if (!empty($ga_tracking_id)) { $opt_view_id = Option::get('ga_tracking_id'); if (empty($opt_view_id)) { Option::add('ga_tracking_id', $ga_tracking_id); } else { Option::update('ga_tracking_id', $ga_tracking_id); } } } } // Display view View::factory('box/dashboard/views/backend/index')->display(); }
/** * Set editor headers */ public static function headers() { echo ' <!-- markItUp! 1.1.13 --> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/markitup/markitup/jquery.markitup.js"></script> <!-- markItUp! toolbar settings --> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/markitup/markitup/sets/html/set.js"></script> <!-- markItUp! skin --> <link rel="stylesheet" type="text/css" href="' . Option::get('siteurl') . '/plugins/markitup/markitup/skins/simple/style.css" /> <!-- markItUp! toolbar skin --> <link rel="stylesheet" type="text/css" href="' . Option::get('siteurl') . '/plugins/markitup/markitup/sets/html/style.css" /> '; echo '<script>$(document).ready(function(){$("#editor_area").markItUp(mySettings);});</script>'; }
function sitemap_update_on_comment() { global $sitemap_name; if (Option::get('ischkcomment') == 'n') { return; } $gid = isset($_POST['gid']) ? intval($_POST['gid']) : -1; $url = Url::log($gid); $lastmod = gmdate('c'); $file = EMLOG_ROOT . '/' . $sitemap_name; $xml = file_get_contents($file); $xml = preg_replace("|<loc>" . preg_quote($url) . "<\\/loc>\n<lastmod>(.*?)<\\/lastmod>|i", "<loc>{$url}</loc>\n<lastmod>{$lastmod}</lastmod>", $xml); file_put_contents($file, $xml); }
/** * Set editor headers */ public static function headers() { echo ' <link rel="stylesheet" type="text/css" href="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/lib/codemirror.css" /> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/lib/codemirror.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/addon/edit/matchbrackets.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/htmlmixed/htmlmixed.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/xml/xml.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/javascript/javascript.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/css/css.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/clike/clike.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/mode/php/php.js"></script> <script type="text/javascript" src="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/addon/selection/active-line.js"></script> <link rel="stylesheet" href="' . Option::get('siteurl') . '/plugins/codemirror/codemirror/theme/' . CodeMirror::$theme . '.css"> <style> .CodeMirror { height:400px!important; border: 1px solid #ccc; color: #555; font-family: monospace; font-size: 15px; line-height: 1; padding: 6px 9px; } </style> '; if (Request::get('id') == 'themes' || Request::get('id') == 'snippets' || Request::get('id') == 'emails') { if (Request::get('action') == 'edit_styles') { $mode = 'text/css'; } else { $mode = 'application/x-httpd-php'; } echo '<script> $(document).ready(function() { var editor = CodeMirror.fromTextArea(document.getElementById("content"), { lineNumbers: false, styleActiveLine: true, matchBrackets: true, indentUnit: 4, mode: "' . $mode . '", indentWithTabs: true, theme: "' . CodeMirror::$theme . '" }); }); </script>'; } }
public function find($userId, $columns = ['*']) { $cache_key = is_array($columns) && $columns[0] == '*' ? 'user_' . $userId : 'user_' . md5($userId . http_build_query($columns)); // See if we've the post cached earlier in this request and return it if it's available if (Cache::tags(['users', 'user_' . $userId])->has($cache_key)) { return Cache::tags(['users', 'user_' . $userId])->get($cache_key); } else { // Eventually we try to fetch the post from the database or return an error try { $user = $this->userRepository->findOrFail($userId, $columns); // Cache it using the caching system Cache::tags(['users', 'user_' . $userId])->put($cache_key, $user, \Option::get('users_cache_expires', 60)); return $user; } catch (\Exception $e) { return null; } } }
/** * 获取微语列表 * * @param int $page * @param int $spot 0:前台 1:后台 * @return array */ function getTwitters($page = 1, $spot = 0) { $perpage_num = $spot == 1 ? Option::get('admin_perpage_num') : Option::get('index_twnum'); $start_limit = !empty($page) ? ($page - 1) * $perpage_num : 0; $author = ROLE == ROLE_ADMIN || ROLE == ROLE_VISITOR || $spot == 0 ? '' : 'and author=' . UID; $limit = "LIMIT {$start_limit}, " . $perpage_num; $sql = "SELECT * FROM " . DB_PREFIX . "twitter WHERE 1=1 {$author} ORDER BY id DESC {$limit}"; $res = $this->db->query($sql); $tws = array(); while ($row = $this->db->fetch_array($res)) { $row['id'] = $row['id']; $row['t'] = emoFormat($row['content']); $row['date'] = smartDate($row['date']); $row['replynum'] = $row['replynum']; $tws[] = $row; } return $tws; }
/** * Constructor * * @param array $filters The filters */ public function __construct($filters) { $options = array(); // active languages $languages = array(); $allLanguages = Language::getAll('tag'); foreach ($allLanguages as $tag => $language) { $options[$tag] = $language->label; if ($language->active) { $languages[$tag] = $language; } } if (!in_array($filters['tag'], array_keys($allLanguages))) { $filters['tag'] = Lang::DEFAULT_LANGUAGE; } $param = array('id' => 'language-filter-form', 'method' => 'get', 'action' => App::router()->getUri('language-keys-list'), 'fieldsets' => array('filters' => array('nofieldset' => true, new SelectInput(array('name' => 'tag', 'options' => $options, 'default' => $filters['tag'], 'style' => 'width: 80%; margin-right: 5px;', 'label' => Lang::get('language.filter-language-label'), 'after' => Icon::make(array('icon' => 'pencil', 'class' => 'text-primary edit-lang', 'title' => Lang::get('language.filter-language-edit'))) . (count($allLanguages) > 1 && Option::get('main.language') != $filters['tag'] && $filters['tag'] != Lang::DEFAULT_LANGUAGE ? Icon::make(array('icon' => 'close', 'class' => 'text-danger delete-lang', 'title' => Lang::get('language.filter-language-delete'))) : ''))), new RadioInput(array('name' => 'keys', 'options' => array('missing' => Lang::get('language.filter-keys-missing'), 'all' => Lang::get('language.filter-keys-all')), 'default' => isset($filters['keys']) ? $filters['keys'] : 'all', 'label' => Lang::get('language.filter-keys-label'), 'labelWidth' => '100%', 'layout' => 'vertical'))))); $this->form = new Form($param); }
function getUsers($page = null) { $condition = ''; if ($page) { $perpage_num = Option::get('admin_perpage_num'); $startId = ($page - 1) * $perpage_num; $condition = "LIMIT {$startId}, " . $perpage_num; } $res = $this->db->query("SELECT * FROM " . DB_PREFIX . "user {$condition}"); $users = array(); while ($row = $this->db->fetch_array($res)) { $row['name'] = htmlspecialchars($row['nickname']); $row['login'] = htmlspecialchars($row['username']); $row['email'] = htmlspecialchars($row['email']); $row['description'] = htmlspecialchars($row['description']); $users[] = $row; } return $users; }