Guest User

functions

a guest
Jan 29th, 2014
73
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. if ( ( $pagenow == "themes.php" ) && current_user_can('administrator') && isset( $_GET['activated'] ) && ( $_GET['activated']=='true' ) ) {
  4.     if (!include_once( get_template_directory() . '/inc/activation.php' )) {
  5.         $stylesheet = get_option( 'theme_switched' );
  6.         switch_theme( $stylesheet, $stylesheet );
  7.         if ( file_exists( get_template_directory() . '/inc/activation.php' ) ) {
  8.             $error_message[]="PHP hasn't access to file /inc/activation.php. Check the file permissions and try again please.";
  9.         } else {
  10.             $error_message[]="File /inc/activation.php doesn't exists. Try to upload the theme again.";
  11.         }
  12.         $message="<h2>The theme wasn't activated by following reasons:</h2><ul><li>".implode("</li><li>",$error_message)."</li></ul>"."Your theme was switched back to ".$stylesheet.".";
  13.         wp_die($message,'',array('back_link'=>"/wp-admin/themes.php"));
  14.     }
  15. }
  16.  
  17.  
  18.  
  19. if (!session_id()) { session_start(); }
  20.  
  21. if (!include_once (get_template_directory()."/inc/library.php") )wp_die("Cannot include file /inc/library.php.");
  22. $settingsfile='settings';
  23. $defparamsfile="defaults";
  24. $default='global|slider|layout|seo|translations';
  25.  
  26.  
  27.  
  28. if ( function_exists('register_sidebar') ) {
  29.     $sidebar='default';
  30.     register_sidebar(array(
  31.         'name' => 'Right Sidebar',
  32.         'id' => 'right_sidebar',
  33.         'description' =>'The right sidebar widget area',
  34.         'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
  35.         'after_widget' => '</div></div>',
  36.         'before_title' => '<div class="caption"><h3>',
  37.         'after_title' => '</h3></div>'
  38.     ));
  39.     register_sidebar(array(
  40.         'name' => 'Left Sidebar',
  41.         'id' => 'left_sidebar',
  42.         'description' =>'The left sidebar widget area',
  43.         'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
  44.         'after_widget' => '</div></div>',
  45.         'before_title' => '<div class="caption"><h3>',
  46.         'after_title' => '</h3></div>'
  47.     ));
  48.    
  49.     $$sidebar='bottom';
  50.     register_sidebar(array(
  51.         'name' => 'Footer 1',
  52.         'id' => 'footer_1',
  53.         'description' => 'The primary sidebar widget area',
  54.         'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
  55.         'after_widget' => '</div></div>',
  56.         'before_title' => '<div class="caption"><h3>',
  57.         'after_title' => '</h3></div>'
  58.     ));
  59.     register_sidebar(array(
  60.         'name' => 'Footer 2',
  61.         'id' => 'footer_2',
  62.         'description' => 'The primary sidebar widget area',
  63.         'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
  64.         'after_widget' => '</div></div>',
  65.         'before_title' => '<div class="caption"><h3>',
  66.         'after_title' => '</h3></div>'
  67.     ));
  68.     register_sidebar(array(
  69.         'name' => 'Footer 3',
  70.         'id' => 'footer_3',
  71.         'description' => 'The primary sidebar widget area',
  72.         'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
  73.         'after_widget' => '</div></div>',
  74.         'before_title' => '<div class="caption"><h3>',
  75.         'after_title' => '</h3></div>'
  76.     ));
  77. register_sidebar( array(
  78.         'name' => 'drugi',
  79.         'id' => 'drugi',
  80.         'description' => __( 'Drop here some widgets...' ,  '' ),
  81.         'before_widget' => '<div id="%1$s" class="tab_widget %2$s"><div class="inner">',
  82.         'after_widget' => '</div></div>',
  83.         'before_title' => '<span class="scaption">',
  84.         'after_title' => '</span>'
  85.     ) );
  86.     register_sidebar(array(
  87.         'name' => 'Tabs',
  88.         'id' => 'tabs_sidebar',
  89.         'description' => 'The primary sidebar widget area',
  90.         'before_widget' => '<div id="%1$s" class="tab_widget %2$s"><div class="inner">',
  91.         'after_widget' => '</div></div>',
  92.         'before_title' => '<span class="scaption">',
  93.         'after_title' => '</span>'
  94.     ));
  95. }
  96. $settings=$default;
  97. $SMTheme=new SMTheme;
  98. include_once get_template_directory()."/inc/widgets/facebook.php";
  99. include_once get_template_directory()."/inc/widgets/banners.php";
  100. include_once get_template_directory()."/inc/widgets/comments.php";
  101. include_once get_template_directory()."/inc/widgets/posts.php";
  102. include_once get_template_directory()."/inc/widgets/social-profiles.php";
  103. include_once get_template_directory()."/inc/widgets/video.php";
  104. include_once get_template_directory()."/inc/widgets/flickr.php";
  105. include_once get_template_directory()."/inc/widgets/tabs.php";
  106.  
  107.  
  108. if ($_SESSION['commentinput']=='') {
  109.     $_SESSION['commentinput']=substr(md5(rand(1,234234)),0,5);
  110. }
  111. if (isset($_POST[$_SESSION['commentinput']])) {
  112.     $_POST['comment']=$_POST[$_SESSION['commentinput']];
  113. }
  114. if (function_exists('add_theme_support')) {
  115.     add_theme_support('automatic-feed-links');
  116.     add_theme_support('menus');
  117.     add_theme_support( 'post-thumbnails' );
  118.     set_post_thumbnail_size( $SMTheme->get( 'layout', 'imgwidth' ), $SMTheme->get( 'layout', 'imgheight' ) , true );
  119. }
  120.  
  121. if ( function_exists( 'register_nav_menu' ) ) {
  122.     register_nav_menu( 'sec-menu', 'Top Menu' );
  123.     register_nav_menu( 'main-menu', 'Main Menu' );
  124. }
  125. if ( current_user_can('administrator') ) {
  126.     include_once (get_template_directory()."/inc/administrator.php");
  127.     $APage = new AdminPage();
  128. }
  129.  
  130.  
  131.    
  132.  
  133.    
  134.    
  135.     function smtheme_excerpt($args='', $postid=''){
  136.         global $post, $SMTheme;
  137.             if ((int)$postid==0)$p=$post;
  138.             else $p=get_post($postid);
  139.             parse_str($args, $i);
  140.             $echo = isset($i['echo'])?true:false;
  141.             if ( isset($i['maxchar']) ) {
  142.                 $maxchar=(int)trim($i['maxchar']);
  143.                 $content = $p->post_content;
  144.                 $content = apply_filters('the_content', $content);
  145.             } else {
  146.                 if ( $p->post_excerpt ) {
  147.                     $content = $p->post_excerpt;
  148.                 } else {
  149.                     $content = $p->post_content;
  150.                     $content = apply_filters('the_content', $content);
  151.                     $maxchar=($SMTheme->get( 'layout','cuttxton' ))?$SMTheme->get( 'layout','cuttxt' ):0;
  152.                     $maxchar=(strpos($content, '<!--more-->'))?strpos(preg_replace('/<.*?>/', '', preg_replace('/<!--more-->/','@smt_readmore_tag',$content)), '@smt_readmore_tag'):$maxchar;
  153.                 }
  154.             }
  155.             if (!$maxchar||strlen(preg_replace('/<.*?>/', '', $content)) <= $maxchar) {
  156.                 if ($echo) print $content;
  157.                 else return $content;
  158.             } else {
  159.                 preg_match_all('/(<.+?>)?([^<>]*)/s', $content, $lines, PREG_SET_ORDER);
  160.                 $total_length=0;
  161.                 $open_tags = array();
  162.                 $truncate = '';
  163.                 foreach ($lines as $line_matchings) {
  164.                     if (!empty($line_matchings[1])) {
  165.                         if (preg_match('/^<(\s*.+?\/\s*|\s*(img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param)(\s.+?)?)>$/is', $line_matchings[1])) {
  166.                         } else if (preg_match('/^<\s*\/([^\s]+?)\s*>$/s', $line_matchings[1], $tag_matchings)) {
  167.                             $pos = array_search($tag_matchings[1], $open_tags);
  168.                             if ($pos !== false) {
  169.                                 unset($open_tags[$pos]);
  170.                             }
  171.                         } else if (preg_match('/^<\s*([^\s>!]+).*?>$/s', $line_matchings[1], $tag_matchings)) {
  172.                             array_unshift($open_tags, strtolower($tag_matchings[1]));
  173.                         }
  174.                         $truncate .= $line_matchings[1];
  175.                     }
  176.                     $content_length = strlen(preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i', ' ', $line_matchings[2]));
  177.                    
  178.                     if ($total_length+$content_length > $maxchar) {
  179.                        
  180.                         $left = $maxchar - $total_length;
  181.                         $entities_length = 0;
  182.                         if (preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i', $line_matchings[2], $entities, PREG_OFFSET_CAPTURE)) {
  183.                             foreach ($entities[0] as $entity) {
  184.                                 if ($entity[1]+1-$entities_length <= $left) {
  185.                                     $left--;
  186.                                     $entities_length += strlen($entity[0]);
  187.                                 } else {
  188.                                     break;
  189.                                 }
  190.                             }
  191.                         }
  192.                         $truncate .= preg_replace('/(.*)\.[^\.]*$/s', "$1",mb_substr($line_matchings[2], 0, $left+$entities_length, 'utf-8'))."...";
  193.                         break;
  194.                     } else {
  195.                         $truncate .= $line_matchings[2];
  196.                         $total_length += $content_length;
  197.                     }
  198.                     if($total_length>= $maxchar) {
  199.                         break;
  200.                     }
  201.                 }
  202.                
  203.                 foreach ($open_tags as $tag) {
  204.                     $truncate .= '</' . $tag . '>';
  205.                 }
  206.                 $truncate=preg_replace('/<p([^>])*>(&nbsp;)?<\/p>/', '', $truncate);
  207.                 if ($echo) return print $truncate;
  208.                 else return $truncate;
  209.             }
  210.         return;
  211.     }  
  212.     function smt_menu($a) {
  213.         $a=preg_replace("/<ul\sclass='children'>/", "<ul class='children'$2><div class='transparent'></div><div class='inner'>", $a);
  214.         $a=preg_replace('/<ul\sclass="sub-menu">/', "<ul class='sub-menu'><div class='transparent'></div><div class='inner'>", $a);
  215.         $a=preg_replace("/<\/ul>/", "</div></ul>", $a);
  216.         return $a;
  217.     }
  218.     add_filter('wp_list_categories', 'smt_menu');
  219.     add_filter('wp_list_pages', 'smt_menu');
  220.     add_filter('wp_nav_menu_items', 'smt_menu');
  221.     function block_main_menu() {
  222.     global $SMTheme;
  223.         ?>
  224.          <div class="menu-primary-container">
  225.             <ul class="menus menu-primary">
  226.                 <li <?php if(is_home() || is_front_page()) { ?>class="current_page_item"<?php } ?>><a href="<?php echo home_url(); ?>/"><?php echo $SMTheme->_(  'homelink' );?></a></li>
  227.                 <?php wp_list_categories('title_li=&'); ?>
  228.             </ul>
  229.         </div>
  230.         <?php
  231.     }
  232.    
  233.     function block_sec_menu() {
  234.         ?><div class='menu-topmenu-container'><ul class="menus">
  235.                 <?php wp_list_pages('title_li=&'); ?>
  236.             </ul></div>
  237.         <?php
  238.     }
  239.    
  240.     function block_sec_menu_mobile() {
  241.         ?>
  242.         <script>
  243.             jQuery(document).ready(function(){
  244.                 jQuery('.menu-topmenu-container li').each(function() {
  245.                     jQuery('<option />', {
  246.                     'value':jQuery(this).find('a').attr('href'),
  247.                     'text':jQuery(this).find('a').html()
  248.                     }).appendTo(jQuery('#mobile-sec-menu'));
  249.                 });
  250.             });
  251.         </script>
  252.         <?php
  253.     }
  254.     function block_main_menu_mobile() {
  255.         ?>
  256.         <script>
  257.             jQuery(document).ready(function(){
  258.                 jQuery('.menu-primary li').each(function() {
  259.                     jQuery('<option />', {
  260.                     'value':jQuery(this).find('a').attr('href'),
  261.                     'text':jQuery(this).find('a').html()
  262.                     }).appendTo(jQuery('#mobile-main-menu'));
  263.                 });
  264.             });
  265.         </script>
  266.         <?php
  267.     }
  268.    
  269.     function smt_mobile_menu($menu_name) {
  270.         echo '<select class=\'mobile-menu\' id=\'mobile-'.$menu_name.'\'>';
  271.         echo '<option value=\'#\'>Go to ...</option>';
  272.          if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {
  273.             $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
  274.             if ($menu_items = wp_get_nav_menu_items($menu->term_id)) {
  275.                 $sub=array();
  276.                 foreach ($menu_items as $key => $menu_item ) {
  277.                     if ($menu_item->menu_item_parent==0) $sub[$menu_item->ID]=''; else $sub[$menu_item->ID]=$sub[$menu_item->menu_item_parent].'- ';
  278.                     echo '<option value=\''.$menu_item->url . '\'>' .$sub[$menu_item->ID]. $menu_item->title . '</option>';
  279.                 }
  280.             } else {
  281.                 $func='block_'.preg_replace('/-/', '_', $menu_name).'_mobile';
  282.                 if (is_callable($func)) {
  283.                     $func();
  284.                 }
  285.             }
  286.         } else {
  287.             $func='block_'.preg_replace('/-/', '_', $menu_name).'_mobile';
  288.             if (is_callable($func)) {
  289.                 $func();
  290.             }
  291.         }
  292.         echo '</select>';
  293.     }
  294.    
  295.    
  296.    
  297.    
  298.    
  299. function addGMap($atts, $content = null) {
  300.  
  301.         extract(shortcode_atts(array( "addr" => '', "mzoom" => '16' ), $atts));
  302.         $id='map_canvas'.mktime().rand(0,1000);
  303.         return "
  304.         <div class='googlemap'><div id='".$id."' style='width: 100%; height: 300px;'></div></div>
  305.         <script>jQuery(function(){loadGMap('".$addr."', '".$id."', ".$mzoom.", '".$content."')});</script>
  306.         ";
  307.  
  308. }
  309. add_shortcode('gmap', 'addGMap');
  310.  
  311.    
  312. function addYouTube($atts, $content = null) {
  313.         extract(shortcode_atts(array( "id" => '' ), $atts));
  314.         return '<p style="text-align:center;display:block;overflow:hidden;clear:left">
  315.        <a href="http://www.youtube.com/watch?v='.$id.'" target="_blank" alt="'.$id.'" class="youtube">
  316.        <img src="http://img.youtube.com/vi/'.$id.'/0.jpg" width="90%" height="" />
  317.        </a></p><script>loadYouTube();</script>';
  318. }
  319. add_shortcode('youtube', 'addYouTube');
  320.  
  321. function addVimeo($atts, $content = null) {
  322.         extract(shortcode_atts(array( "id" => '' ), $atts));
  323.         $videoinf = unserialize(file_get_contents("http://vimeo.com/api/v2/video/".$id.".php"));
  324.         return '<p style="text-align:center;display:block;overflow:hidden;">
  325.        <a href="http://vimeo.com/'.$id.'" target="_blank" alt="'.$id.'" class="vimeo">
  326.        <img alt="" src="'.$videoinf[0]['thumbnail_large'].'" width="90%">
  327.        </a></p><script>loadVimeo();</script>';
  328. }
  329. add_shortcode('vimeo', 'addVimeo');
  330.  
  331. function addTooltips($atts, $content = "") {
  332.         extract(shortcode_atts(array( "tiptext" => '' ), $atts));
  333.         return '<span class="tooltip" title="'.$tiptext.'">'.$content.'<span>'.$tiptext.'</span></span>';
  334. }
  335. add_shortcode('tooltip', 'addTooltips');
  336.  
  337. function add_smpanel() {
  338.    if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') )
  339.      return;
  340.    if ( get_user_option('rich_editing') == 'true') {
  341.      add_filter('mce_external_plugins', 'add_smpanel_tinymce_plugin');
  342.      add_filter('mce_buttons_3', 'register_smpanel');
  343.    }
  344. }
  345.  
  346. add_action('init', 'add_smpanel');
  347. function register_smpanel($buttons) {
  348.    array_push($buttons, "youtube","vimeo","|","btns","cols","tooltips","highlights", "gmap");
  349.    return $buttons;
  350. }
  351.  
  352. function add_smpanel_tinymce_plugin($plugin_array) {
  353.    $plugin_array['smpanel'] = get_template_directory_uri() .'/js/editor_plugin.js';
  354.    return $plugin_array;
  355. }
  356.  
  357. function my_refresh_mce($ver) {
  358.   $ver += 3;
  359.   return $ver;
  360. }
  361. add_editor_style( 'css/editor.css' );
  362. add_filter( 'tiny_mce_version', 'my_refresh_mce');
  363.  
  364.  
  365.  
  366.  
  367. if ( ! function_exists('tdav_css') ) {
  368.     function tdav_css($wp) {
  369.         $wp .= ','.get_template_directory_uri().'/css/shortcode.css ';
  370.     return $wp;
  371.     }
  372. }
  373. add_filter( 'mce_css', 'tdav_css' );
  374. function smtheme_topic_count_text($count) {
  375.     global $SMTheme;
  376.     return sprintf( _n($SMTheme->_( 'altposts' ), $SMTheme->_( 'altpostss' ), $count), number_format_i18n( $count ) );
  377. }
  378. function smtheme_tag_cloud() {
  379.     $args['topic_count_text_callback']='smtheme_topic_count_text';
  380.     return $args;
  381. }
  382. add_filter('widget_tag_cloud_args', 'smtheme_tag_cloud');
  383.  
  384. add_filter( 'gettext', 'theme_change_comment_field_names', 20, 3 );
  385. /**
  386.  * Change comment form default field names.
  387.  *
  388.  * @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
  389.  */
  390. function theme_change_comment_field_names( $translated_text, $text, $domain ) {
  391. global $SMTheme;
  392.         switch ( $translated_text ) {
  393.  
  394.             case 'View all posts filed under %s' :
  395.  
  396.                 $translated_text = $SMTheme->_( 'altcats' );
  397.                 break;
  398.  
  399.         }
  400.     return $translated_text;
  401. }
  402.  
  403.  
  404.  
  405. add_action('admin_init', 'single_content_layout', 1);
  406.  
  407. function single_content_layout() {  
  408.     add_meta_box( 'single_content_layout', 'Content layout', 'single_content_layout_func', 'post', 'side', 'high'  );  
  409.     add_meta_box( 'single_content_layout', 'Content layout', 'single_content_layout_func', 'page', 'side', 'high'  );  
  410. }
  411.  
  412. function single_content_layout_func($post) {
  413.     global $APage;
  414.        
  415.         $layouts=$APage->PageOptions['layout']['content']['pagelayout']['params'];
  416.         $selected = get_post_meta($post->ID, 'single_layout', 1);
  417.     ?>
  418.         <select name='single_layout' style='width:100%'>
  419.             <option value='0'>Default</option>
  420.             <?php
  421.            
  422.             foreach ( $layouts as $key=>$value ) {
  423.                 echo "<option value='".$key."' ".selected( $selected, $key ).">".$value."</option>";
  424.             }
  425.             ?>
  426.         </select>
  427.     <?php
  428. }
  429.  
  430. add_action('save_post', 'single_content_layout_update', 0);  
  431. function single_content_layout_update( $post_id ){  
  432.    
  433.     if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE  ) return false;
  434.    
  435.     if ( !current_user_can('edit_post', $post_id) ) return false;
  436.    
  437.     if( !isset($_POST['single_layout']) ) return false;
  438.    
  439.     $_POST['single_layout'] = (int)$_POST['single_layout'];
  440.     update_post_meta($post_id, 'single_layout', $_POST['single_layout']);
  441.    
  442.    
  443.     return $post_id;  
  444. }  
  445.  
  446. ?>
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×