当前位置: 首页>>代码示例>>PHP>>正文


PHP Surfer::get_permalink方法代码示例

本文整理汇总了PHP中Surfer::get_permalink方法的典型用法代码示例。如果您正苦于以下问题:PHP Surfer::get_permalink方法的具体用法?PHP Surfer::get_permalink怎么用?PHP Surfer::get_permalink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Surfer的用法示例。


在下文中一共展示了Surfer::get_permalink方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: sprintf

    if ($anchor->get_type() != 'user') {
        Members::free($anchor->get_reference(), 'user:' . Surfer::get_id());
    }
    // page title
    $type = $anchor->get_type();
    if ($type == 'section') {
        $label = i18n::s('a section');
    } else {
        $label = i18n::s('a page');
    }
    $context['page_title'] = sprintf(i18n::s('You have left %s'), $label);
    // splash message
    $context['text'] .= '<p>' . sprintf(i18n::s('The operation has completed, and you have no specific access rights to %s.'), Skin::build_link($anchor->get_url(), $anchor->get_title())) . '</p>';
    // back to the anchor page
    $links = array();
    $url = Surfer::get_permalink();
    $links[] = Skin::build_link($url, i18n::s('Done'), 'button');
    $context['text'] .= Skin::finalize_list($links, 'assistant_bar');
    // confirm that i want to suppress my editor rights
} else {
    // page title
    $type = $anchor->get_type();
    if ($type == 'section') {
        $label = i18n::s('a section');
    } else {
        $label = i18n::s('a page');
    }
    $context['page_title'] = sprintf(i18n::s('Leave %s'), $label);
    // splash message
    if ($type == 'section') {
        $context['text'] .= '<p>' . sprintf(i18n::s('You have been assigned as an editor of %s, and this allows you to post new content, to contribute to pages from other persons, and to be notified of changes.'), Skin::build_link($anchor->get_url(), $anchor->get_title())) . '</p>';
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:leave.php

示例2: build_notification

 /**
  * build a notification related to a section
  *
  * This function builds a mail message that displays:
  * - an image of the contributor (if possible)
  * - a headline mentioning the contribution
  * - the full content of the section
  * - a button linked to the section
  * - a link to the containing section, if any
  *
  * Note: this function returns legacy HTML, not modern XHTML, because this is what most
  * e-mail client software can afford.
  *
  * @param string either 'apply', 'create' or 'update'
  * @param array attributes of the item
  * @param object overlay of the item, if any
  * @return string text to be send by e-mail
  */
 public static function build_notification($action, $item, $overlay = NULL)
 {
     global $context;
     // get the main anchor
     $anchor = Anchors::get($item['anchor']);
     // compute page title
     if (is_object($overlay)) {
         $title = Codes::beautify_title($overlay->get_text('title', $item));
     } else {
         $title = Codes::beautify_title($item['title']);
     }
     // headline template
     switch ($action) {
         case 'apply':
             $template = i18n::c('%s is requesting access to %s');
             break;
         case 'create':
             $template = i18n::c('%s has created section %s');
             break;
         case 'update':
             $template = i18n::c('%s has updated section %s');
             break;
     }
     // headline
     $headline = sprintf($template, Surfer::get_link(), '<a href="' . Sections::get_permalink($item) . '">' . $title . '</a>');
     // panel content
     $content = '';
     // signal restricted and private articles
     if ($item['active'] == 'N') {
         $title = PRIVATE_FLAG . $title;
     } elseif ($item['active'] == 'R') {
         $title = RESTRICTED_FLAG . $title;
     }
     // insert page title
     $content .= '<h3><span>' . $title . '</span></h3>';
     // insert anchor prefix
     if (is_object($anchor)) {
         $content .= $anchor->get_prefix();
     }
     // the introduction text, if any
     if (is_object($overlay)) {
         $content .= Skin::build_block($overlay->get_text('introduction', $item), 'introduction');
     } elseif (isset($item['introduction']) && trim($item['introduction'])) {
         $content .= Skin::build_block($item['introduction'], 'introduction');
     }
     // get text related to the overlay, if any
     if (is_object($overlay)) {
         $content .= $overlay->get_text('view', $item);
     }
     // filter description, if necessary
     if (is_object($overlay)) {
         $description = $overlay->get_text('description', $item);
     } else {
         $description = $item['description'];
     }
     // the beautified description, which is the actual page body
     if ($description) {
         // use adequate label
         if (is_object($overlay) && ($label = $overlay->get_label('description'))) {
             $content .= Skin::build_block($label, 'title');
         }
         // beautify the target page
         $content .= Skin::build_block($description, 'description', '', $item['options']);
     }
     // attachment details
     $details = array();
     // info on related sections
     if ($count = Sections::count_for_anchor('section:' . $item['id'])) {
         $details[] = sprintf(i18n::nc('%d section', '%d sections', $count), $count);
     }
     // info on related articles
     if ($count = Articles::count_for_anchor('section:' . $item['id'])) {
         $details[] = sprintf(i18n::nc('%d page', '%d pages', $count), $count);
     }
     // info on related files
     if ($count = Files::count_for_anchor('section:' . $item['id'], TRUE)) {
         // the actual list of files attached to this section
         if (preg_match('/\\bfiles_by_title\\b/i', $item['options'])) {
             $items = Files::list_by_title_for_anchor('section:' . $item['id'], 0, 300, 'compact');
         } else {
             $items = Files::list_by_date_for_anchor('section:' . $item['id'], 0, 300, 'compact');
         }
//.........这里部分代码省略.........
开发者ID:rair,项目名称:yacs,代码行数:101,代码来源:sections.php

示例3: urlencode

<?php

/* 
 * Redirect automaticaly a user to its profile
 * or invite him to log in (and then redirect)
 * can be a usefull target for a link in email for example.
 *	
 * @author Alexis Raimbault
 * @reference
 * @license http://www.gnu.org/copyleft/lesser.txt GNU Lesser General Public License
 */
include_once '../shared/global.php';
if (!Surfer::is_logged()) {
    Safe::redirect($context['url_to_home'] . $context['url_to_root'] . 'users/login.php?url=' . urlencode($context['url_to_home'] . $context['url_to_root'] . 'users/profile.php'));
} else {
    Safe::redirect(Surfer::get_permalink());
}
开发者ID:rair,项目名称:yacs,代码行数:17,代码来源:profile.php

示例4: sprintf

     $message = Articles::build_notification('apply', $item, $overlay);
     $headers = Mailer::set_thread('article:' . $item['id']);
     // allow for skinnable template
     $message = Skin::build_mail_message($message);
     // build multiple parts, for HTML rendering
     $message = Mailer::build_multipart($message);
     // send the message to requested user
     if (Mailer::post(Surfer::from(), $to, $subject, $message, NULL, $headers)) {
         $text = sprintf(i18n::s('Your request has been transmitted to %s. Check your mailbox for feed-back.'), Skin::build_link(Users::get_permalink($requested), Codes::beautify_title($requested['full_name']), 'user'));
         $context['text'] .= Skin::build_block($text, 'note');
     }
     // follow-up navigation
     $context['text'] .= '<div>' . i18n::s('Where do you want to go now?') . '</div>';
     $menu = array();
     $menu[] = Skin::build_link($context['url_to_root'], i18n::s('Front page'), 'button');
     $menu[] = Skin::build_link(Surfer::get_permalink(), i18n::s('My profile'), 'span');
     $context['text'] .= Skin::finalize_list($menu, 'menu_bar');
     // offer to request some owner
 } else {
     // provide feed-back to surfer
     $context['text'] .= Skin::build_block(i18n::s('You are not allowed to access this page.'), 'caution');
     // list owners
     $owners = array();
     // owner of this section
     if (isset($item['owner_id']) && $item['owner_id'] && ($user = Users::get($item['owner_id'])) && $user['email']) {
         $owners[] = $user['id'];
     }
     // owners of parent containers
     $reference = $item['anchor'];
     while ($reference) {
         if (!($parent = Anchors::get($reference))) {
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:view.php

示例5: sprintf

 // we are tracking a user
 if (!strncmp($track, 'user:', 5)) {
     // notify a person that is followed
     if (($user = Users::get(str_replace('user:', '', $track))) && isset($user['email']) && $user['email'] && $user['without_alerts'] != 'Y') {
         // contact target user by e-mail
         $subject = sprintf(i18n::c('%s is following you'), strip_tags(Surfer::get_name()));
         // headline
         $headline = sprintf(i18n::c('%s is following you'), Surfer::get_link());
         // information
         $message = '<p>' . sprintf(i18n::c('%s will receive notifications when you will update your followers at %s'), Surfer::get_name(), $context['site_name']) . '</p>';
         // assemble main content of this message
         $message = Skin::build_mail_content($headline, $message);
         // a set of links
         $menu = array();
         // call for action
         $link = Surfer::get_permalink();
         $menu[] = Skin::build_mail_button($link, ucfirst(strip_tags(Surfer::get_name())), TRUE);
         // finalize links
         $message .= Skin::build_mail_menu($menu);
         // enable threading
         $headers = Mailer::set_thread('user:' . $item['id']);
         // sent by the server
         Mailer::notify(NULL, $user['email'], $subject, $message, $headers);
     }
     // feed-back to poster
     $context['text'] .= '<p>' . sprintf(i18n::s('You have been connected to %s.'), Skin::build_link($anchor->get_url(), $anchor->get_title())) . "</p>\n";
     $menu[] = Skin::build_link(Users::get_url($track, 'track'), i18n::s('I have changed my mind'), 'span');
     // we are tracking a page
 } else {
     // reference the anchor page
     if (is_object($anchor) && $anchor->is_viewable()) {
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:track.php

示例6: array

 /**
  * build the navigation menu for this surfer
  *
  * This function has to be called from the template, once the skin has been loaded.
  *
  * @param string the type of each link
  * @return string to be displayed as user menu
  *
  * @see skins/skin_skeleton.php
  */
 public static function &build_user_menu($type = 'submenu')
 {
     global $context;
     // surfer is a valid user
     if (Surfer::is_logged()) {
         // all available commands
         $menu = array();
         if ($link = Surfer::get_permalink()) {
             $menu[$link] = array('', i18n::s('My profile'), '', $type, '', i18n::s('View all data this site knows about you'));
         }
         if (Surfer::is_associate()) {
             $menu['articles/review.php'] = array('', i18n::s('Review queue'), '', $type, '', i18n::s('Check requests, publish submitted articles, review old pages'));
         }
         if (Surfer::is_associate()) {
             $menu['control/'] = array('', i18n::s('Control Panel'), '', $type, '', i18n::s('System commands, configuration panels, content overview'));
         }
         $menu['users/logout.php'] = array('', i18n::s('Logout'), '', $type, '', i18n::s('You will be considered as an anonymous surfer'));
         $content = Skin::build_list($menu, 'compact');
         // no user menu during installation
     } elseif (!file_exists($context['path_to_root'] . 'parameters/switch.on') && !file_exists($context['path_to_root'] . 'parameters/switch.off')) {
     } elseif (!isset($context['users_without_login_box']) || $context['users_without_login_box'] != 'Y') {
         $content = '<form method="post" action="' . $context['url_to_root'] . 'users/login.php" id="login_form"><p>' . "\n";
         // use cookie, if any -- don't populate the name to enable caching
         $name = '';
         // the id or email field
         $content .= i18n::s('User') . BR . '<input type="text" name="login_name" size="10" maxlength="255" value="' . encode_field($name) . '" />' . BR;
         // the password
         $content .= i18n::s('Password') . BR . '<input type="password" name="login_password" size="10" maxlength="255" />' . BR;
         // Remember me ?
         if ($context['users_with_permanent_authentication'] == 'U') {
             $content .= '<span class="details"><input type="checkbox" name="remember" value="Y" />&nbsp;' . i18n::s('Stay connected') . '</span>' . BR;
         }
         // the button
         $content .= Skin::build_submit_button(i18n::s('Login'));
         // end of the form
         $content .= '</p></form>';
         // additional commands
         $menu = array();
         // self-registration is allowed
         if (!isset($context['users_without_registration']) || $context['users_without_registration'] != 'Y') {
             $menu['users/edit.php'] = array('', i18n::s('Register'), '', $type, '', i18n::s('Share your profile in this community'));
         }
         $menu['users/password.php'] = array('', i18n::s('Lost password'), '', $type, '', i18n::s('Prove who you are'));
         $content .= Skin::build_list($menu, 'compact');
     }
     // return by reference
     return $content;
 }
开发者ID:rair,项目名称:yacs,代码行数:58,代码来源:surfer.php

示例7: build_notification

 /**
  * build a notification related to an article
  *
  * The action can be one of the following:
  * - 'apply' - surfer would like to get access to the page
  * - 'publish' - either a published page has been posted, or a draft page has been published
  * - 'submit' - a draft page has been posted
  * - 'update' - a page (draft or published) has been modified
  *
  * This function builds a mail message that displays:
  * - an image of the contributor (if possible)
  * - a headline mentioning the contribution
  * - the full content of the new comment
  * - a button linked to the reply page
  * - a link to the containing page
  *
  * Note: this function returns legacy HTML, not modern XHTML, because this is what most
  * e-mail client software can afford.
  *
  * @param string either 'apply', 'publish', 'submit' or 'update'
  * @param array attributes of the item
  * @param object overlay of the item, if any
  * @return string text to be send by e-mail
  */
 public static function build_notification($action = 'publish', $item, $overlay = NULL)
 {
     global $context;
     // sanity check
     if (!isset($item['anchor']) || !($anchor = Anchors::get($item['anchor']))) {
         throw new Exception('no anchor for this article');
     }
     // compute page title
     if (is_object($overlay)) {
         $title = Codes::beautify_title($overlay->get_text('title', $item));
     } else {
         $title = Codes::beautify_title($item['title']);
     }
     // headline link to section
     $headline_link = '<a href="' . $context['url_to_home'] . $context['url_to_root'] . $anchor->get_url() . '">' . $anchor->get_title() . '</a>';
     // headline template
     switch ($action) {
         case 'apply':
             $template = i18n::c('%s is requesting access to %s');
             $headline_link = '<a href="' . Articles::get_permalink($item) . '">' . $title . '</a>';
             break;
         case 'publish':
             $template = i18n::c('%s has posted a page in %s');
             break;
         case 'submit':
             $template = i18n::c('%s has submitted a page in %s');
             break;
         case 'update':
             $template = i18n::c('%s has updated a page in %s');
             break;
     }
     // headline
     $headline = sprintf($template, Surfer::get_link(), $headline_link);
     // panel content
     $content = '';
     // more insight on this page
     $prefix = $suffix = '';
     // signal articles to be published
     if (!isset($item['publish_date']) || $item['publish_date'] <= NULL_DATE || $item['publish_date'] > gmstrftime('%Y-%m-%d %H:%M:%S')) {
         $prefix .= DRAFT_FLAG;
     }
     // signal restricted and private articles
     if ($item['active'] == 'N') {
         $prefix .= PRIVATE_FLAG;
     } elseif ($item['active'] == 'R') {
         $prefix .= RESTRICTED_FLAG;
     }
     // flag expired articles
     if (isset($item['expiry_date']) && $item['expiry_date'] > NULL_DATE && $item['expiry_date'] <= $context['now']) {
         $prefix .= EXPIRED_FLAG . ' ';
     }
     // signal locked articles
     if (isset($item['locked']) && $item['locked'] == 'Y' && Articles::is_owned($item, $anchor)) {
         $suffix .= ' ' . LOCKED_FLAG;
     }
     // insert page title
     $content .= '<h3><span>' . $prefix . $title . $suffix . '</span></h3>';
     // insert anchor prefix
     if (is_object($anchor)) {
         $content .= $anchor->get_prefix();
     }
     // the introduction text, if any
     if (is_object($overlay)) {
         $content .= Skin::build_block($overlay->get_text('introduction', $item), 'introduction');
     } elseif (isset($item['introduction']) && trim($item['introduction'])) {
         $content .= Skin::build_block($item['introduction'], 'introduction');
     }
     // get text related to the overlay, if any
     if (is_object($overlay)) {
         $content .= $overlay->get_text('diff', $item);
     }
     // filter description, if necessary
     if (is_object($overlay)) {
         $description = $overlay->get_text('description', $item);
     } else {
         $description = $item['description'];
//.........这里部分代码省略.........
开发者ID:rair,项目名称:yacs,代码行数:101,代码来源:articles.php

示例8: elseif

                } elseif ($item['email'] && !Mailer::notify(Surfer::from(), $item['email'], $mail['subject'], $mail['message'], $mail['headers'])) {
                    Logger::error(sprintf(i18n::s('Impossible to send a message to %s.'), $item['email']));
                }
            }
        }
    }
    // follow-up commands
    if (!$render_overlaid) {
        $menu = array();
        if (isset($article['id'])) {
            $menu = array(Articles::get_permalink($article) => i18n::s('View the new thread'));
        }
        if (count($items) == 1 && ($item = $items[0]) && isset($item['id'])) {
            $menu = array_merge($menu, array(Users::get_permalink($item) => sprintf(i18n::s('Back to %s'), $item['nick_name'])));
        } elseif (Surfer::get_id()) {
            $menu = array_merge($menu, array(Surfer::get_permalink() => i18n::s('Back to my profile')));
        }
        if (count($menu)) {
            $context['text'] .= Skin::build_block(i18n::s('Where do you want to go now?') . Skin::build_list($menu, 'menu_bar'), 'bottom');
        }
    }
} elseif ($with_form) {
    // target user statut doen't allow MP, except from associates
    if (!Surfer::is_associate() && ($overlay->attributes['user_status'] == 'donotdisturb' || $overlay->attributes['user_status'] == 'anonymous' || $item['without_alerts'] == 'Y')) {
        $context['text'] .= '<p>' . sprintf(i18n::s('Sorry, "%s" wish not to receive private message'), $item['nick_name']) . '</p>' . "\n";
        render_skin();
        finalize_page(TRUE);
    }
    $context['text'] .= Users::get_thread_creation_form($item['id']);
    // layout the available contact options
} elseif ($threads = Sections::get('threads')) {
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:contact.php


注:本文中的Surfer::get_permalink方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。