コード例 #1
0
function main($request, $payload, $kwargs = array())
{
    $s = $payload['section'];
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
    }
    if ($s->template) {
        $str = sprintf('section/templates/%s.%s', $s->template, $ext);
    } else {
        $str = sprintf('section/main.%s', $ext);
    }
    if ($s = $request->get('status', array('success', 'error'))) {
        $payload['postStatus'] = $s;
    }
    try {
        $tpl = new Template($str);
        $res = new Response();
        $res->content = $tpl->render($payload);
    } catch (\foundry\exception $e) {
        // couldn't locate template load the default
        $tpl = new Template(sprintf('section/main.%s', $ext));
        $res = new Response();
        $res->content = $tpl->render($payload);
    }
    return $res;
}
コード例 #2
0
function main($request, $payload, $kwargs = array())
{
    $ext = 'tpl';
    if ($request->isMobile() && $request->clientWantsMobile) {
        $ext = 'mbl';
    }
    $str = sprintf('%s/%s.%s', $request->controller, $request->action, $ext);
    // the main controller can return a page, if requested
    // see \gryphon\controller\main::page()
    if (isset($payload['page'])) {
        $str = sprintf('%s/%s.%s', $request->controller, $payload['page'], $ext);
    }
    // check for breaking news
    $payload['breaking'] = false;
    $breaking = M::init('article')->cache(false)->where('self:status = 1')->order('self:created desc')->limit(1)->findByTags(M::init('tag')->findByName('breaking'))->pop();
    if ($breaking && $breaking->uid) {
        $payload['breaking'] = $breaking;
    }
    $payload['suppressLeaderBoard'] = true;
    $tpl = new Template($str);
    if ($tpl->didFindTemplate()) {
        $res = new Response();
        $res->content = $tpl->render($payload);
    } else {
        $res = new \foundry\response\redirect(URL::linkTo('/'), true);
    }
    return $res;
}
コード例 #3
0
function main($request, $payload, $kwargs = array())
{
    $page = $payload['page'];
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
    }
    if ($page) {
        if ($page->template) {
            $str = sprintf('page/templates/%s.%s', $page->template, $ext);
        } else {
            $str = sprintf('page/main.%s', $ext);
        }
    } else {
        $str = sprintf('page/%s.%s', $payload['slug'], $ext);
    }
    try {
        $tpl = new Template($str);
        $res = new Response();
        $res->content = $tpl->render($payload);
    } catch (\foundry\exception $e) {
        // couldn't locate template load the default
        $tpl = new Template(sprintf('page/main.%s', $ext));
        $res = new Response();
        $res->content = $tpl->render($payload);
    }
    return $res;
}
コード例 #4
0
function main($request, $payload, $kwargs = array())
{
    $s = $request->getSession();
    $s->set('roost_referrer', $request->query->query);
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
        $ref = $s->get('roost_mobile_referrer');
        $current = $request->query->__toString();
        if ($ref != $current) {
            $s->set('roost_mobile_referrer', $current);
        }
        $payload['request_referrer'] = $ref;
    }
    $action = $request->action;
    if ($action == 'send') {
        $action = 'property';
    }
    $str = sprintf('roost/%s.%s', $action, $ext);
    if ($request->isXHR()) {
        $payload['isXHR'] = true;
    }
    try {
        $tpl = new Template($str);
        $res = new Response();
        $res->content = $tpl->render($payload);
    } catch (\foundry\exception $e) {
        // couldn't locate template load the default
        $tpl = new Template(sprintf('roost/main.%s', $ext));
        $res = new Response();
        $res->content = $tpl->render($payload);
    }
    return $res;
}
コード例 #5
0
function main($request, $payload, $kwargs = array())
{
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
    }
    if ($request->isXHR()) {
        $payload['xhr'] = true;
    }
    $type = $payload['media']->type;
    if ($type) {
        $str = sprintf('media/%s.%s', $type, $ext);
    } else {
        $str = sprintf('media/main.%s', $ext);
    }
    $tpl = new Template($str);
    $res = new Response();
    $res->content = $tpl->render($payload);
    return $res;
}
コード例 #6
0
function main($request, $payload, $kwargs = array())
{
    $template = 'main';
    // this switches the template based on the payload returned since the
    // blog controller technically only has one action, 'main'.
    if ($payload['blogs']) {
        $template = 'landing';
    } elseif ($payload['blog'] && !$payload['post']) {
        $template = 'blog';
    }
    $ext = 'tpl';
    if ($request->isMobile() && $request->clientWantsMobile) {
        $ext = 'mbl';
    }
    $str = sprintf('blog/%s.%s', $template, $ext);
    $tpl = new Template($str);
    $res = new Response();
    $res->content = $tpl->render($payload);
    return $res;
}
コード例 #7
0
function main($request, $payload, $kwargs = array())
{
    $slug = $payload['slug'];
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
    }
    if ($slug) {
        $str = sprintf('multimedia/templates/%s.%s', $slug, $ext);
        $payload['subActive'] = ucfirst($slug);
    } else {
        $str = sprintf('multimedia/main.%s', $ext);
    }
    $s = $request->getSession();
    $payload['referrer'] = $s->get('article_referrer');
    $tpl = new Template($str);
    $res = new Response();
    $res->content = $tpl->render($payload);
    return $res;
}
コード例 #8
0
function main($request, $payload, $kwargs = array())
{
    $a = $payload['article'];
    $payload['shortUrl'] = str_replace('index.php/', '', M::init('gryphon:shortUrl')->generateFromUrl($a->url));
    $a->urlShort = $payload['shortUrl'];
    $ext = 'tpl';
    if ($request->isMobile() && $request->clientWantsMobile) {
        $ext = 'mbl';
    }
    if ($a->template) {
        $str = sprintf('article/templates/%s.%s', $a->template, $ext);
    } else {
        $str = sprintf('article/main.%s', $ext);
    }
    // figure out the active nav state
    $navItems = array('pageOne' => 'frontpage', 'news' => 'news', 'city' => 'news', 'campus' => 'news', 'sports' => 'sports', 'opinion' => 'opinion', 'features' => 'features', 'entertainment' => 'entertainment', 'multimedia' => 'multimedia');
    foreach ($a->sections as $sec) {
        if (array_key_exists($sec->slug, $navItems)) {
            $payload['active'] = $navItems[$sec->slug];
            break;
        }
    }
    // set the article refer var
    $s = $request->getSession();
    $s->set('article_referrer', $request->query->query);
    // finally check for comment notices
    if ($msg = $request->get('message', 'specialChars')) {
        $payload['message'] = array('value' => $msg, 'type' => $request->get('type', 'alnum'));
    }
    try {
        $tpl = new Template($str);
        $res = new Response();
        $res->content = $tpl->render($payload);
    } catch (\foundry\exception $e) {
        // couldn't locate template load the default
        $tpl = new Template(sprintf('article/main.%s', $ext));
        $res = new Response();
        $res->content = $tpl->render($payload);
    }
    return $res;
}
コード例 #9
0
function main($request, $payload, $kwargs = array())
{
    $s = $payload['section'];
    $ext = 'tpl';
    if ($request->isMobile() && $request->clientWantsMobile) {
        $ext = 'mbl';
    }
    $str = 'main';
    if ($payload['advanced']) {
        $str = 'advanced';
    }
    $str = sprintf('search/%s.%s', $str, $ext);
    try {
        $tpl = new Template($str);
        $res = new Response();
        $res->content = $tpl->render($payload);
    } catch (\foundry\exception $e) {
        // couldn't locate template load the default
        $tpl = new Template(sprintf('search/main.%s', $ext));
        $res = new Response();
        $res->content = $tpl->render($payload);
    }
    return $res;
}
コード例 #10
0
function main($request, $payload, $kwargs = array())
{
    $template = 'main';
    // this switches the template based on the payload returned since the
    // blog controller technically only has one action, 'main'.
    if ($payload['galleries']) {
        $template = 'landing';
    }
    $ext = 'tpl';
    if ($request->isMobile()) {
        $ext = 'mbl';
    }
    $str = sprintf('gallery/%s.%s', $template, $ext);
    // edge case to handle inline galleries (I love view callbacks)
    if ($request->isXHR() && $payload['gallery'] && $payload['image']) {
        $str = sprintf('gallery/inline.%s', $ext);
    }
    $s = $request->getSession();
    $payload['referrer'] = $s->get('article_referrer');
    $tpl = new Template($str);
    $res = new Response();
    $res->content = $tpl->render($payload);
    return $res;
}