/** * 获取开启的扩展脚本类 * @return <array>开启的扩展脚本类,格式为array(类名=>对象) */ function getMedalExtendClass() { global $_G; static $classes = array(); if (empty($classes)) { $modlist = dsuMedal_getOption('modlist'); $modlist = array_keys($modlist); foreach ($modlist as $classname) { include_once DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/script/' . $classname . '.php'; if (class_exists($classname)) { $newclass = new $classname(); $classes[$classname] = $newclass; } } } return $classes; }
<?php /* dsu_medalCenter (C)2010 Discuz Student Union This is NOT a freeware, use is subject to license terms $Id$ */ (!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) && exit('Access Denied'); require_once DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/function_common.php'; $modlist = dsuMedal_getOption('modlist'); $sysmod = array('script_market'); if (in_array($_G['gp_pdo'], array('install', 'upgrade', 'uninstall'))) { //脚本操作 $classname = $_G['gp_classname']; if (!preg_match("/^[a-zA-Z0-9_]+\$/", $classname) || !file_exists(DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/script/' . $classname . '.php')) { cpmsg("BAD INPUT", '', 'error'); //}else if($_G['gp_pdo'] == 'uninstall' && in_array($classname, $sysmod)){ // cpmsg('系统模块,禁止操作!', '', 'error'); } else { @(include DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/script/' . $classname . '.php'); if (class_exists($classname)) { $newclass = new $classname(); } else { cpmsg('扩展文件已经损坏!', '', 'error'); } } $return = TRUE; switch ($_G['gp_pdo']) { case 'install': if (method_exists($newclass, 'install')) {
private function _MedalCount($_medalid = 0, $inc = false) { global $medalid; $_medalid = $_medalid ? $_medalid : $medalid; $data = dsuMedal_getOption($_medalid, 'script_czw_limit'); $count = $data ? $data['data'] : 0; if ($inc) { dsuMedal_saveOption($_medalid, ++$count, 'script_czw_limit'); } return $count; }