case 'upgrade': if (method_exists($newclass, 'upgrade')) { $return = $newclass->upgrade($modlist[$classname]); } $modlist[$classname] = $newclass->version; $msg = '指定扩展升级成功!'; break; } if (is_array($return)) { list($return, $msg2) = $return; } $msg = $msg2 ? $msg2 : ($return === FALSE ? '操作失败!' : $msg); if ($return === FALSE) { cpmsg($msg, 'action=plugins&operation=config&identifier=dsu_medalCenter&pmod=admin_extend', 'error'); } else { dsuMedal_saveOption('modlist', $modlist); cpmsg($msg, 'action=plugins&operation=config&identifier=dsu_medalCenter&pmod=admin_extend', 'succeed'); } } else { showtips('<li>安装新的扩展,需将扩展脚本程序上传到 source/plugin/dsu_medalCenter/include/script/ 目录,然后即可在以下列表中安装并使用了</li><li>积分购买模块为勋章中心运行必要模块,无法移除</li>'); showtableheader(''); showsubtitle(array('名称', '版本号', '版权信息', '')); $dir = dir(DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/script/'); while (false !== ($entry = $dir->read())) { if (substr($entry, 0, 7) != 'script_' || substr($entry, -4) != '.php') { continue; } include DISCUZ_ROOT . './source/plugin/dsu_medalCenter/include/script/' . $entry; $classname = substr($entry, 0, -4); if (class_exists($classname)) { $newclass = new $classname();
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; }