コード例 #1
0
ファイル: display.php プロジェクト: cbsistem/nexos
function adminblock($bid, $title, &$data)
{
    if (is_admin()) {
        $waitlist = $content = $imgcontent = '';
        if (empty($data)) {
            $data = '';
        }
        global $prefix, $db, $MAIN_CFG, $waitlist;
        if (!defined('ADMIN_PAGES') && $MAIN_CFG['global']['admingraphic'] & 1) {
            global $CLASS;
            require_once CORE_PATH . 'classes/cpg_adminmenu.php';
            $imgcontent = $CLASS['adminmenu']->display('all', 'blockgfx') . '<hr />';
        }
        if (!empty($data)) {
            $data = $imgcontent . $data . '<hr />';
        }
        $imgcontent = '';
        // $title = _WAITINGCONT;
        // Contributed by sengsara
        if (!Cache::array_load('waitlist')) {
            if ($waitdir = dir('admin/wait')) {
                while ($waitfile = $waitdir->read()) {
                    if (preg_match('/^wait_(.*?)\\.php$/', $waitfile, $match)) {
                        $waitlist[$match[1]] = "admin/wait/{$waitfile}";
                    }
                }
                $waitdir->close();
            }
            // Dragonfly system
            $waitdir = dir('modules');
            while ($module = $waitdir->read()) {
                if (!is_active($module)) {
                    continue;
                }
                if (false === strpos($module, '.') && $module != 'CVS' && file_exists("modules/{$module}/admin/adwait.inc")) {
                    $waitlist[$module] = "modules/{$module}/admin/adwait.inc";
                }
            }
            $waitdir->close();
            Cache::array_save('waitlist');
        }
        ksort($waitlist);
        foreach ($waitlist as $module => $file) {
            require $file;
        }
        $block = array('bid' => $bid, 'view' => 2, 'title' => $title, 'content' => $data . $content);
        return $block;
    }
    return false;
}
コード例 #2
0
ファイル: common.php プロジェクト: cbsistem/nexos
}
$user_ip = !empty($userinfo['user_ip']) ? $userinfo['user_ip'] : ($user_ip = $userinfo['user_ip'] = $db->binary_safe(Security::get_ip()));
//
// Setup forum wide options, if this fails
// then we output a BB_CRITICAL_ERROR since
// basic forum information is not available
//
$board_config = BoardCache::conf();
// Cache topic icons
if (!Cache::array_load('topic_icons', basename(dirname(__FILE__)), true)) {
    $result = $db->sql_query("SELECT * FROM " . TOPIC_ICONS_TABLE);
    while ($row = $db->sql_fetchrow($result, SQL_ASSOC)) {
        $topic_icons[$row['icon_id']] = $row;
    }
    $db->sql_freeresult($result);
    Cache::array_save('topic_icons', basename(dirname(__FILE__)));
}
//if (defined('BBAttach_mod')) {
require_once 'includes/phpBB/attach/functions_includes.php';
require_once 'includes/phpBB/attach/functions_attach.php';
require_once 'includes/phpBB/attach/functions_delete.php';
require_once 'includes/phpBB/attach/functions_thumbs.php';
require_once 'includes/phpBB/attach/functions_filetypes.php';
//
// Get Attachment Config
//
$attach_config = BoardCache::attach();
// Functions for displaying Attachment Things
require_once 'includes/phpBB/displaying.php';
require_once 'includes/phpBB/class.attachments.main.php';
if (isset($attach_config['allow_ftp_upload']) && !intval($attach_config['allow_ftp_upload'])) {
コード例 #3
0
ファイル: cpg_member.php プロジェクト: cbsistem/nexos
 private function loginadmin()
 {
     $aid = isset($_POST['alogin']) ? Fix_Quotes($_POST['alogin']) : NULL;
     $pwd = isset($_POST['pwd']) ? $_POST['pwd'] : NULL;
     if ($aid && $pwd) {
         global $sec_code, $CPG_SESS;
         if ($sec_code & 1) {
             $gfxid = isset($_POST['gfxid']) ? $_POST['gfxid'] : 0;
             $code = $CPG_SESS['gfx'][$gfxid];
             $gfx_check = isset($_POST['gfx_check']) ? $_POST['gfx_check'] : '';
             if (strlen($gfx_check) < 2 || $code != $gfx_check) {
                 return false;
             }
         }
         global $db, $prefix;
         $pwd = md5($pwd);
         $result = $db->sql_query('SELECT * FROM ' . $prefix . "_admins WHERE aid='{$aid}'");
         $row = $db->sql_fetchrow($result, SQL_ASSOC);
         if (isset($row['admin_id'])) {
             if (!($login = Cache::array_load('login', 'a', false)) || !isset($login[$row['admin_id']])) {
                 $login[$row['admin_id']] = 1;
             } else {
                 if ($login[$row['admin_id']] >= 5) {
                     cpg_error('Too many failed login attempts');
                 } else {
                     $login[$row['admin_id']]++;
                 }
             }
             if ($row['pwd'] == $pwd && $row['pwd'] != '') {
                 $this->setadmcookie(true, $row['admin_id'], $pwd, isset($_POST['persistent']));
                 unset($row['pwd']);
                 $this->admin = $row;
                 $this->admin_id = $row['aid'];
                 $this->demo = CPGN_DEMO && false !== strpos($this->admin_id, 'demo');
                 unset($CPG_SESS['admin']);
                 $login[$row['admin_id']] = 1;
             }
             Cache::array_save('login', 'a', $login);
         }
     }
     return $this->admin_id;
 }
コード例 #4
0
ファイル: nbbcode.php プロジェクト: cbsistem/nexos
function get_smilies()
{
    global $db, $prefix;
    $smilies = Cache::array_load('smilies', 'bb', false);
    if (!$smilies) {
        $smilies = $db->sql_ufetchrowset('SELECT * FROM ' . $prefix . '_bbsmilies', SQL_ASSOC);
        if (count($smilies)) {
            usort($smilies, 'sort_smiley');
            Cache::array_save('smilies', 'bb', $smilies);
        }
    }
    return $smilies;
}
コード例 #5
0
ファイル: cpg_adminmenu.php プロジェクト: cbsistem/nexos
 private function get_content()
 {
     global $menuitems, $adminindex, $adlinks;
     if (!Cache::array_load('adlinks')) {
         $adlinks = array();
         $linksdir = dir('admin/links');
         while ($file = $linksdir->read()) {
             // CPG-Nuke system							 PHP-Nuke system
             if (preg_match('/^adlnk_.*?\\.php$/', $file) || preg_match('/^links\\..*?\\.php$/', $file)) {
                 $adlinks[] = 'admin/links/' . $file;
             }
         }
         $linksdir->close();
         // Dragonfly system
         $linksdir = dir('modules');
         while ($module = $linksdir->read()) {
             if (false === strpos($module, '.') && $module != 'CVS' && file_exists("modules/{$module}/admin/adlinks.inc")) {
                 $adlinks[$module] = 'modules/' . $module . '/admin/adlinks.inc';
             }
         }
         $linksdir->close();
         Cache::array_save('adlinks');
     }
     foreach ($adlinks as $module => $path) {
         if (is_file($path)) {
             include $path;
         }
     }
     $this->items = is_array($menuitems) ? $menuitems : array();
     ksort($this->items);
     $this->items[_ADMIN][_MENU]['URL'] = $adminindex;
     $this->items[_ADMIN][_MENU]['IMG'] = '';
     $this->items[_ADMIN][_ADMINLOGOUT]['URL'] = URL::admin('logout');
     $this->items[_ADMIN][_ADMINLOGOUT]['IMG'] = '';
     unset($menuitems);
 }
コード例 #6
0
ファイル: admin_board.php プロジェクト: cbsistem/nexos
//
if (!Cache::array_load('board_config', 'Forums', true)) {
    $result = $db->sql_query("SELECT * FROM " . CONFIG_TABLE);
    while ($row = $db->sql_fetchrow($result)) {
        $board_config[$row['config_name']] = str_replace("'", "\\'", $row['config_value']);
        $new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $board_config[$config_name];
        if ($config_name == 'smilies_path') {
            $new['smilies_path'] = 'images/smiles';
        }
        if (isset($_POST['submit'])) {
            $sql = "UPDATE " . CONFIG_TABLE . " SET\n\t\t\t\tconfig_value = '" . Fix_Quotes($new[$config_name]) . "'\n\t\t\t\tWHERE config_name = '{$config_name}'";
            $db->sql_query($sql);
            Cache::array_delete('board_config', 'Forums');
        }
    }
    Cache::array_save('board_config', 'Forums');
} elseif (isset($_POST['submit'])) {
    foreach ($board_config as $config_name => $config_value) {
        $new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $board_config[$config_name];
        if ($config_name == 'smilies_path') {
            $new['smilies_path'] = 'images/smiles';
        }
        $sql = "UPDATE " . CONFIG_TABLE . " SET\n\t\t\tconfig_value = '" . Fix_Quotes($new[$config_name]) . "'\n\t\t\tWHERE config_name = '{$config_name}'";
        $db->sql_query($sql);
    }
    Cache::array_delete('board_config', 'Forums');
}
if (isset($_POST['submit'])) {
    $message = $lang['Config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . URL::admin("&amp;do=board") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . URL::admin($op) . "\">", "</a>");
    message_die(GENERAL_MESSAGE, $message);
    return;
コード例 #7
0
ファイル: BoardCache.php プロジェクト: cbsistem/nexos
    public static function moderators($forum_id = 0)
    {
        global $module_name, $forum_moderators;
        static $moderators;
        # Obtain list of moderators of each forum
        # First users, then groups ... broken into two queries
        if (!is_array($moderators) && !is_array(Cache::array_load('forum_moderators', $module_name))) {
            global $db;
            $forum_moderators = array();
            $sql = 'SELECT aa.forum_id, u.user_id, u.username
					FROM ' . AUTH_ACCESS_TABLE . ' aa, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g, ' . USERS_TABLE . ' u
					WHERE aa.auth_mod = 1 AND g.group_single_user = 1
						AND ug.group_id = aa.group_id AND g.group_id = aa.group_id
						AND u.user_id = ug.user_id
					GROUP BY u.user_id, u.username, aa.forum_id
					ORDER BY aa.forum_id, u.user_id';
            $result = $db->sql_query($sql);
            while ($row = $db->sql_fetchrow($result, SQL_ASSOC)) {
                $forum_moderators[$row['forum_id']][] = '<a href="' . URL::index("Your_Account&amp;profile=" . $row['user_id']) . '">' . $row['username'] . '</a>';
            }
            $db->sql_freeresult($result);
            $sql = 'SELECT aa.forum_id, g.group_id, g.group_name
					FROM ' . AUTH_ACCESS_TABLE . ' aa, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
					WHERE aa.auth_mod = 1 AND g.group_single_user = 0
						AND g.group_type <> ' . GROUP_HIDDEN . '
						AND ug.group_id = aa.group_id AND g.group_id = aa.group_id
					GROUP BY g.group_id, g.group_name, aa.forum_id
					ORDER BY aa.forum_id, g.group_id';
            $result = $db->sql_query($sql);
            while ($row = $db->sql_fetchrow($result, SQL_ASSOC)) {
                $forum_moderators[$row['forum_id']][] = '<a href="' . URL::index("Groups&amp;" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
            }
            $db->sql_freeresult($result);
            Cache::array_save('forum_moderators', $module_name);
        }
        $moderators = $forum_moderators;
        if ($forum_id) {
            return isset($moderators[$forum_id]) ? $moderators[$forum_id] : array();
        }
        return $moderators;
    }
コード例 #8
0
ファイル: plugins.php プロジェクト: cbsistem/nexos
GraphicAdmin('_AMENU1');
if (!extension_loaded('xml')) {
    cpg_error('At this stage the XML extension is required but unfortunately your PHP installation does not load the extension.<br />
							Read the <a href="http://www.php.net/manual/en/xml.installation.php">PHP Documentation</a> for more infos.');
}
echo '
<input type="button" value="Reload Package List" onClick="window.location.reload()">
';
$xmllastmod = 0;
$xml = BASEDIR . 'cache/plugins_xml.php';
if (file_exists($xml)) {
    $xmllastmod = filemtime($xml);
}
$xml = get_fileinfo('http://dragonflycms.org/plugins.php', false, true, $xmllastmod);
if ($xml['modified'] === true) {
    Cache::array_save('xml', 'plugins', $xml);
} else {
    Cache::array_load('xml', 'plugins', true);
}
//$xml['data'] = decode_bb_all($xml['data'], 0 , true);
$xmlDOM = new DOMDocument();
$xmlDOM->preserveWhiteSpace = false;
$xmlDOM->loadXML($xml['data']);
$data = array();
$items = $xmlDOM->getElementsByTagname('item');
foreach ($items as $item) {
    $tmp = array();
    $nodes = $item->childNodes;
    for ($n = 0; $n < $nodes->length; ++$n) {
        $tmp[$nodes->item($n)->nodeName] = $nodes->item($n)->nodeValue;
    }
コード例 #9
0
ファイル: hook.php プロジェクト: cbsistem/nexos
 private static function get_hooks()
 {
     global $hooks;
     static $hooks;
     if (is_array($hooks) || ($hooks = Cache::array_load('hooks')) || is_array($hooks)) {
         return $hooks;
     }
     $hooks = array();
     global $db, $prefix;
     $result = $db->sql_query('SELECT type, cfile, cfunc, hfile, hfunc FROM ' . $prefix . '_hooks WHERE active=1');
     while ($row = $db->sql_fetchrow($result, SQL_ASSOC)) {
         switch ($row['type']) {
             case HOOK::MOD:
                 $row['cfunc'] = empty($row['cfunc']) ? 0 : $row['cfunc'];
                 $hooks[$row['type']][$row['cfile']][$row['cfunc']][] = array('hfile' => $row['hfile'], 'hfunc' => $row['hfunc']);
                 break;
             case HOOK::TPL:
                 # in this case cfile becomes a blockname template variable
                 $hooks[$row['type']][$row['cfile']][] = array('hfile' => $row['hfile'], 'hfunc' => $row['hfunc']);
                 break;
             default:
                 break;
         }
     }
     $db->free_result($result);
     Cache::array_save('hooks');
     return $hooks;
 }
コード例 #10
0
ファイル: index.php プロジェクト: cbsistem/nexos
  $Source: /cvs/modules/Web_Links/modules/Web_Links/index.php,v $
  $Revision: 9.30 $
  $Author: phoenix $
  $Date: 2010/11/04 01:19:25 $
**********************************************/
if (!defined('CPG_NUKE')) {
    exit;
}
$pagetitle .= _WEBLINKS;
if (!Cache::array_load('weblinks_config')) {
    $result = $db->sql_query('SELECT * FROM ' . $prefix . '_links_config', true);
    while ($row = $db->sql_fetchrow($result)) {
        $weblinks_config[$row['config_name']] = $row['config_value'];
    }
    Cache::array_save('weblinks_config');
    $db->sql_freeresult($result);
}
$linksprefix = $prefix . '_links';
function getparent($parentid, $title)
{
    global $linksprefix, $db;
    $result = $db->sql_query("SELECT cid, title, parentid FROM " . $linksprefix . "_categories WHERE cid={$parentid}");
    list($cid, $ptitle, $pparentid) = $db->sql_fetchrow($result);
    if ($ptitle != '') {
        if ($title != '') {
            $title = $ptitle . '/' . $title;
        } else {
            $title = $ptitle;
        }
    }
コード例 #11
0
ファイル: index.php プロジェクト: cbsistem/nexos
         unset($updinfo);
         $curvers = preg_replace('#^(.*)<version>(.*)</version>(.*)#s', '\\2', $items[0], 1);
         $upgurl = preg_replace('#^(.*)<url>(.*)</url>(.*)#s', '\\2', $items[0], 1);
         unset($items[0]);
         $data = array('current' => $curvers, 'url' => $upgurl, 'num' => count($items), 'msg' => array());
         foreach ($items as $item) {
             if (!empty($item)) {
                 $alrt_vers = preg_replace('#(.*)<version>(.*)</version>(.*)#s', '\\2', $item);
                 $alrt_title = preg_replace('#(.*)<title>(.*)</title>(.*)#s', '\\2', $item);
                 $alrt_desc = preg_replace('#(.*)<description>(.*)</description>(.*)#s', '\\2', $item);
                 $alrt_date = preg_replace('#(.*)<date>(.*)</date>(.*)#s', '\\2', $item);
                 $data['msg'][] = array('vers' => $alrt_vers, 'title' => $alrt_title, 'desc' => $alrt_desc, 'date' => $alrt_date);
             }
         }
         $CPG_SESS['update_monitor'] = true;
         Cache::array_save('data', 'update_monitor', $data);
     }
 }
 OpenTable();
 echo '<div><center><span class="genmed"><strong>' . _UM . '</strong></span><br /><br />';
 if (!$CPG_SESS['update_monitor']) {
     echo '<img src="images/update/error.png" alt="" /><br /><br />' . _UM_F . '</center>';
 } else {
     echo version_compare(CPG_NUKE, $data['current'], '>=') ? '<img src="images/update/green.png" alt="" /><br /><br /><span style="color: #009933;"><strong>' . _UM_G . ' (' . CPG_NUKE . (version_compare(CPG_NUKE, $data['current'], '>') ? ' CVS' : '') . ')</strong></span>' : '<img src="images/update/red.png" alt="" /><br /><br /><span style="color: #ae0000;"><strong>' . sprintf(_UM_R, $data['current'], $data['url']) . '</strong></span>';
     echo '</center>';
     if (count($data['msg'])) {
         echo '<br />';
     }
     foreach ($data['msg'] as $item) {
         echo '<fieldset><legend>' . $item['title'] . '</legend>' . decode_bbcode($item['desc']) . '<br /><br />' . _POSTEDON . ' ' . formatDateTime($item['date'], '%B %d, %Y') . '</fieldset>';
     }