SHOW:
|
|
- or go back to the newest paste.
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 | - | register_sidebar( array( |
48 | + | |
49 | $$sidebar='bottom'; | |
50 | register_sidebar(array( | |
51 | - | 'description' => 'Drop here some widgets', |
51 | + | |
52 | - | 'before_widget' => '<div id="%1$s" class="widget %2 $s"><div class="inner">', |
52 | + | |
53 | 'description' => 'The primary sidebar widget area', | |
54 | - | 'before_title' => '<div class="caption"></h3>', |
54 | + | |
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([^>])*>( )?<\/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 | ?> |