protected function login() { if (Router::$IS_AJAX || Router::$IS_IFRAME) { $this->renderError('请先登录!'); } $backUrl = Url::getCurrentUrl(array('back-url' => null)); $url = Url::make('//uc.hqoj.net/login/', array('back-url' => $backUrl)); Url::redirect($url); }
public function __construct($rows, $max = 10) { $this->_records = $rows; $this->_numb_of_records = count($this->_records); $this->_max_pp = $max; $this->_url = Url::getCurrentUrl(self::$_key); $current = Url::getParam(self::$_key); $this->_current = !empty($current) ? $current : 1; $this->numberOfPages(); $this->getOffset(); }
/** * 验证权限 * @param uid 用户权限id * @param model 模式 1=>url模式,2=>权限id模式,3=>权限名称模式 * @author Colin <*****@*****.**> */ public function check($uid = null, $model = 1) { $auths = $this->getUserAuths($uid); $current = Url::getCurrentUrl(); list($controller, $method) = $current; foreach ($auths as $key => $value) { $url = explode('/', $value['url']); list($auth_controller, $auth_method) = $url; //是否验证其他 if ($this->auth_other === false) { $auth = D('Auth'); if (!($find = $auth->where('url', implode('/', $current))->find())) { return true; } } if ($auth_controller == $controller && $auth_method == $method) { return true; } } return false; }
private static function insert($tag, $level, $msg) { // 是否需要Logger if (!GlobalConfig::$LOGGER_ENABLE) { return; } // 临时关闭Logger $tmpEnable = GlobalConfig::$LOGGER_ENABLE; GlobalConfig::$LOGGER_ENABLE = false; // 校验tag $tags = LoggerKeys::$allTags; if (!in_array($tag, $tags)) { throw new LibraryException("TAG:{$tag} 需要在LoggerKeys中定义!"); } // 获取错误信息 if (is_subclass_of($msg, 'Exception')) { $traceList = $msg->getTrace(); $message = $msg->getMessage(); $traceInfo = $traceList[0]; $loc = $traceInfo['file'] . ':' . $traceInfo['line']; } else { $traceList = debug_backtrace(); $message = $msg; $traceInfo = $traceList[1]; $loc = $traceInfo['file'] . ':' . $traceInfo['line']; } $now = time(); $data = array('create_time' => $now, 'update_time' => $now, 'tag' => $tag, 'level' => $level, 'client_ip' => Http::getClientIp(), 'client_port' => Http::getClientPort(), 'server_ip' => Http::getServerIp(), 'server_port' => Http::getServerPort(), 'url' => Url::getCurrentUrl(), 'post' => json_encode($_POST), 'loc' => $loc, 'message' => $message, 'trace' => json_encode($traceList)); if (GlobalConfig::$LOGGER_ASYNC) { $gearman = GearmanPool::getClient(GearmanConfig::$SERVER_COMMON); $gearman->doBackground('logger_async', json_encode($data)); } else { LoggerInterface::save($data); } GlobalConfig::$LOGGER_ENABLE = $tmpEnable; }
echo '<div id="test">'; $url = Url::getCurrentUrl(); $url->setQueryVar('noTest'); echo '<a href="' . $url . '">Deactivate testing mode</a>'; echo '</div>'; } else { // do not display testing stuff } ?> <header> <h1>Charte Éditeurs-Fansubs</h1> <h2>Tentative d'accord à l'amiable entre des acteurs voulant promouvoir la Japanimation en France</h2> </header> <nav> <?php $url = Url::getCurrentUrl(); $displayedPage = Page::getDisplayedPage(); foreach (Page::getAvailablePages() as $page) { $url = new Url(); $url->setQueryVar('page', $page->getId()); echo '<a ' . ($displayedPage == $page ? 'class="selected"' : '') . ' href="' . $url . '">' . $page->getMenuTitle() . '</a>'; } echo Format::toHtmlEmail('*****@*****.**', "Contact"); ?> </nav> <article> <?php $page = Page::getDisplayedPage(); echo '<div id="lastUpdateTime">Last update: ' . date("d/m/Y H:i:s", $page->getLastUpdateTime()) . '</div>'; echo $page->getContent(); ?>
$objBusiness = new Business(); $business = $objBusiness->getBusiness(); if (!empty($business)) { $objForm = new Form(); $objValid = new Validation($objForm); if ($objForm->isPost('name')) { $objValid->_expected = array('name', 'address', 'telephone', 'email', 'website', 'vat_rate'); $objValid->_required = array('name', 'address', 'telephone', 'email', 'vat_rate'); $objValid->_special = array('email' => 'email'); $vars = $objForm->getPostArray($objValid->_expected); if ($objValid->isValid()) { if ($objBusiness->updateBusiness($vars)) { Helper::redirect('/admin' . Url::getCurrentUrl(array('action', 'id')) . '&action=edited'); } else { Helper::redirect('/admin' . Url::getCurrentUrl(array('action', 'id')) . '&action=edited-failed'); } } } require_once 'template/_header.php'; ?> <h1>Business</h1> <form action="" method="post"> <table cellpadding="0" cellspacing="0" border="0" class="tbl_insert"> <tr> <th><label for="name">Name: *</label></th> <td> <?php
echo $firstPage; ?> " href="<?php echo $firstUrl; ?> ">首页</a></li><li><a class="item item-lg" name="pager" value="<?php echo $prePage; ?> " href="<?php echo $preUrl; ?> ">上一页</a></li><?php if ($lastPage) { for ($i = $beginPage; $i < $beginPage + $length; $i++) { $isSelected = $currentPage == $i ? 'selected' : ''; $url = $currentPage == $i ? '#' : Url::getCurrentUrl(array('page' => $i)); echo sprintf('<li><a class="item %s" name="pager" value="%s" href="%s">%s</a></li>', $isSelected, $i, $url, $i); } } ?> <li><a class="item item-lg" name="pager" value="<?php echo $nextPage; ?> " href="<?php echo $nextUrl; ?> ">下一页</a></li><li><a class="item item-lg" name="pager" value="<?php echo $lastPage; ?> " href="<?php echo $lastUrl;
<a href="/setup_uc_update/">会员中心</a> | <a href="<?php echo Url::make('//uc.hqoj.net/logout/', array('back-url' => Url::getCurrentUrl(array('back-url' => null)))); ?> ">退出</a> </div> <?php } else { ?> <div> <a href="<?php echo Url::make('//uc.hqoj.net/login/', array('back-url' => Url::getCurrentUrl(array('back-url' => null)))); ?> ">登录</a> | <a href="<?php echo Url::make('//uc.hqoj.net/register/', array('back-url' => Url::getCurrentUrl(array('back-url' => null)))); ?> ">注册</a> </div> <?php } ?> </td> </tr> </tbody> </table> </div> </div> <div class="module-wrap">
function buildRssUrlIfAvailable() { if (getCurrentPage() == 'news') { $url = Url::getCurrentUrl(); new NewsSelector(); //force class loading for constants $selected = $url->hasQueryVar('select') ? $url->getQueryVar('select') : NEWSSELECTOR_ALL; $rssUrl = new Url('rss.php'); $rssUrl->setQueryVar('select', empty($selected) ? null : $selected, true); $rssUrl->setQueryVar('h', null, !$_SESSION[MODE_H]); return $rssUrl; } else { return null; } }
<?php $page = PageContent::getInstance(); $page->setClass('project'); $project = Project::getProject(Url::getCurrentUrl()->getQueryVar('id')); if ($project->isHentai() && !$_SESSION[MODE_H]) { require_once "pages/havert.php"; } else { if (TEST_MODE_ACTIVATED) { $options = new SimpleBlockComponent(); $options->setClass('testFeatures'); $options->addComponent("Options : "); $link = new Link(Url::getCurrentUrl(), "show hidden"); if ($link->getUrl()->hasQueryVar('showHidden')) { $link->getUrl()->removeQueryVar('showHidden'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('showHidden'); } $options->addComponent($link); $page->addComponent($options); } $page->addComponent(new Title($project->getName(), 1)); $page->addComponent(new ProjectComponent($project, Url::getCurrentUrl()->hasQueryVar('showHidden'))); }
public static function redirectToSelf() { header('Location: ' . Url::getCurrentUrl()); exit; }
<?php $id = Url::getParam('id'); if (!empty($id)) { $objUser = new User(); $user = $objUser->getUser($id); if (!empty($user)) { $objOrder = new Order(); $orders = $objOrder->getClientOrders($id); if (empty($orders)) { $yes = '/admin' . Url::getCurrentUrl() . '&remove=1'; $no = 'javascript:history.go(-1)'; $remove = Url::getParam('remove'); if (!empty($remove)) { $objUser->removeUser($id); Helper::redirect('/admin' . Url::getCurrentUrl(array('action', 'id', 'remove', 'srch', Paging::$_key))); } require_once 'template/_header.php'; ?> <h1>Clients :: Remove</h1> <p>Are you sure you want to remove this client (<?php echo $user['first_name'] . " " . $user['last_name']; ?> )?<br /> There is no undo!<br /> <a href="<?php echo $yes; ?> ">Yes</a> | <a href="<?php echo $no; ?>
public function isLocalUrl() { $local = Url::getCurrentUrl(); return $this->get(URL_SERVER) === $local->get(URL_SERVER); }
}; $intendedFilter = function (Project $project) { return !$project->isHidden() && $project->isIntended(); }; if (TEST_MODE_ACTIVATED) { $options = new SimpleBlockComponent(); $options->setClass('testFeatures'); $options->addComponent("Options : "); $link = new Link(Url::getCurrentUrl(), "show hidden"); if ($link->getUrl()->hasQueryVar('showHidden')) { $link->getUrl()->removeQueryVar('showHidden'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('showHidden'); } $options->addComponent($link); $page->addComponent($options); } // TODO limit to authorized access if (Url::getCurrentUrl()->hasQueryVar('showHidden')) { call_user_func($listProcessor, new Title("Projets cachés", 2), $allProjects, $hiddenFilter, $useImageLists); } $categoryMap = array("subs" => $notLicensedAnimes, "scans" => $notLicensedDoujin); $filterMap = array("en cours" => $runningFilter, "terminés" => $finishedFilter, "abandonnés" => $abandonnedFilter, "envisagés" => $intendedFilter); $page->addComponent(new Title("Légalement indisponibles", 2)); foreach ($categoryMap as $category => $projects) { foreach ($filterMap as $desc => $filter) { call_user_func($listProcessor, ucfirst($category) . " " . $desc, $projects, $filter, $useImageLists); } } call_user_func($listProcessor, new Title("Légalement disponibles", 2), $allProjects, $licensedFilter, $useImageLists);
<link rel="stylesheet" href="//sta.hqoj.net/js/plugin/kindeditor/plugins/code/prettify.css" /> <link type="text/css" href="//sta.hqoj.net/css/www/oj/doc_list.page.css" rel="stylesheet"> <div class="sidebar"> <div class="nav" id="sidebar-fixed" > <div class="menu"> <ul> <?php foreach ($this->docList as $docInfo) { ?> <li> <a <?php echo Request::getGET('doc-id') == $docInfo['id'] ? 'class="hover"' : ''; ?> href="<?php echo Url::make(Url::getCurrentUrl(), array('doc-id' => $docInfo['id'])); ?> "> <span class="text"><?php echo $docInfo['title']; ?> </span> </a> </li> <?php } ?> </ul> </div> </div> </div>
public static function parseBBCode($text) { if (Format::$BBCodeParser === null) { Format::$BBCodeParser = new BBCodeParser(); /**********************************\ NO CLOSING TAGS \**********************************/ Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("separator", function ($tag, $parameter, $content) { return Separator::getInstance()->getHtml(); })); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("pin", function ($tag, $parameter, $content) { return Pin::getInstance()->getHtml(); })); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("advert", function ($tag, $parameter, $content) { return "<script src='http://www.blogbang.com/demo/js/blogbang_ad.php?id=6ee3436cd7' type='text/javascript'></script>"; })); /**********************************\ NO PARAMETERED TAGS \**********************************/ $notFormattedContent = function ($tag, $parameter, $content) { return BBCodeDescriptor::contentToString($content); }; $simpleOpenTag = function ($tag, $parameter, $content) { return "<{$tag}>"; }; $simpleCloseTag = function ($tag, $parameter, $content) { return "</{$tag}>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("b", $simpleOpenTag, $simpleCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("i", $simpleOpenTag, $simpleCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("u", $simpleOpenTag, $simpleCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("s", $simpleOpenTag, $simpleCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("code", $simpleOpenTag, $simpleCloseTag, $notFormattedContent)); /**********************************\ TITLE \**********************************/ $titleOpenTag = function ($tag, $parameter, $content) { $level = 1; if ($parameter === null) { // let as is } else { $parameters = preg_split('#\\|#', $parameter); $level = $parameters[0]; } return "<h" . $level . ">"; }; $titleContent = function ($tag, $parameter, $content) { $level = 1; static $lastNumbers = array(); if ($parameter === null) { // let as is } else { $parameters = preg_split('#\\|#', $parameter); $level = $parameters[0]; if (count($parameters) == 2) { if ($parameters[1] == 'number') { if (in_array($level, array_keys($lastNumbers))) { $lastNumbers[$level]++; } else { $lastNumbers[$level] = 1; } $content = $lastNumbers[$level] . ". " . $content; } else { throw new Exception($parameters[1] . " is not a known parameter"); } } else { // do nothing special } } return $content; }; $titleCloseTag = function ($tag, $parameter, $content) { $level = 1; if ($parameter === null) { // let as is } else { $parameters = preg_split('#\\|#', $parameter); $level = $parameters[0]; } return "</h" . $level . ">"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("title", $titleOpenTag, $titleCloseTag, $titleContent)); /**********************************\ SIZE \**********************************/ $sizeOpenTag = function ($tag, $parameter, $content) { $parameter = is_numeric($parameter) ? $parameter . 'em' : $parameter; return "<span style='font-size: " . $parameter . ";'>"; }; $sizeCloseTag = function ($tag, $parameter, $content) { return "</span>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("size", $sizeOpenTag, $sizeCloseTag)); /**********************************\ COLORS \**********************************/ $colorOpenTag = function ($tag, $parameter, $content) { return "<span style='color: {$parameter};'>"; }; $colorCloseTag = function ($tag, $parameter, $content) { return "</span>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("color", $colorOpenTag, $colorCloseTag)); /**********************************\ ALIGNEMENT \**********************************/ $alignOpenTag = function ($tag, $parameter, $content) { if ($tag === 'align') { $tag = empty($parameter) ? 'inherited' : $parameter; } if (in_array($tag, array('left', 'right', 'center', 'justify'))) { return "<div style='text-align: {$tag};'>"; } else { throw new Exception($tag . " is not managed"); } }; $alignCloseTag = function ($tag, $parameter, $content) { return "</div>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("left", $alignOpenTag, $alignCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("right", $alignOpenTag, $alignCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("center", $alignOpenTag, $alignCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("justify", $alignOpenTag, $alignCloseTag)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("align", $alignOpenTag, $alignCloseTag)); /**********************************\ LISTS & LIST ITEMS \**********************************/ $listOpenTag = function ($tag, $parameter, $content) { if ($tag === 'list') { return $parameter === '1' ? '<ol>' : '<ul>'; } else { if ($tag === 'item') { return '<li>'; } else { throw new Exception($tag . " is not managed"); } } }; $listCloseTag = function ($tag, $parameter, $content) { if ($tag === 'list') { return $parameter === '1' ? '</ol>' : '</ul>'; } else { if ($tag === 'item') { return '</li>'; } else { throw new Exception($tag . " is not managed"); } } }; $listContent = function ($tag, $parameter, $content) { if ($tag === 'list') { $content = Format::trimAndCleanArray($content); return BBCodeDescriptor::defaultContentCallback($tag, $parameter, $content); } }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("list", $listOpenTag, $listCloseTag, $listContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("item", $listOpenTag, $listCloseTag)); /**********************************\ IMAGES \**********************************/ $imageOpenTag = function ($tag, $parameter, $content) { if (empty($parameter)) { $parameter = $content; $content = null; } if (empty($parameter)) { throw new Exception("No image given"); } if ($tag === 'img') { $image = new Image($parameter, $content); } else { if (in_array($tag, array('img-left', 'imgl'))) { $image = new Image($parameter, $content); $image->makeLeftFloating(); } else { if (in_array($tag, array('img-right', 'imgr'))) { $image = new Image($parameter, $content); $image->makeRightFloating(); } else { if (in_array($tag, array('img-auto', 'imga'))) { $image = new AutoFloatImage($parameter, $content); } else { if (in_array($tag, array('img-auto-right', 'imgar'))) { $image = new AutoFloatImage($parameter, $content, true); } else { if (in_array($tag, array('img-auto-left', 'imgal'))) { $image = new AutoFloatImage($parameter, $content, false); } else { throw new Exception($tag . " is not managed"); } } } } } } return $image->getCurrentHTML(); }; $imageCloseTag = function ($tag, $parameter, $content) { return ""; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img-right", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("imgr", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img-left", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("imgl", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img-auto", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("imga", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img-auto-left", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("imgal", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("img-auto-right", $imageOpenTag, $imageCloseTag, null)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("imgar", $imageOpenTag, $imageCloseTag, null)); /**********************************\ GENERIC LINKS \**********************************/ $linkOpenTag = function ($tag, $parameter, $content) { if (empty($parameter) && empty($content)) { throw new Exception("no data has been given"); } else { if (empty($content)) { $content = $parameter; } else { if (empty($parameter)) { $parameter = $content; } else { // nothing is empty, so let as is } } } if (in_array($tag, array('url', 'ext'))) { $link = new Link($parameter, $content); if ($tag == 'ext' || $tag == 'url' && !$link->isLocalLink()) { $link->openNewWindow(true); } } else { if ($tag == 'urlk') { $parameter = preg_split('#\\|#', $parameter); $url = null; if (in_array('current', $parameter)) { $url = Url::getCurrentUrl(); } else { if (in_array('referer', $parameter)) { $url = new Url($_SERVER['HTTP_REFERER']); } else { throw new Exception("no address keyword has been given (like 'current' or 'referer')"); } } $full = false; if (in_array('full', $parameter)) { $full = true; } $link = new Link($url, $content, $full); if (!$link->isLocalLink()) { $link->openNewWindow(true); } } else { if ($tag == 'mail') { if (is_numeric($parameter)) { $parameter = TeamMember::getMember(intval($parameter))->getMail(); } $link = new MailLink($parameter, $content); } else { throw new Exception($tag . " is not managed"); } } } return $link->getOpenTag(); }; $linkContent = function ($tag, $parameter, $content) { if ($tag === 'urlk') { if ($content === null) { $parameter = preg_split('#\\|#', $parameter); $url = null; if (in_array('current', $parameter)) { $url = Url::getCurrentUrl(); } else { if (in_array('referer', $parameter)) { $url = new Url($_SERVER['HTTP_REFERER']); } else { throw new Exception("no address keyword has been given (like 'current' or 'referer')"); } } $full = false; if (in_array('full', $parameter)) { $full = true; } $content = $url->toString($full); } } return BBCodeDescriptor::contentToHTML($content); }; $linkCloseTag = function ($tag, $parameter, $content) { return "</a>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("url", $linkOpenTag, $linkCloseTag, $linkContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("urlk", $linkOpenTag, $linkCloseTag, $linkContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("ext", $linkOpenTag, $linkCloseTag, $linkContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("mail", $linkOpenTag, $linkCloseTag, $linkContent)); /**********************************\ SPECIAL LINKS \**********************************/ $releaseOpenTag = function ($tag, $parameter, $content) { $parameter = preg_split('#\\|#', $parameter); if ($parameter[1] === '*') { $parameter[1] = Release::getAllReleasesIDForProject($parameter[0]); } else { $parameter[1] = Format::trimAndCleanArray(preg_split('#,#', $parameter[1])); } $link = new ReleaseLink($parameter[0], $parameter[1], null); return $link->getOpenTag(); }; $releaseContent = function ($tag, $parameter, $content) { if (empty($content)) { $parameter = preg_split('#\\|#', $parameter); if ($parameter[1] === '*') { $parameter[1] = Release::getAllReleasesIDForProject($parameter[0]); } else { $parameter[1] = Format::trimAndCleanArray(preg_split('#,#', $parameter[1])); } $projectName = Project::getProject($parameter[0])->getName(); $numbers = array(); $others = array(); foreach ($parameter[1] as $key => $id) { if (preg_match("#^ep\\d+\$#", $id)) { $numbers[] = substr($id, 2); } else { $others[] = $id; } } sort($numbers); if (!empty($numbers)) { $ref = 0; $last = $numbers[0]; for ($i = 1; $i < count($numbers); $i++) { $current = $numbers[$i]; if ($current == $last + 1) { $numbers[$i] = null; } else { if ($numbers[$ref] != $last) { $numbers[$ref] .= "-" . $last; } $ref = $i; } $last = $current; } if ($numbers[$ref] != $last) { $numbers[$ref] .= "-" . $last; } $numbers = array_filter($numbers); $list = implode(", ", $numbers) . ", "; } foreach ($others as $id) { $list = Release::getRelease($parameter[0], $id)->getName() . ", "; } $list = substr($list, 0, strlen($list) - 2); return $projectName . " " . $list; } else { return BBCodeDescriptor::contentToHTML($content); } }; $partnerOpenTag = function ($tag, $parameter, $content) { if (empty($parameter)) { $parameter = $content; $content = null; } $parameter = preg_split('#\\|#', $parameter); $partner = null; $useImage = false; foreach ($parameter as $param) { try { $partner = Partner::getPartner($param); } catch (Exception $e) { if ($param === 'image') { $useImage = true; } } } if ($partner === null) { $partner = Partner::getPartner($content); $content = null; } $link = new PartnerLink($partner, BBCodeDescriptor::contentToHTML($content)); $link->openNewWindow(true); if ($useImage) { $link->setUseImage(true); } return $link->getOpenTag(); }; $partnerContent = function ($tag, $parameter, $content) { if (empty($parameter)) { $parameter = $content; $content = null; } $parameter = preg_split('#\\|#', $parameter); $partner = null; $useImage = false; foreach ($parameter as $param) { try { $partner = Partner::getPartner($param); } catch (Exception $e) { if ($param === 'image') { $useImage = true; } } } if ($partner === null) { $partner = Partner::getPartner($content); $content = null; } $link = new PartnerLink($partner, BBCodeDescriptor::contentToHTML($content)); $link->openNewWindow(true); if ($useImage) { $link->setUseImage(true); } return $link->getHTMLContent(); }; $projectOpenTag = function ($tag, $parameter, $content) { if (empty($parameter)) { $link = new ProjectLink(Project::getProject($content)); } else { $parameter = preg_split('#\\|#', $parameter); try { $link = new ProjectLink(Project::getProject($parameter[0])); } catch (Exception $e) { $link = new ProjectLink(Project::getProject($content)); } } return $link->getOpenTag(); }; $projectContent = function ($tag, $parameter, $content) { if (empty($parameter)) { $link = new ProjectLink(Project::getProject($content)); } else { $parameter = preg_split('#\\|#', $parameter); try { $link = new ProjectLink(Project::getProject($parameter[0])); if (!empty($content)) { $link->setContent(BBCodeDescriptor::contentToHTML($content)); } } catch (Exception $e) { $link = new ProjectLink(Project::getProject($content)); } if (in_array('image', $parameter)) { $link->useImage(true); } } return $link->getHTMLContent(); }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("release", $releaseOpenTag, $linkCloseTag, $releaseContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("project", $projectOpenTag, $linkCloseTag, $projectContent)); Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("partner", $partnerOpenTag, $linkCloseTag, $partnerContent)); /**********************************\ SPOILER \**********************************/ $spoilerOpenTag = function ($tag, $parameter, $content) { static $id = 0; $id++; $index = 0; while (empty($parameter)) { $parameter = $content[$index]; if (is_string($parameter)) { $parameter = trim($parameter); } $index++; } if ($parameter instanceof BBCodeDescriptor) { $parameter = $parameter->generateHTML(); } // TODO show the spoiler if javascript deactivated return "<a href=\"#\" onclick=\"show('spoiler{$id}');return(false)\">{$parameter}</a><object id=\"spoiler{$id}\" style=\"display: none;\">"; }; $spoilerContent = function ($tag, $parameter, $content) { $index = 0; while (empty($parameter)) { $parameter = $content[$index]; if (is_string($parameter)) { $parameter = trim($parameter); } $index++; } if ($index > 0) { unset($content[$index - 1]); } return BBCodeDescriptor::defaultContentCallback($tag, $parameter, $content); }; $spoilerCloseTag = function ($tag, $parameter, $content) { return '</object>'; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("spoiler", $spoilerOpenTag, $spoilerCloseTag, $spoilerContent)); /**********************************\ VIDEOS \**********************************/ function parseVideoParameter($parameter) { $parameter = preg_split('#\\|#', $parameter); $result = array(); foreach ($parameter as $row) { $row = preg_split('#:#', $row); if (in_array($row[0], array('width', 'height'))) { $result[$row[0]] = $row[1]; } else { throw new Exception($row[0] . " is not managed"); } } if (!isset($result['width']) || $result['width'] <= 0) { throw new Exception("The width of the video is not well defined"); } if ($result['height'] <= 0) { throw new Exception("The height of the video is not well defined"); } return $result; } $videoOpenTag = function ($tag, $parameter, $content) { $parameter = parseVideoParameter($parameter); $width = $parameter['width']; $height = $parameter['height']; return "<object width='{$width}' height='{$height}'><param name='allowfullscreen' value='true' /><param name='allowscriptaccess' value='always' /><param name='movie' value='{$content}' />"; }; $videoContent = function ($tag, $parameter, $content) { $parameter = parseVideoParameter($parameter); $width = $parameter['width']; $height = $parameter['height']; return "<embed src='{$content}' type='application/x-shockwave-flash' allowfullscreen='true' allowscriptaccess='always' width='{$width}' height='{$height}'></embed>"; }; $videoCloseTag = function ($tag, $parameter, $content) { return "</object>"; }; Format::$BBCodeParser->addDescriptor(new BBCodeDescriptor("video", $videoOpenTag, $videoCloseTag, $videoContent)); } return Format::$BBCodeParser->translate($text); }
<?php $page = PageContent::getInstance(); $id = Url::getCurrentUrl()->getQueryVar('id'); $news = News::getNews($id); $page->addComponent(new NewsComponent($news));
public function defaultAction() { $pageSize = 20; $page = Pager::get(); $loginName = Request::getGET('login-name', ''); $path = Request::getGET('path', ''); $includePath = Request::getGET('include-path', ''); // 路径非法提示 if (!empty($path)) { if (!RootPermissionInterface::isValidPath(array('path' => $path))) { $this->setNotice(FrameworkVars::NOTICE_ERROR, "路径{$path}格式不正确!"); $url = Url::getCurrentUrl(array('path' => null)); Url::redirect($url); } } // 路径非法提示 if (!empty($includePath)) { if (!RootPermissionInterface::isValidPath(array('path' => $includePath))) { $this->setNotice(FrameworkVars::NOTICE_ERROR, "路径{$includePath}格式不正确!"); $url = Url::getCurrentUrl(array('include-path' => null)); Url::redirect($url); } } // 用户不存在提示 if (!empty($loginName)) { $userInfo = UserCommonInterface::getByLoginName(array('login_name' => $loginName)); if (empty($userInfo)) { $this->setNotice(FrameworkVars::NOTICE_ERROR, '用户不存在!'); $url = Url::getCurrentUrl(array('login-name' => null)); Url::redirect($url); } } // 构建where $where = array(); if (!empty($userInfo)) { $where[] = array('user_id', '=', $userInfo['id']); } if (!empty($path)) { $managerIds = RootManagerInterface::getAllowedManagerIds(array('path' => $path)); $where[] = array('id', 'IN', $managerIds); } if (!empty($includePath)) { $managerIds = RootManagerInterface::getIncludeManagerIds(array('path' => $includePath)); $where[] = array('id', 'IN', $managerIds); } $offset = ($page - 1) * $pageSize; $managerList = RootManagerInterface::getList(array('where' => $where, 'limit' => $pageSize, 'offset' => $offset)); $allCount = RootManagerInterface::getCount($where); $userList = array(); $pathHash = array(); if (!empty($managerList)) { $userIds = array_column($managerList, 'user_id'); $userList = UserCommonInterface::getById(array('id' => $userIds)); $userList = Arr::listToHash('id', $userList); // 获取权限列表 $managerIds = array_column($managerList, 'id'); $pathHash = RootManagerInterface::getPaths(array('id' => $managerIds)); } // 找出invalid path $invalidHash = array(); foreach ($pathHash as $id => $pathSet) { foreach ($pathSet as $tmpPath) { if (array_key_exists($tmpPath, $invalidHash)) { continue; } $invalidHash[$tmpPath] = RootPermissionInterface::findPath(array('path' => $tmpPath)) ? 0 : 1; } } // 缓存部分的html $html = array(); $html['pager'] = $this->view->fetch(array('renderAllCount' => $allCount, 'renderPageSize' => $pageSize, 'renderRadius' => 8), 'widget/pager.php'); $this->renderFramework(array('html' => $html, 'managerList' => $managerList, 'userList' => $userList, 'pathHash' => $pathHash, 'invalidHash' => $invalidHash), 'manager/list.php'); }
<?php $url = '/admin' . Url::getCurrentUrl(array('action', 'id')); require_once 'template/_header.php'; ?> <h1>Clients :: Edit</h1> <p>The record has been updated successfully.<br /> <a href="<?php echo $url; ?> ">Go back to the list of clients.</a></p> <?php require_once 'template/_footer.php';
<?php try { /***************************************\ PAGE LOADING \***************************************/ $page = getCurrentPage(); if (!in_array($page, array('project', 'news', 'news2', 'about', 'contact', 'bug', 'projects', 'team', 'xdcc', 'havert', 'dossiers', 'dossier', 'partenariat', 'kanaiiddl', 'recrutement', 'dakko', 'dons', 'dl', 'recruit'))) { throw new Exception("Inexistant page " . $page); } try { $id = Url::getCurrentUrl()->getQueryVar('page'); PageContent::getInstance()->setClass($id); $page = Page::getPage($id); $content = $page->getContent(); if ($page->useBBCode()) { $content = Format::convertTextToHTML($content); } PageContent::getInstance()->addComponent(new SimpleTextComponent($content)); } catch (Exception $e) { require_once "interface/pages/{$page}.php"; } PageContent::getInstance()->writeNow(); } catch (Exception $e) { if (TEST_MODE_ACTIVATED) { echo '<section id="page">'; echo 'Invalid URL, the bug page should be displayed in not testing mode.<br/><br/>'; echo $e->__toString(); echo '</section>'; } else { $pageContent = PageContent::getInstance();
if ($link->getUrl()->hasQueryVar('showPrepared')) { $link->getUrl()->removeQueryVar('showPrepared'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('showPrepared'); } $options->addComponent($link); $link = new Link(Url::getCurrentUrl(), "show old"); if ($link->getUrl()->hasQueryVar('showOld')) { $link->getUrl()->removeQueryVar('showOld'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('showOld'); } $options->addComponent($link); $page->addComponent($options); } $page->addComponent($views); $remaining = 10; if (Url::getCurrentUrl()->hasQueryVar('showOld')) { // TODO display this option or implement pages $remaining = -1; } foreach ($newsList as $news) { $page->addComponent(new NewsComponent($news)); $remaining--; if ($remaining == 0) { break; } } $page->addComponent($views);
$prev = $renderMaxId + 1; $next = $renderMinId - 1; if ($next < 0) { $next = 0; } ?> <ul class="widget-pager"> <li><a class="item item-lg" href="<?php echo Url::getCurrentUrl(array('min-id' => null, 'max-id' => null)); ?> ">首页</a></li> <?php if (!empty($renderMinId)) { ?> <li><a class="item item-lg" href="<?php echo Url::getCurrentUrl(array('min-id' => $prev, 'max-id' => null)); ?> ">上一页</a></li> <li><a class="item item-lg" href="<?php echo Url::getCurrentUrl(array('min-id' => null, 'max-id' => $next)); ?> ">下一页</a></li> <?php } ?> <li><a class="item item-lg" href="<?php echo Url::getCurrentUrl(array('min-id' => 1, 'max-id' => null)); ?> ">末页</a></li> </ul>
echo $projectInfo['title']; ?> </a></li> <?php } ?> </ul> </div> <div class="item-4"> <a class="tab-title" href="#"><?php echo $this->loginUserInfo['username']; ?> </a> <ul class="menu"> <li><a href="//uc.hqoj.net/logout/?back-url=<?php echo Url::getCurrentUrl(); ?> ">退出</a></li> </ul> </div> </div> </div> <div class="module-breadcrumb"> <a href="<?php echo $this->backendProjectInfo['url']; ?> "><?php echo $this->backendProjectInfo['title']; ?> </a>
$link->getUrl()->removeQueryVar('phpinfo'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('phpinfo'); } $features->addComponent($link); $link = new Link(Url::getCurrentUrl(), 'Go in the future'); if (Url::getCurrentUrl()->hasQueryVar('setdate')) { $link->getUrl()->removeQueryVar('setdate'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('setdate', PHP_INT_MAX); } $features->addComponent($link); $link = new Link(Url::getCurrentUrl(), 'deactivate testing mode'); if (Url::getCurrentUrl()->hasQueryVar('noTest')) { $link->getUrl()->removeQueryVar('noTest'); $link->setClass('reverse'); } else { $link->getUrl()->setQueryVar('noTest'); } $features->addComponent($link); $features->addComponent('<br/>'); $features->addComponent(date("Y-m-d H:i:s", $_SESSION[CURRENT_TIME])); $features->addComponent('<br/>'); $branches = array(); exec('git branch', $branches); foreach ($branches as $branch) { if (preg_match("#^\\* .*\$#", $branch)) { $features->addComponent(substr($branch, 2)); break;