Advertisement
Guest User

Untitled

a guest
Apr 19th, 2013
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. define( 'SITEORIGIN_THEME_VERSION' , '2.2.2' );
  4. define( 'SITEORIGIN_THEME_ENDPOINT' , 'http://siteorigin.com' );
  5.  
  6. include get_template_directory().'/functions/settings.php';
  7. include get_template_directory().'/functions/admin.php';
  8. include get_template_directory().'/functions/gallery.php';
  9. include get_template_directory().'/functions/panels.php';
  10.  
  11. if(file_exists(get_template_directory().'/premium/functions.php')){
  12.     include get_template_directory().'/premium/functions.php';
  13. }
  14.  
  15. if(!defined('SITEORIGIN_IS_PREMIUM')) {
  16.     include get_template_directory().'/upgrade/upgrade.php';
  17. }
  18.  
  19. include get_template_directory().'/extras/settings/settings.php';
  20. include get_template_directory().'/extras/premium/premium.php';
  21. include get_template_directory().'/extras/update/update.php';
  22. include get_template_directory().'/extras/adminbar/adminbar.php';
  23. include get_template_directory().'/extras/widgets/widgets.php';
  24.  
  25. if(!function_exists('snapshot_setup_theme')) :
  26. /**
  27.  * General theme setup
  28.  *
  29.  * @action after_setup_theme
  30.  */
  31. function snapshot_setup_theme(){
  32.     // Enable translation
  33.     load_theme_textdomain( 'snapshot', get_template_directory() . '/languages' );
  34.    
  35.     // We're using SiteOrigin theme settings
  36.     siteorigin_settings_init();
  37.  
  38.     global $content_width;
  39.     if ( ! isset( $content_width ) ) $content_width = siteorigin_setting('posts_sidebar_images') ? 440 : 775;
  40.    
  41.     // The custom header is used for the logo
  42.     add_theme_support('custom-header', array(  
  43.         'flex-width' => true,
  44.         'flex-height' => true,
  45.         'header-text' => false,
  46.     ));
  47.    
  48.     // Custom background images are nice
  49.     $background = array();
  50.     switch(siteorigin_setting('appearance_style')){
  51.         case 'light' :
  52.             $background['default-color'] = 'FEFEFE';
  53.             break;
  54.         case 'dark' :
  55.             $background['default-color'] = '333';
  56.             $background['default-image'] = get_template_directory_uri().'/images/dark/bg.png';
  57.             break;
  58.     }
  59.     add_theme_support('custom-background', $background);
  60.    
  61.     add_theme_support('post-thumbnails');
  62.    
  63.     add_theme_support( 'automatic-feed-links' );
  64.  
  65.     /**
  66.      * Support panels
  67.      */
  68.     add_theme_support( 'siteorigin-panels', array(
  69.         'margin-bottom' => 30,
  70.         'responsive' => false,
  71.         'home-page' => true,
  72.         'home-page-default' => false,
  73.     ) );
  74.    
  75.     set_post_thumbnail_size(310, 420, true);
  76.     add_image_size('single-large', 960, 960, false);
  77.     add_image_size('single-large-landscape', 960, 540, true);
  78.    
  79.     add_image_size('slider-large', 1600, 1600, false);
  80.    
  81.     // The navigation menus
  82.     register_nav_menu('main-menu', __('Main Menu', 'snapshot'));
  83.  
  84.     add_editor_style();
  85.  
  86.     // Only include the bundled version of panels if the plugin does not exist
  87.     if(!defined('SITEORIGIN_PANELS_VERSION')) include get_template_directory().'/extras/panels/panels.php';
  88. }
  89. endif;
  90. add_action('after_setup_theme', 'snapshot_setup_theme');
  91.  
  92.  
  93. if(!function_exists('snapshot_print_scripts')) :
  94. /**
  95.  * Add the custom style CSS
  96.  * @return mixed
  97.  *
  98.  * @action wp_print_styles
  99.  */
  100. function snapshot_print_scripts(){
  101.     if(is_admin()) return;
  102.  
  103.     $header = get_custom_header()
  104.     ?>
  105.     <style type="text/css" media="all">
  106.         a{ color: <?php echo esc_attr(siteorigin_setting('appearance_link')) ?>; }
  107.         <?php if($header->url) : ?>
  108.             #menu-main-menu,
  109.             #top-area .menu > ul{
  110.                 width: <?php echo max(200, 960-$header->width - 20) ?>px;
  111.             }
  112.         <?php endif; ?>
  113.     </style>
  114.     <?php
  115. }
  116. endif;
  117. add_action('wp_print_styles', 'snapshot_print_scripts');
  118.  
  119.  
  120. if(!function_exists('snapshot_print_html_shiv')) :
  121. /**
  122.  * Display the HTML 5 shiv conditional
  123.  */
  124. function snapshot_print_html_shiv(){
  125.     ?>
  126.     <!--[if lt IE 9]>
  127.     <script src="<?php echo get_template_directory_uri(); ?>/js/html5shiv.js" type="text/javascript"></script>
  128.     <![endif]-->
  129.     <!--[if (gte IE 6)&(lte IE 8)]>
  130.     <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/selectivizr.js"></script>
  131.     <![endif]-->
  132.     <?php
  133. }
  134. endif;
  135. add_action('wp_print_scripts', 'snapshot_print_html_shiv');
  136.  
  137.  
  138. if(!function_exists('snapshot_setup_widgets')) :
  139. /**
  140.  * Setup the widgets
  141.  *
  142.  * @action widgets_init
  143.  */
  144. function snapshot_setup_widgets(){
  145.     register_sidebar(array(
  146.         'name' => __('Site Footer', 'snapshot'),
  147.         'id' => 'site-footer',
  148.     ));
  149.    
  150.     // Register all the SiteOrigin widgets we'll be using.
  151.     register_widget( 'SiteOrigin_Widgets_CTA' );
  152.     register_widget( 'SiteOrigin_Widgets_Button' );
  153.     register_widget( 'SiteOrigin_Widgets_IconText' );
  154.     register_widget( 'SiteOrigin_Widgets_Headline' );
  155.     register_widget( 'SiteOrigin_Widgets_Gallery' );
  156.     register_widget( 'SiteOrigin_Widgets_PostContent' );
  157.     register_widget( 'SiteOrigin_Widgets_Image' );
  158.     register_widget( 'SiteOrigin_Widgets_PostLoop' );
  159. }
  160. endif;
  161. add_action('widgets_init', 'snapshot_setup_widgets');
  162.  
  163.  
  164. if(!function_exists('snapshot_enqueue_scripts')) :
  165. /**
  166.  * Enqueue Snapshot's Scripts.
  167.  *
  168.  * @action wp_enqueue_scripts
  169.  */
  170. function snapshot_enqueue_scripts(){
  171.     wp_enqueue_style('snapshot', get_stylesheet_uri(), array(), SITEORIGIN_THEME_VERSION);
  172.    
  173.     if(siteorigin_setting('appearance_style') != 'light'){
  174.         wp_enqueue_style('snapshot-style', get_template_directory_uri().'/premium/style-'.siteorigin_setting('appearance_style').'.css', array(), SITEORIGIN_THEME_VERSION);
  175.     }
  176.  
  177.     wp_enqueue_script('imgpreload', get_template_directory_uri() . '/js/jquery.imgpreload.min.js', array('jquery'), '1.4');
  178.     wp_enqueue_script('fitvids', get_template_directory_uri() . '/js/jquery.fitvids.min.js', array('jquery'), '1.0');
  179.    
  180.     wp_enqueue_script('snapshot', get_template_directory_uri() . '/js/snapshot.min.js', array('jquery', 'imgpreload'), SITEORIGIN_THEME_VERSION);
  181.  
  182.     wp_localize_script('snapshot', 'snapshot', array(
  183.         'sliderLoaderUrl' => get_template_directory_uri().'/images/slider-loader.gif',
  184.         'imageLoaderUrl' => get_template_directory_uri().'/images/photo-loader.gif',
  185.     ));
  186.    
  187.     // Enqueue all the slider stuff
  188.     wp_enqueue_script('imgpreload', get_template_directory_uri() . '/js/jquery.imgpreload.min.js', array('jquery'));
  189.     wp_enqueue_script('snapshot-home', get_template_directory_uri() . '/js/snapshot-home.min.js', array('jquery'), SITEORIGIN_THEME_VERSION);
  190.     wp_localize_script('snapshot-home', 'snapshotHome', array(
  191.         'sliderSpeed' => siteorigin_setting('slider_speed'),
  192.         'transitionSpeed' => siteorigin_setting('slider_transition'),
  193.         'loaderUrl' => get_template_directory_uri().'/images/slider-loader.gif'
  194.     ));
  195.    
  196.     if ( is_singular() && get_option( 'thread_comments' ) )
  197.         wp_enqueue_script( 'comment-reply' );
  198.    
  199.     if(is_singular() && siteorigin_setting('social_display_share'))
  200.         wp_enqueue_script('snapshot-google-plusone', get_template_directory_uri() . '/js/plusone.min.js', array(), SITEORIGIN_THEME_VERSION);
  201.        
  202. }
  203. endif;
  204. add_action('wp_enqueue_scripts', 'snapshot_enqueue_scripts');
  205.  
  206. if(!function_exists('snapshot_wp_title')) :
  207. /**
  208.  * Filter the title
  209.  * @param $title
  210.  * @param $sep
  211.  * @param $seplocation
  212.  * @return string
  213.  *
  214.  * @filter wp_title
  215.  */
  216. function snapshot_wp_title($title, $sep, $seplocation){
  217.     if(trim($sep) != ''){
  218.         if(!empty($title)) {
  219.             $title_array = explode($sep, $title);
  220.         }
  221.         else $title_array = array();
  222.        
  223.         $title_array[] = get_bloginfo('title');
  224.         if(is_home()) $title_array[] = get_bloginfo('description');
  225.  
  226.         $title_array = array_map('trim', $title_array);
  227.         $title_array = array_filter($title_array);
  228.        
  229.         if($seplocation == 'left') $title_array = array_reverse($title_array);
  230.        
  231.         $title = implode( " $sep ", $title_array );
  232.     }
  233.    
  234.     return $title;
  235. }
  236. endif;
  237. add_filter('wp_title', 'snapshot_wp_title', 10, 3);
  238.  
  239.  
  240. if(!function_exists('snapshot_single_comment')) :
  241. /**
  242.  * Display a single comment.
  243.  *
  244.  * @param $comment
  245.  * @param $depth
  246.  * @param $args
  247.  */
  248. function snapshot_single_comment($comment, $args, $depth){
  249.     $GLOBALS['comment'] = $comment;
  250.     ?>
  251.     <li id="comment-<?php echo get_comment_ID() ?>" <?php comment_class() ?>>
  252.         <?php if(empty($comment->comment_type) || $comment->comment_type == 'comment') : ?>
  253.             <div class="comment-avatar">
  254.                 <?php echo get_avatar(get_comment_author_email(), 60) ?>
  255.             </div>
  256.         <?php elseif($comment->comment_type == 'trackback' || $comment->comment_type == 'pingback') : ?>
  257.             <div class="pingback-icon"></div>
  258.         <?php endif; ?>
  259.        
  260.         <div class="comment-main">
  261.             <div class="comment-info">
  262.                 <span class="author"><?php echo get_comment_author_link() ?></span>
  263.                 <span class="date"><?php comment_date() ?></span>
  264.        
  265.                 <?php comment_reply_link(array('depth' => $depth, 'max_depth' => $args['max_depth'])) ?>
  266.             </div>
  267.             <div class="comment-content entry-content">
  268.                 <?php comment_text() ?>
  269.             </div>
  270.         </div>
  271.     <?php
  272. }
  273. endif;
  274.  
  275.  
  276. if(!function_exists('snapshot_previous_posts_link_attributes')):
  277. /**
  278.  * Add the proper class to the posts nav link
  279.  * @param $attr
  280.  * @return string
  281.  *
  282.  * @filter previous_posts_link_attributes
  283.  */
  284. function snapshot_previous_posts_link_attributes($attr){
  285.     $attr = 'class="next"';
  286.     return $attr;
  287. }
  288. endif;
  289. add_filter('previous_posts_link_attributes', 'snapshot_previous_posts_link_attributes');
  290.  
  291.  
  292. if(!function_exists('snapshot_next_posts_link_attributes')):
  293. /**
  294.  * Add the proper class to the posts nav link
  295.  * @param $attr
  296.  * @return string
  297.  *
  298.  * @filter next_posts_link_attributes
  299.  */
  300. function snapshot_next_posts_link_attributes($attr){
  301.     $attr = 'class="prev"';
  302.     return $attr;
  303. }
  304. endif;
  305. add_filter('next_posts_link_attributes', 'snapshot_next_posts_link_attributes');
  306.  
  307.  
  308. if(!function_exists('snapshot_footer_widget_params')):
  309. /**
  310.  * Set the widths of the footer widgets
  311.  *
  312.  * @param $params
  313.  * @return mixed
  314.  *
  315.  * @filter dynamic_sidebar_params
  316.  */
  317. function snapshot_footer_widget_params($params){
  318.     // Check that this is the footer
  319.     if($params[0]['id'] != 'site-footer') return $params;
  320.  
  321.     $sidebars_widgets = wp_get_sidebars_widgets();
  322.     $count = count($sidebars_widgets[$params[0]['id']]);
  323.     $params[0]['before_widget'] = preg_replace('/\>$/', ' style="width:'.round(100/$count,4).'%" >', $params[0]['before_widget']);
  324.  
  325.     return $params;
  326. }
  327. endif;
  328. add_filter('dynamic_sidebar_params', 'snapshot_footer_widget_params');
  329.  
  330. function snapshot_wp_page_menu($args){
  331.     ?><div id="menu-main-menu-container"><?php
  332.     $args['walker'] = new Snapshot_Walker_Page;
  333.     wp_page_menu($args);
  334.     ?></div><?php
  335. }
  336.  
  337. if(!class_exists('Snapshot_Walker_Page')) :
  338. class Snapshot_Walker_Page extends Walker_Page{
  339.     function start_lvl( &$output, $depth = 0, $args = array() ) {
  340.         $indent = str_repeat("\t", $depth);
  341.         $output .= "\n$indent<ul class='sub-menu'><div class='sub-wrapper'><div class='pointer'></div>\n";
  342.     }
  343.  
  344.     function end_lvl( &$output, $depth = 0, $args = array() ) {
  345.         $indent = str_repeat("\t", $depth);
  346.         $output .= "$indent</div></ul>\n";
  347.     }
  348.  
  349.     function start_el( &$output, $page, $depth, $args, $current_page = 0 ) {
  350.         if ( $depth ) $indent = str_repeat("\t", $depth);
  351.         else $indent = '';
  352.  
  353.         $output .= $indent . '<li class="menu-item"><a href="' . get_permalink($page->ID) . '">' . apply_filters( 'the_title', $page->post_title, $page->ID ) . '</a>';
  354.     }
  355. }
  356. endif;
  357.  
  358. if(!class_exists('Snapshot_Walker_Nav_Menu')) :
  359. class Snapshot_Walker_Nav_Menu extends Walker_Nav_Menu {
  360.     function start_lvl( &$output, $depth = 0, $args = array() ) {
  361.         $indent = str_repeat("\t", $depth);
  362.         $output .= "\n$indent<ul class='sub-menu'><div class='sub-wrapper'><div class='pointer'></div>\n";
  363.     }
  364.  
  365.     function end_lvl( &$output, $depth = 0, $args = array() ) {
  366.         $indent = str_repeat("\t", $depth);
  367.         $output .= "$indent</div></ul>\n";
  368.     }
  369. }
  370. endif;
  371.  
  372.  
  373. if(!function_exists('snapshot_get_slider_query')) :
  374. /**
  375.  * Get the method for the slider query
  376.  */
  377. function snapshot_get_slider_query(){
  378.     $query_args = apply_filters('snapshot_slider_query_args', array(
  379.         'post_type' => 'post',
  380.         'posts_per_page' => siteorigin_setting('slider_post_count'),
  381.     ));
  382.     return new WP_Query($query_args);
  383. }
  384. endif;
  385.  
  386. function snapshot_premium_before_post_summary(){
  387.     if(! siteorigin_setting('posts_clickable_thumbnails')) return;
  388.     ?><a href="<?php the_permalink() ?>" class="post-content-link"><?php
  389. }
  390. add_action('before_post_summary', 'snapshot_premium_before_post_summary');
  391.  
  392. function snapshot_premium_after_post_summary(){
  393.     if(! siteorigin_setting('posts_clickable_thumbnails')) return;
  394.     ?></a><?php
  395. }
  396. add_action('after_post_summary', 'snapshot_premium_after_post_summary');
  397.  
  398.  
  399. if(!function_exists('so_setting')) :
  400. /**
  401.  * This is a wrapper for siteorigin_setting to support legacy child themes.
  402.  *
  403.  * @param $name
  404.  * @param null $default
  405.  * @return mixed
  406.  */
  407. function so_setting($name, $default = null){
  408.     return siteorigin_setting($name, $default);
  409. }
  410. endif;
  411.  
  412. function wpufe_check_multisite_user( $permission ) {
  413.  
  414.     // if its multisite and the user belongs to this blog
  415.     if ( is_multisite() ) {
  416.         global $blog_id;
  417.  
  418.         if ( is_blog_user( $blog_id ) ) {
  419.             return 'yes';
  420.         } else {
  421.             return 'no';
  422.         }
  423.     }
  424.      
  425.     return $permission;
  426. }
  427.  
  428. add_filter( 'wpuf_can_post', 'wpufe_check_multisite_user' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement