function Pad_Main() { global $zbp; if (GetVars('mod', 'GET') == 'pad') { if (GetVars('act', 'GET') == 'logout') { Pad_Logout(); } if (GetVars('act', 'GET') == 'login') { Pad_Login(); } if (GetVars('act', 'GET') == 'verify') { Pad_Verify(); } if (isset($_GET['q'])) { Pad_Search(); } Pad_Export(); die; } if (GetVars('mod', 'GET') == 'pc') { return null; } $Pad_List = '/android|iphone|ipad|windows\\sphone|kindle|gt\\-p|gt\\-n|rim\\stablet|opera|meego/i'; $UA = GetGuestAgent(); if (CheckRegExp($UA, $Pad_List) == true) { Pad_Export(); } }
function ActivePlugin_WhitePage() { global $zbp; Add_Filter_Plugin('Filter_Plugin_Admin_TopMenu', 'WhitePage_AddMenu'); $s = ''; if ($zbp->Config('WhitePage')->HasKey("custom_bgcolor")) { $zbp->Config('WhitePage')->custom_bgcolor = str_replace('#', '', $zbp->Config('WhitePage')->custom_bgcolor); $s .= "body{background-color:#" . $zbp->Config('WhitePage')->custom_bgcolor . ";}"; } if ($zbp->Config('WhitePage')->HasKey("custom_headtitle")) { $s .= "#BlogTitle,#BlogSubTitle,#BlogCopyRight,#BlogPowerBy{text-align:" . $zbp->Config('WhitePage')->custom_headtitle . ";}"; } if ($zbp->Config('WhitePage')->HasKey("custom_pagewidth")) { if ($zbp->Config('WhitePage')->custom_pagewidth == 1000) { $s .= "#divAll{width:1000px;}#divMiddle{width:940px;padding:0 30px;}#divSidebar{width:240px;padding:0 0 0 20px;}#divMain{width:670px;padding:0 0 20px 0;}#divTop{padding-top:30px;}body{font-size:15px;}"; } } if ($zbp->Config('WhitePage')->HasKey("text_indent")) { $s .= "div.post-body p{text-indent:" . (int) $zbp->Config('WhitePage')->text_indent . "em;}"; } if ($zbp->Config('WhitePage')->HasKey("custom_pagetype")) { if ($zbp->Config('WhitePage')->custom_pagetype == 1) { if ($zbp->Config('WhitePage')->custom_pagewidth == 1000) { $s .= "#divAll{background:url('" . $zbp->host . "zb_users/theme/WhitePage/style/default/bg1000-1.png') no-repeat 50% top;}#divPage{background:url('" . $zbp->host . "zb_users/theme/WhitePage/style/default/bg1000-2.png') no-repeat 50% bottom;}#divMiddle{background:url('" . $zbp->host . "zb_users/theme/WhitePage/style/default/bg1000-3.png') repeat-y 50% 50%;}"; } } if ($zbp->Config('WhitePage')->custom_pagetype == 2) { $s .= "#divAll{box-shadow: 0 0 5px #666;background-color:white;border-radius: 0px;}"; $s .= "#divAll{background:white;}#divPage{background:none;}#divMiddle{background:none;}"; } if ($zbp->Config('WhitePage')->custom_pagetype == 3) { $s .= "#divAll{box-shadow: 0 0 5px #666;background-color:white;border-radius: 7px;}"; $s .= "#divAll{background:white;}#divPage{background:none;}#divMiddle{background:none;}"; } if ($zbp->Config('WhitePage')->custom_pagetype == 4) { $s .= "#divAll{box-shadow:none;background-color:white;border-radius: 0;}"; $s .= "#divAll{background:white;}#divPage{background:none;}#divMiddle{background:none;}"; $s .= "#divTop{padding-top:30px;}"; } if ($zbp->Config('WhitePage')->custom_pagetype == 5) { $s .= "#divAll{box-shadow:none;background-color:white;border-radius: 0;border-radius: 7px;}"; $s .= "#divAll{background:white;}#divPage{background:none;}#divMiddle{background:none;}"; $s .= "#divTop{padding-top:30px;}"; } } $Pad_List = '/touch|arm;|android|iphone|ipad|windows\\sphone|kindle|gt\\-p|gt\\-n|rim\\stablet|meego/i'; $UA = GetGuestAgent(); if (CheckRegExp($UA, $Pad_List) == true) { $s .= "body{font-size:4vw;}#divMain{width:100%;}#divSidebar{width:100%;}.function{width:50%;font-size:3vw;}"; $s .= "div.post .post-title{width:100%;}div.post .post-date{width:100%;}#divBottom{font-size:2vw;}#divAll{background:white;width:99%;margin:0.3em auto;}#divPage{background:none;}#divMiddle{background:white;width:98%;padding:0;}#divCommentPost input{width:70%;}#divCommentPost input.button{width:50%;}"; } $zbp->header .= ' <style type="text/css">' . $s . '</style>' . "\r\n"; }
$app->modified=date('Y-m-d',time()); $v=array_keys($zbpvers); $app->adapted=(string)end($v); $app->type='plugin'; $app->author_name = $zbp->user->Name; $app->author_email = $zbp->user->Email; $app->author_url = $zbp->user->HomePage; $app->path = 'main.php'; $app->include = 'include.php'; } if(count($_POST)>0){ $app->id=trim($_POST['app_id']); if(!CheckRegExp($app->id,"/^[A-Za-z0-9_]{3,30}/")) {$zbp->ShowError('ID名必须是字母数字和下划线组成,长度3-30字符.');die();} if(!GetVars('id')){ $app2 = $zbp->LoadApp('plugin',$app->id); if($app2->id) {$zbp->ShowError('已存在同名的APP应用.');die();} @mkdir($zbp->usersdir . 'plugin/' . $app->id . '/'); @copy($zbp->usersdir . 'plugin/AppCentre/images/plugin.png',$zbp->usersdir . 'plugin/' . $app->id . '/logo.png'); if(trim($_POST['app_path'])){ $file = file_get_contents('tpl/main.html'); $file = str_replace("<%appid%>", $app->id, $file); $path=$zbp->usersdir . 'plugin/' . $app->id . '/' . trim($_POST['app_path']); @file_put_contents($path, $file); } if(trim($_POST['app_include'])){ $file = file_get_contents('tpl/include.html'); $file = str_replace("<%appid%>", $app->id, $file);
function FilterMember(&$member) { global $zbp; $member->Intro = TransferHTML($member->Intro, '[noscript]'); $member->Alias = TransferHTML($member->Alias, '[normalname]'); $member->Alias = str_replace('/', '', $member->Alias); $member->Alias = str_replace('.', '', $member->Alias); $member->Alias = str_replace(' ', '', $member->Alias); if (strlen($member->Name) < $zbp->option['ZC_USERNAME_MIN'] || strlen($member->Name) > $zbp->option['ZC_USERNAME_MAX']) { $zbp->ShowError(77); } if (!CheckRegExp($member->Name, '[username]')) { $zbp->ShowError(77); } if (!CheckRegExp($member->Email, '[email]')) { $member->Email = '*****@*****.**'; } if (substr($member->HomePage, 0, 4) != 'http') { $member->HomePage = 'http://' . $member->HomePage; } if (!CheckRegExp($member->HomePage, '[homepage]')) { $member->HomePage = ''; } if (strlen($member->Email) > $zbp->option['ZC_EMAIL_MAX']) { $zbp->ShowError(29); } if (strlen($member->HomePage) > $zbp->option['ZC_HOMEPAGE_MAX']) { $zbp->ShowError(30); } }
/** * 创建Div模块 * @param $m * @param bool $button */ function CreateModuleDiv($m, $button = true) { global $zbp; echo '<div class="widget widget_source_' . $m->SourceType . ' widget_id_' . $m->FileName . '">'; echo '<div class="widget-title"><img class="more-action" width="16" src="../image/admin/brick.png" alt="" />' . ($m->SourceType != 'theme' || $m->Source == 'plugin_' . $zbp->theme ? $m->Name : $m->FileName) . ''; if ($button) { if ($m->SourceType != 'theme' || $m->Source == 'plugin_' . $zbp->theme) { echo '<span class="widget-action"><a href="../cmd.php?act=ModuleEdt&id=' . $m->ID . '"><img class="edit-action" src="../image/admin/brick_edit.png" alt="' . $zbp->lang['msg']['edit'] . '" title="' . $zbp->lang['msg']['edit'] . '" width="16" /></a>'; } else { echo '<span class="widget-action"><a href="../cmd.php?act=ModuleEdt&source=theme&filename=' . $m->FileName . '"><img class="edit-action" src="../image/admin/brick_edit.png" alt="' . $zbp->lang['msg']['edit'] . '" title="' . $zbp->lang['msg']['edit'] . '" width="16" /></a>'; echo ' <a onclick="return window.confirm(\'' . $zbp->lang['msg']['confirm_operating'] . '\');" href="../cmd.php?act=ModuleDel&source=theme&filename=' . $m->FileName . '&token=' . $zbp->GetToken() . '"><img src="../image/admin/delete.png" alt="' . $zbp->lang['msg']['del'] . '" title="' . $zbp->lang['msg']['del'] . '" width="16" /></a>'; } if ($m->SourceType != 'system' && $m->SourceType != 'theme' && !($m->SourceType == 'plugin' && CheckRegExp($m->Source, '/plugin_(' . $zbp->option['ZC_USING_PLUGIN_LIST'] . ')/i'))) { echo ' <a onclick="return window.confirm(\'' . $zbp->lang['msg']['confirm_operating'] . '\');" href="../cmd.php?act=ModuleDel&id=' . $m->ID . '&token=' . $zbp->GetToken() . '"><img src="../image/admin/delete.png" alt="' . $zbp->lang['msg']['del'] . '" title="' . $zbp->lang['msg']['del'] . '" width="16" /></a>'; } echo '</span>'; } echo '</div>'; echo '<div class="funid" style="display:none">' . $m->FileName . '</div>'; echo '</div>'; }
/** * 过滤用户数据 * @param $member */ function FilterMember(&$member) { global $zbp; $member->Intro = TransferHTML($member->Intro, '[noscript]'); $member->Alias = TransferHTML($member->Alias, '[normalname]'); $member->Alias = str_replace('/', '', $member->Alias); $member->Alias = str_replace('.', '', $member->Alias); $member->Alias = str_replace(' ', '', $member->Alias); $member->Alias = str_replace('_', '', $member->Alias); $member->Alias = SubStrUTF8_Start($member->Alias, 0, (int) $zbp->datainfo['Member']['Alias'][2]); if (strlen($member->Name) < $zbp->option['ZC_USERNAME_MIN'] || strlen($member->Name) > $zbp->option['ZC_USERNAME_MAX']) { $zbp->ShowError(77, __FILE__, __LINE__); } if (!CheckRegExp($member->Name, '[username]')) { $zbp->ShowError(77, __FILE__, __LINE__); } if (!CheckRegExp($member->Email, '[email]')) { $member->Email = '*****@*****.**'; } if (substr($member->HomePage, 0, 4) != 'http') { $member->HomePage = 'http://' . $member->HomePage; } if (!CheckRegExp($member->HomePage, '[homepage]')) { $member->HomePage = ''; } if (strlen($member->Email) > $zbp->option['ZC_EMAIL_MAX']) { $zbp->ShowError(29, __FILE__, __LINE__); } if (strlen($member->HomePage) > $zbp->option['ZC_HOMEPAGE_MAX']) { $zbp->ShowError(30, __FILE__, __LINE__); } }
$app->price = 0; $app->version = '1.0'; $app->pubdate = date('Y-m-d', time()); $app->modified = date('Y-m-d', time()); $v = array_keys($zbpvers); $app->adapted = (string) end($v); $app->type = 'plugin'; $app->author_name = $zbp->user->Name; $app->author_email = $zbp->user->Email; $app->author_url = $zbp->user->HomePage; $app->path = 'main.php'; $app->include = 'include.php'; } if (count($_POST) > 0) { $app->id = trim($_POST['app_id']); if (!CheckRegExp($app->id, "/^[A-Za-z0-9_]{3,30}/")) { $zbp->ShowError('ID名必须是字母数字和下划线组成,长度3-30字符.'); die; } if (!GetVars('id')) { $app2 = $zbp->LoadApp('plugin', $app->id); if ($app2->id) { $zbp->ShowError('已存在同名的APP应用.'); die; } @mkdir($zbp->usersdir . 'plugin/' . $app->id . '/'); @copy($zbp->usersdir . 'plugin/AppCentre/images/plugin.png', $zbp->usersdir . 'plugin/' . $app->id . '/logo.png'); if (trim($_POST['app_path'])) { $file = file_get_contents('tpl/main.html'); $file = str_replace("<%appid%>", $app->id, $file); $path = $zbp->usersdir . 'plugin/' . $app->id . '/' . trim($_POST['app_path']);
/** * 通过获取用户名或别名实例(不区分大小写) * @param string $name * @return Member */ public function GetMemberByNameOrAlias($name) { $name = trim($name); if (!$name || !CheckRegExp($name, '[username]')) { return new Member(); } foreach ($this->members as $key => &$value) { if (strcasecmp($value->Name, $name) == 0 || strcasecmp($value->Alias, $name) == 0) { return $value; } } $like = $this->db->type == 'pgsql' ? 'ILIKE' : 'LIKE'; $sql = $this->db->sql->Select($this->table['Member'], '*', $this->db->sql->ParseWhere(array(array($like, 'mem_Name', $name)), '') . $this->db->sql->ParseWhere(array(array($like, 'mem_Alias', $name)), 'OR'), null, 1, null); $am = $this->GetListType('Member', $sql); if (count($am) > 0) { $m = $am[0]; $this->members[$m->ID] = $m; $this->membersbyname[$m->Name] =& $this->members[$m->ID]; return $m; } return new Member(); }
} $member->Password = Member::GetPassWordByGuid($password, $invitecode); $member->PostTime = time(); $member->IP = GetGuestIP(); if (strlen($email) < 5 || strlen($email) > $zbp->option['ZC_EMAIL_MAX']) { $zbp->ShowError('邮箱不能过长或过短.'); die; } if (CheckRegExp($email, '[email]')) { $member->Email = $email; } else { $zbp->ShowError('邮箱格式不正确.'); die; } if (strlen($homepage) > $zbp->option['ZC_HOMEPAGE_MAX']) { $zbp->ShowError('网址不能过长.'); die; } if (CheckRegExp($homepage, '[homepage]')) { $member->HomePage = $homepage; } $member->Save(); foreach ($GLOBALS['Filter_Plugin_RegPage_RegSucceed'] as $fpname => &$fpsignal) { $fpname($member); } $keyvalue = array(); $keyvalue['reg_AuthorID'] = $member->ID; $sql = $zbp->db->sql->Update($RegPage_Table, $keyvalue, array(array('=', 'reg_ID', $reg->ID))); $zbp->db->Update($sql); //var_dump($member); echo '恭喜您注册成功,请在登录页面登录.';
} if (!$zbp->CheckPlugin('CustomMeta')) { $zbp->ShowError(48); die; } $blogtitle = 'CustomMeta自定义作用域'; if (count($_GET) == 0) { Redirect('./main.php?type=post'); } if (count($_POST) > 0) { $type = $_GET['type']; $array = $_POST['meta']; $array2 = array(); foreach ($array as $key => $value) { if (trim($value) != '') { if (CheckRegExp(trim($value), '/^[a-zA-Z][a-zA-Z0-9_]{0,30}$/')) { $array2[] = trim($value); $name_meta_intro = $type . '_' . $value . '_intro'; $name_meta_type = $type . '_' . $value . '_type'; $name_meta_option = $type . '_' . $value . '_option'; if (isset($_POST['meta_intro'][$key])) { $single_meta_intro = $_POST['meta_intro'][$key]; $zbp->Config('CustomMeta')->{$name_meta_intro} = $single_meta_intro; } if (isset($_POST['meta_type'][$key])) { $single_meta_type = $_POST['meta_type'][$key]; $zbp->Config('CustomMeta')->{$name_meta_type} = $single_meta_type; } if (isset($_POST['meta_option'][$key])) { $single_meta_option = $_POST['meta_option'][$key]; $zbp->Config('CustomMeta')->{$name_meta_option} = $single_meta_option;
/** * 通过获取用户名或别名实例(不区分大小写) * @param string $name * @return Member */ public function GetMemberByNameOrAlias($name) { $name = trim($name); if (!$name || !CheckRegExp($name, '[username]')) { return new Member(); } foreach ($this->members as $key => &$value) { if (strcasecmp($value->Name, $name) == 0 || strcasecmp($value->Alias, $name) == 0) { return $value; } } $like = $this->db->type == 'pgsql' ? 'ILIKE' : 'LIKE'; $sql = $this->db->sql->get()->select($this->table['Member'])->where(array("{$like} array", array(array('mem_Name', $name), array('mem_Alias', $name))))->limit(1)->sql; $am = $this->GetListType('Member', $sql); if (count($am) > 0) { $m = $am[0]; $this->members[$m->ID] = $m; $this->membersbyname[$m->Name] =& $this->members[$m->ID]; return $m; } return new Member(); }