/** * author display_name * */ function wpi_get_author_name($type = 'hcard') { global $authordata; $name = $display_name = apply_filters('the_author', $authordata->display_name); $name = $display_name = ent2ncr(htmlentities2($name)); $author_url = $authordata->user_url; $author_url = $author_url != 'http://' ? $author_url : WPI_URL; switch ($type) { case 'link': /** simple links * */ $attribs = array('href' => $author_url, 'class' => 'url fn dc-creator', 'rel' => 'colleague foaf.homepage foaf.maker', 'title' => 'Visit ' . $display_name . ''s Website', 'rev' => 'author:' . $authordata->user_nicename); $output = _t('a', $display_name, $attribs); break; case 'hcard': /** convert to microformats * address:a:span */ // split the name $name = explode('name', $name); if (is_array($name)) { if (Wpi::hasCount($name)) { if (isset($name[0])) { $output = _t('span', $name[0], array('class' => 'nickname')); } if (isset($name[1])) { $output = _t('span', $name[0], array('class' => 'given-name')) . ' '; $output .= _t('span', $name[1], array('class' => 'family-name')); } } } else { $output = _t('span', $author_name, array('class' => 'nickname')); } // author post url; $url = get_author_posts_url($authordata->ID, $authordata->user_nicename); $url = apply_filters(wpiFilter::FILTER_LINKS, $url); $attribs = array('href' => $url, 'class' => 'url fn dc-creator', 'rel' => 'colleague foaf.homepage foaf.maker', 'title' => 'Visit ' . $display_name . ''s Author page', 'rev' => 'author:' . $authordata->user_nicename); $output = _t('a', $output, $attribs); // microID sha-1 hash $hash = get_microid_hash($authordata->user_email, $author_url); // wrap hcard $output = _t('cite', $output, array('class' => 'vcard microid-' . $hash)); break; default: $output = $name; break; } return apply_filters(wpiFilter::FILTER_AUTHOR_NAME . $type, $output); }
function wpi_register_plugins() { $plugins = get_wpi_plugins(); if (is_array($plugins) && has_count($plugins)) { foreach ($plugins as $plugin) { if (Wpi::loadPlugin($plugin['name'])) { $callback = 'wpi_get_' . $plugin['id'] . '_pluginname'; if (wpi_is_user_func_exists($callback)) { $plugin_filename = (string) call_user_func($callback); if (wpi_is_plugin_active($plugin_filename)) { $init_callback = 'wpi_' . $plugin['id'] . '_init'; if (wpi_is_user_func_exists($init_callback)) { call_user_func($init_callback); } } } } } } else { return false; } }
/** * Single 'Articles view' */ public function getSingle() { global $wp_query; $wp_title = trim(wp_title('', false)); $title = string_len($wp_title, 90); $pathway = array(); // rss $pathway['first'] = array('Comments RSS', array('href' => get_post_comments_feed_link(), 'type' => 'application/rss+xml', 'title' => __($title . ' | Comments Feed', WPI_META), 'hreflang' => get_hreflang(), 'rel' => self::RSS_REL, 'class' => 'rtxt rss16', 'rev' => 'feed:rss2')); // home $pathway['home'] = $this->getFrontpage(); // category $cat = wpi_get_first_cat_obj(); if (is_object($cat)) { $pathway['archive'] = array(wp_specialchars($cat->name), array('href' => get_category_link($cat->term_id), 'title' => __('Topic | Archive for ' . $cat->name, WPI_META), 'rel' => 'tags dc-subject', 'class' => 'cat-link', 'rev' => 'archive:term')); } unset($cat); // articles $articles = array($title, array('href' => get_permalink() . '#iscontent', 'title' => __('Skip to content | ' . self::PSEP . ' ' . $wp_title . ' ', WPI_META), 'hreflang' => get_hreflang(), 'class' => self::DN_ARROW, 'rel' => 'robots-anchortext')); if (($page_no = wpi_get_post_current_paged()) != false) { $pathway['post'] = $articles; $pathway['post'][1]['href'] = str_rem('#content', $pathway['post'][1]['href']); $pathway['post'][1]['title'] = str_replace('Skip to content ', 'Back to ', $pathway['post'][1]['title']); $title = sprintf(__('Page %d', WPI_META), $page_no); $pathway['last'] = array($title, array('href' => Wpi::selfURL() . '#iscontent', 'title' => __('Skip to Content | ' . $title, WPI_META))); } else { $pathway['last'] = $articles; } return $pathway; }
function wpi_get_pathway() { if (!class_exists('wpiPathway')) { Wpi::getFile('pathway', wpiTheme::LIB_TYPE_CLASS); } $pt = new wpiPathway(); return $pt->build(); }
public function __construct() { global $wp_query; add_filter('query_vars', array($this, 'registerPublicVar')); $this->action('template_redirect', 'processVar'); $this->action('init', 'flushWPRewriteRules'); $this->action('generate_rewrite_rules', 'rewriteRules'); $this->action('init', 'registerWidgets'); if (wpi_option('text_dir') != 'ltr' && !is_admin()) { add_filter('language_attributes', array($this, 'textDirection')); } if (wpi_option('relative_links')) { add_filter('wpi_links_home', 'rel'); add_filter('wpi_links_single', 'rel'); add_filter(wpiFilter::FILTER_LINKS, 'rel'); } // http header $this->action('send_headers', 'httpHeader'); if (wpi_option('banner')) { $this->action(wpiFilter::ACTION_SECTION_PREFIX . 'pathway_after', 'banner'); $this->action(wpiFilter::ACTION_INTERNAL_CSS, 'bannerIntenalCSS'); } // dtd $this->action(wpiFilter::ACTION_DOCUMENT_DTD, 'dtd', 1); if (!wpi_option('meta_rsd')) { remove_filter('wp_head', 'rsd_link', 10, 1); } if (!wpi_option('meta_livewriter')) { remove_filter('wp_head', 'wlwmanifest_link', 10, 1); } if (!wpi_option('meta_wp_generator')) { remove_filter('wp_head', 'wp_generator', 10, 1); } // head $this->action(wpiFilter::ACTION_META_HTTP_EQUIV, 'metaHTTP'); $this->action(wpiFilter::ACTION_META, 'meta'); $this->action(wpiFilter::ACTION_META_LINK, 'metaLink'); $this->action('wp_head', 'registerMetaActionFilters', 2); if (wpi_option('meta_title')) { $this->action('wp_head', 'headTitle', 1); } // custom content $this->action('wp_head', 'headCustomContent', wpiTheme::LAST_PRIORITY); $this->action('wp_footer', 'footerCustomContent', wpiTheme::LAST_PRIORITY); /** * Content */ // header $this->action(wpiFilter::ACTION_TPL_HEADER, 'htmlBlogContentHeader'); // content if (wpi_option('relative_date')) { if (!wpi_user_func_exists('time_since')) { Wpi::getFile('timesince', wpiTheme::LIB_TYPE_IMPORT); } wpi_foreach_hook_filter(array(wpiFilter::FILTER_POST_DATE, wpiFilter::FILTER_COM_DATE), 'wpi_get_relative_date'); } add_action(wpiFilter::ACTION_SECTION_PREFIX . 'meta-title_content', 'wpi_content_meta_title_filter'); $this->action(wpiFilter::ACTION_SECTION_PREFIX . 'content-end_content', 'navLink'); if (!wpi_is_plugin_active('wp-pagenavi/wp-pagenavi.php')) { add_action(wpiFilter::ACTION_POST_PAGINATION, 'wpi_post_link'); } add_filter(wpiFilter::FILTER_COMMENTS_SELECTOR, 'wpi_post_author_selector_filter'); add_filter('get_comment_text', 'wpi_get_comment_text_filter'); // footer $this->action('wp_footer', 'footerCopyright', 1); $this->action(wpiFilter::ACTION_COPYRIGHT_STATEMENTS, 'validationServices'); add_action('wp_footer', 'wpi_register_widgets'); }