public static function creatapp() { if (!is_object(self::$_app)) { self::$_app = site_init::instance(); } return self::$_app; }
<?php echo ext::table_row_begin(); ?> <td><?php echo form::checkbox('ids[]', $row['id'], FALSE); ?> </td> <?php foreach ($columns as $column) { ?> <?php echo $column->field($row); ?> <?php } ?> <?php echo ext::table_row_end(); ?> <?php echo $row->children->grid()->data(); ?> <?php }
function url_login() { //DEBUG 模拟登录 $user_name = isset($_GET['user_name']) ? $_GET['user_name'] : ''; $user_password = isset($_GET['user_password']) ? $_GET['user_password'] : ''; $url = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; $replace_pram = 'user_name=' . $user_name . '&user_password='******'', $url); if (!empty($user_name) && !empty($user_password)) { /* * url pram add user_name=teacher1&user_password=e10adc3949ba59abbe56e057f20f883e * eg: home.php?user_name=teacher1&user_password=e10adc3949ba59abbe56e057f20f883e */ $member = DB::fetch_first("SELECT user_id,user_password from " . DB::table('users') . " WHERE user_name='" . $user_name . "' LIMIT 1"); if (empty($member)) { $member = DB::fetch_first("SELECT user_id,user_password from " . DB::table('users') . " WHERE user_id='" . $user_name . "' LIMIT 1"); } if ($member['user_password'] && $member['user_id']) { $user_id = $member['user_id']; //校验密码 是否正确 $uc_password = sha1($user_password); if ($uc_password == $member['user_password']) { //loaducenter(); //$ucsynlogin = uc_user_synlogin($uid); $user['user_id'] = $user_id; ext::synlogin($user, $user); header('location:' . $location_url . ''); die; } } } }
//校验用户或者编号是否存在 $check_user_info = array(); $check_user_info = DB::fetch_first("SELECT user_id,user_password FROM " . DB::table('users') . " WHERE user_name ='" . $user_name . "' AND isdelete = 0 LIMIT 1"); if (empty($check_user_info)) { $check_user_info = DB::fetch_first("SELECT user_id,user_password FROM " . DB::table('users') . " WHERE user_id ='" . $user_name . "' AND isdelete = 0 LIMIT 1"); } //校验密码 if ($check_user_info['user_id']) { $user_encode_password = encode_password($user_password); if ($user_encode_password == $check_user_info['user_password']) { if ($api_client) { allow_crossdomain(); $userinfo = DB::fetch_first("SELECT * FROM " . DB::table('users') . " WHERE user_id ='" . $check_user_info['user_id'] . "' LIMIT 1"); //并返回用户信息 $return = array('errcode' => 'e_1000', 'errmsg' => lang('error', 'e_1000'), 'data' => $userinfo); } elseif ($location_url) { $user['user_id'] = $check_user_info['user_id']; ext::synlogin($user, $user); header('location:' . $location_url . ''); die; } else { $user['user_id'] = $check_user_info['user_id']; ext::synlogin($user, $user); $return = array('errcode' => 'e_1000', 'errmsg' => lang('error', 'e_1000'), 'data' => ''); } } } } echo format_data($return, $data_format_type); break; }
function template($file, $templateid = 0, $tpldir = '', $gettplfile = 0, $primaltpl = '') { global $_G; static $_init_style = false; if ($_init_style === false) { ext::app()->_init_style(); $_init_style = true; } $oldfile = $file; if (strpos($file, ':') !== false) { $clonefile = ''; list($templateid, $file, $clonefile) = explode(':', $file); $oldfile = $file; $file = empty($clonefile) ? $file : $file . '_' . $clonefile; if ($templateid == 'diy') { $indiy = false; $_G['style']['tpldirectory'] = $tpldir ? $tpldir : (defined('TPLDIR') ? TPLDIR : ''); $_G['style']['prefile'] = ''; $diypath = SITE_ROOT . './data/diy/' . $_G['style']['tpldirectory'] . '/'; //DIY模板文件目录 $preend = '_diy_preview'; $_GET['preview'] = !empty($_GET['preview']) ? $_GET['preview'] : ''; $curtplname = $oldfile; $basescript = $_G['mod'] == 'viewthread' && !empty($_G['thread']) ? 'forum' : $_G['basescript']; if (isset($_G['cache']['diytemplatename' . $basescript])) { $diytemplatename =& $_G['cache']['diytemplatename' . $basescript]; } else { if (!isset($_G['cache']['diytemplatename'])) { loadcache('diytemplatename'); } $diytemplatename =& $_G['cache']['diytemplatename']; } $tplsavemod = 0; if (isset($diytemplatename[$file]) && file_exists($diypath . $file . '.htm') && ($tplsavemod = 1) || empty($_G['forum']['styleid']) && ($file = $primaltpl ? $primaltpl : $oldfile) && isset($diytemplatename[$file]) && file_exists($diypath . $file . '.htm')) { $tpldir = 'data/diy/' . $_G['style']['tpldirectory'] . '/'; !$gettplfile && ($_G['style']['tplsavemod'] = $tplsavemod); $curtplname = $file; if (isset($_GET['diy']) && $_GET['diy'] == 'yes' || isset($_GET['diy']) && $_GET['preview'] == 'yes') { //DIY模式或预览模式下做以下判断 $flag = file_exists($diypath . $file . $preend . '.htm'); if ($_GET['preview'] == 'yes') { $file .= $flag ? $preend : ''; } else { $_G['style']['prefile'] = $flag ? 1 : ''; } } $indiy = true; } else { $file = $primaltpl ? $primaltpl : $oldfile; } $tplrefresh = $_G['config']['output']['tplrefresh']; if ($indiy && ($tplrefresh == 1 || $tplrefresh > 1 && !($_G['timestamp'] % $tplrefresh)) && filemtime($diypath . $file . '.htm') < filemtime(SITE_ROOT . $_G['style']['tpldirectory'] . '/' . ($primaltpl ? $primaltpl : $oldfile) . '.htm')) { if (!updatediytemplate($file, $_G['style']['tpldirectory'])) { unlink($diypath . $file . '.htm'); $tpldir = ''; } } if (!$gettplfile && empty($_G['style']['tplfile'])) { $_G['style']['tplfile'] = empty($clonefile) ? $curtplname : $oldfile . ':' . $clonefile; } $_G['style']['prefile'] = !empty($_GET['preview']) && $_GET['preview'] == 'yes' ? '' : $_G['style']['prefile']; } else { $tpldir = './source/plugin/' . $templateid . '/template'; } } $file .= !empty($_G['inajax']) && ($file == 'common/header' || $file == 'common/footer') ? '_ajax' : ''; $tpldir = $tpldir ? $tpldir : (defined('TPLDIR') ? TPLDIR : ''); $templateid = $templateid ? $templateid : (defined('TEMPLATEID') ? TEMPLATEID : ''); $filebak = $file; if (defined('IN_MOBILE') && !defined('TPL_DEFAULT') && strpos($file, 'mobile/') === false || isset($_G['forcemobilemessage']) && $_G['forcemobilemessage']) { $file = 'mobile/' . $oldfile; } if (!$tpldir) { $tpldir = './template/default'; } $tplfile = $tpldir . '/' . $file . '.htm'; $file == 'common/header' && defined('CURMODULE') && CURMODULE && ($file = 'common/header_' . $_G['basescript'] . '_' . CURMODULE); if (defined('IN_MOBILE') && !defined('TPL_DEFAULT')) { if (strpos($tpldir, 'plugin')) { if (!file_exists(SITE_ROOT . $tpldir . '/' . $file . '.htm') && !file_exists(SITE_ROOT . $tpldir . '/' . $file . '.php')) { core_error::template_error('template_notfound', $tpldir . '/' . $file . '.htm'); } else { $mobiletplfile = $tpldir . '/' . $file . '.htm'; } } !$mobiletplfile && ($mobiletplfile = $file . '.htm'); if (strpos($tpldir, 'plugin') && (file_exists(SITE_ROOT . $mobiletplfile) || file_exists(substr(SITE_ROOT . $mobiletplfile, 0, -4) . '.php'))) { $tplfile = $mobiletplfile; } elseif (!file_exists(SITE_ROOT . TPLDIR . '/' . $mobiletplfile) && !file_exists(substr(SITE_ROOT . TPLDIR . '/' . $mobiletplfile, 0, -4) . '.php')) { $mobiletplfile = './template/default/' . $mobiletplfile; if (!file_exists(SITE_ROOT . $mobiletplfile) && !$_G['forcemobilemessage']) { $tplfile = str_replace('mobile/', '', $tplfile); $file = str_replace('mobile/', '', $file); define('TPL_DEFAULT', true); } else { $tplfile = $mobiletplfile; } } else { $tplfile = TPLDIR . '/' . $mobiletplfile; } } $cachefile = './data/template/' . SITE_LANG . '_' . (defined('STYLEID') ? STYLEID . '_' : '_') . $templateid . '_' . str_replace('/', '_', $file) . '.tpl.php'; if ($templateid != 1 && !file_exists(SITE_ROOT . $tplfile) && !file_exists(substr(SITE_ROOT . $tplfile, 0, -4) . '.php') && !file_exists(SITE_ROOT . ($tplfile = $tpldir . $filebak . '.htm'))) { $tplfile = './template/default/' . $filebak . '.htm'; } if ($gettplfile) { return $tplfile; } checktplrefresh($tplfile, $tplfile, @filemtime(SITE_ROOT . $cachefile), $templateid, $cachefile, $tpldir, $file); return SITE_ROOT . $cachefile; }
private function _init_user() { if ($this->init_user) { if ($auth = getglobal('auth', 'cookie')) { $auth = daddslashes(explode("\t", authcode($auth, 'DECODE'))); } list($core_pw, $core_user_id) = empty($auth) || count($auth) < 2 ? array('', '') : $auth; if ($core_user_id) { $user = getuserbyuid($core_user_id, 1); } if (!empty($user) && $user['password'] == $core_pw) { $this->var['member'] = $user; } else { $user = array(); $this->_init_guest(); } } else { $this->_init_guest(); } if (empty($this->var['cookie']['lastvisit'])) { $this->var['member']['lastvisit'] = TIMESTAMP - 3600; dsetcookie('lastvisit', TIMESTAMP - 3600, 86400 * 30); } else { $this->var['member']['lastvisit'] = $this->var['cookie']['lastvisit']; } //setglobal('uid', getglobal('user_id', 'member')); setglobal('user_id', $core_user_id); setglobal('user_name', getglobal('user_name', 'member')); setglobal('user_realname', getglobal('user_realname', 'member')); setglobal('user_group_id', getglobal('user_group_id', 'member')); setglobal('d_id', getglobal('d_id', 'member')); if (getglobal('user_role_id', 'member')) { setglobal('user_role_id', getglobal('user_role_id', 'member')); } else { setglobal('user_role_id', 1); } //DEBUG 初始化角色名称 if (getglobal('user_role_id', 'member')) { setglobal('role_name', ext::role_name(getglobal('user_role_id', 'member'))); } setglobal('user_level_id', getglobal('user_level_id', 'member')); //初始化所属区域与学校 if (getglobal('d_id', 'member')) { setglobal('d_name', ext::d_name(getglobal('d_id', 'member'))); } /* if($core_user_id) { //TODO user_access 暂未有业务逻辑需求 //$user_access = ext::getuseraccessbyuid($core_user_id); //setglobal('user_access', $user_access); } */ //DEBUG 初始化用户菜单 $login_user_menu = array(); $user_menu = $this->var['setting']['user_role_menu']['user_menu']; $role_menu = $this->var['setting']['user_role_menu']['role_menu']; $user_role_id = getglobal('user_role_id'); if (!empty($user_menu[$core_user_id])) { $login_user_menu = $user_menu[$core_user_id]['menu_url_tree']; $login_user_menu_url_md5 = $user_menu[$core_user_id]['menu_url_md5']; } elseif (!empty($role_menu[$user_role_id])) { $login_user_menu = $role_menu[$user_role_id]['menu_url_tree']; $login_user_menu_url_md5 = $role_menu[$user_role_id]['menu_url_md5']; } setglobal('setting/user_role_menu', ''); setglobal('login_user_menu', $login_user_menu); setglobal('login_user_menu_url_md5', $login_user_menu_url_md5); }
"callbackType":"closeCurrent", "forwardUrl":"", "confirmMsg":"" }'; } die; } } else { //DEBUG 新增 if ($is_submit) { if ($user_password == $user_password2 && !empty($user_name) && !empty($user_realname)) { $user_password_encode = encode_password($user_password); $user_data = array("user_name" => $user_name, "user_realname" => $user_realname, "user_password" => $user_password_encode, "user_role_id" => $user_role_id, "user_score" => $user_score, "user_create_time" => TIMESTAMP); DB::insert('users', $user_data); //DEBUG 更新用户权限菜单 ext::set_user_role_menu(2, $user_menu, $user_id); echo '{ "statusCode":"200", "message":"' . lang('core', 'operation_successful') . '", "navTabId":"admin_user_index", "rel":"", "reloadFlag":"1", "callbackType":"closeCurrent", "forwardUrl":"", "confirmMsg":"" }'; } else { echo '{ "statusCode":"300", "message":"' . lang('core', 'operation_failed') . '", "navTabId":"admin_user_index",
} else { //DEBUG 新增信息 $role_data = array("role_name" => $role_name); $role_id = DB::insert('user_role', $role_data, $return_insert_id = true); echo '{ "statusCode":"200", "message":"操作成功", "navTabId":"admin_user_role_index", "rel":"", "reloadFlag":"1", "callbackType":"closeCurrent", "forwardUrl":"admin.php?mod=user_role&action=index", "confirmMsg":"" }'; } ext::set_user_role_menu(1, $user_role_menu, $role_id); die; } else { if ($role_id) { //DEBUG 取出编辑用户信息 $role_sql = "SELECT role_id,role_name FROM " . DB::table('user_role') . " WHERE role_id='" . $role_id . "' LIMIT 1"; $role_result = DB::fetch_first($role_sql); } } include template('admin/user/user_role_edit'); break; case "lookup_role": $wheresql = ''; $role_results = array(); $sql = "SELECT role_id, role_name from " . DB::table('user_role') . " WHERE isdelete=0 " . $wheresql; $role_results = DB::fetch_all($sql);
<?php foreach ($group_actions as $name => $action) { ?> <?php $attributes = array(); ?> <?php if (isset($action['class'])) { ?> <?php $attributes = array('class' => $action['class']); ?> <?php } ?> <?php $attributes['class'] .= ' btn'; ?> <?php echo ext::submit('action[' . $name . ']', $action['title'], arr::get($action, 'confirm'), $attributes); ?> <?php echo Form::submit('action[' . $name . ']', $action['title'], array('style' => 'display: none;')); ?> <?php } ?> <?php echo Ext::buttons_end(); } echo Ext::form_end();
<?php /** * 框架加载入口文件 * @author HumingXu E-mail:huming17@126.com */ define('IN_SYSTEM', true); //系统安全入口认证 define('DZ_ROOT', dirname(__FILE__) . '/'); //框架目录绝对路径 define('SITE_ROOT', substr(dirname(__FILE__), 0, -12)); // define('DZF_ROOT', DZ_ROOT); //框架目录绝对路径 require DZ_ROOT . 'source/class/class_core.php'; //DEBUG 引入核心文件 //DEBUG 框架函数(数据库操作 模版引擎 以及 数据逻辑处理函数) require DZ_ROOT . 'source/function/function_cache.php'; //DEBUG 框架业务逻辑功能类/函数及系统初始化(可以不在框架入口文件写入) define('IN_SITE', true); require SITE_ROOT . 'source/function/function_ext.php'; //DEBUG ext 引入扩展函数文件 require SITE_ROOT . 'source/class/class_init.php'; //DEBUG 站点数据初始化类文件 require SITE_ROOT . 'source/class/class_ext.php'; //DEBUG ext 引入扩展类文件 $site_init = ext::app(); $site_init->init(); /* TODO */
function template($file, $templateid = 0, $tpldir = '', $gettplfile = 0, $primaltpl = '') { global $_G; static $_init_style = false; if ($_init_style === false) { ext::app()->_init_style(); $_init_style = true; } $oldfile = $file; if (strpos($file, ':') !== false) { $clonefile = ''; list($templateid, $file, $clonefile) = explode(':', $file); $oldfile = $file; $file = empty($clonefile) ? $file : $file . '_' . $clonefile; } $file .= !empty($_G['inajax']) && ($file == 'global/header' || $file == 'global/footer') ? '_ajax' : ''; //DEBUG 判断加载前台还是后台模版 $is_admin_path = $_G['config']['admin_folder'] . '/'; $is_admin = strpos($_G['PHP_SELF'], $is_admin_path); if (!$is_admin) { $tpldir = $tpldir ? $tpldir : (defined('TPLDIR') ? TPLDIR : ''); $is_admin_path = ''; } else { $is_admin_str = ''; $tpldir = $tpldir ? $tpldir : (defined('ADMIN_TPLDIR') ? ADMIN_TPLDIR : ''); $tpldir = $is_admin_path . trim($tpldir, './'); } $templateid = $templateid ? $templateid : (defined('TEMPLATEID') ? TEMPLATEID : ''); $filebak = $file; if (defined('IN_MOBILE') && !defined('TPL_DEFAULT') && strpos($file, 'mobile/') === false || isset($_G['forcemobilemessage']) && $_G['forcemobilemessage']) { $file = 'mobile/' . $oldfile; } if (!$tpldir) { $tpldir = $is_admin_path . './template/default'; } $tplfile = $tpldir . '/' . $file . '.htm'; $file == 'global/header' && defined('CURMODULE') && CURMODULE && ($file = 'global/header_' . $_G['basescript'] . '_' . CURMODULE); if (defined('IN_MOBILE') && !defined('TPL_DEFAULT')) { if (strpos($tpldir, 'plugin')) { if (!file_exists(SITE_ROOT . $tpldir . '/' . $file . '.htm') && !file_exists(SITE_ROOT . $tpldir . '/' . $file . '.php')) { core_error::template_error('template_notfound', $tpldir . '/' . $file . '.htm'); } else { $mobiletplfile = $tpldir . '/' . $file . '.htm'; } } !$mobiletplfile && ($mobiletplfile = $file . '.htm'); if (strpos($tpldir, 'plugin') && (file_exists(SITE_ROOT . $mobiletplfile) || file_exists(substr(SITE_ROOT . $mobiletplfile, 0, -4) . '.php'))) { $tplfile = $mobiletplfile; } elseif (!file_exists(SITE_ROOT . TPLDIR . '/' . $mobiletplfile) && !file_exists(substr(SITE_ROOT . TPLDIR . '/' . $mobiletplfile, 0, -4) . '.php')) { $mobiletplfile = $is_admin_path . './template/default/' . $mobiletplfile; if (!file_exists(SITE_ROOT . $mobiletplfile) && !$_G['forcemobilemessage']) { $tplfile = str_replace('mobile/', '', $tplfile); $file = str_replace('mobile/', '', $file); define('TPL_DEFAULT', true); } else { $tplfile = $mobiletplfile; } } else { $tplfile = TPLDIR . '/' . $mobiletplfile; } } $cachefile = $is_admin_path . './data/template/' . SITE_LANG . '_' . (defined('STYLEID') ? STYLEID . '_' : '_') . $templateid . '_' . str_replace('/', '_', $file) . '.tpl.php'; if ($templateid != 1 && !file_exists(SITE_ROOT . $tplfile) && !file_exists(substr(SITE_ROOT . $tplfile, 0, -4) . '.php') && !file_exists(SITE_ROOT . ($tplfile = $tpldir . $filebak . '.htm'))) { $tplfile = $is_admin_path . './template/default/' . $filebak . '.htm'; } if ($gettplfile) { return $tplfile; } checktplrefresh($tplfile, $tplfile, @filemtime(SITE_ROOT . $cachefile), $templateid, $cachefile, $tpldir, $file); return SITE_ROOT . $cachefile; }