/**
  * 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();
 }
Exemple #2
0
 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();
     }
 }
Exemple #3
0
 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);
 }
Exemple #5
0
 /**
  * 获取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);
 }
Exemple #7
0
    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');
    }
}
Exemple #9
0
 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;
 }
Exemple #10
0
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 
}
Exemple #11
0
 /**
  * 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>';
 }
Exemple #13
0
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;
}
Exemple #14
0
/** 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;
    }
}
Exemple #15
0
 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();
 }
Exemple #17
0
 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();");
     }
 }
Exemple #18
0
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";
}
Exemple #19
0
 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;
 }
Exemple #20
0
 /**
  * 获得安全的表单数据
  * @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>';
    }
Exemple #22
0
 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>';
 }
Exemple #25
0
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>';
     }
 }
Exemple #27
0
 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;
         }
     }
 }
Exemple #28
0
 /**
  * 获取微语列表
  *
  * @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;
 }
Exemple #29
0
 /**
  * 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);
 }
Exemple #30
0
 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;
 }