+ initial commit
[sfa:tema.git] / functions.php
1 <?php
2 /**
3  * @package sfa
4  * @subpackage sfa-theme
5  */
6
7
8  
9 if ( function_exists( 'add_feed' ) )
10         add_feed('innspill', 'create_feed_innspill');
11
12 function create_feed_innspill() {
13         include(TEMPLATEPATH . '/atom-innspill.php');
14 }
15  
16 function the_category_extended($separator, $html_before, $html_after) {
17         global $current_cat_id; // used in single.php too, to get the to last posts
18         global $current_cat_names;
19         global $last_current_cat_slug; // used in single.php to create the link 'flere aktuelle saker'
20         global $single_cat_id; //if a posts belong to multiple categories, this will always contain the last
21                                //in the returned list used for listing of relevant feed elements. 
22         $i = 0;
23         //edit below for categories you want excluded
24         $exclude = array('Temabeskrivelse', 'Debattinnlegg', 'Forside', 'Uncategorized', 'Tema');
25         //don't edit below here!
26         $new_the_category = '';
27         $current_cat_id = '';
28         $current_cat_names ='';
29         foreach((get_the_category()) as $category){
30                 if (!in_array($category->cat_name, $exclude)){
31                         $new_the_category .= '<a href="/tema/' . $category->slug . '">' . $category->name . '</a>' . $separator;
32                         /* $new_the_category .= '<a href="' . get_bloginfo(url) . '/' . get_option('category_base') . '/' . $category->slug . '">' . $category->name . '</a>' . $separator; */
33                         // For single.php => get the category id and names
34                         $current_cat_id .= get_cat_id($category->name).', ';
35                         $single_cat_id = get_cat_id($category->name);
36                         $current_cat_names .= $category->name.', ';
37                         $i++;
38                         $last_current_cat_slug = $category->slug; // used in single.php to create the link 'flere aktuelle saker'
39                 }
40         }
41         if ( $i > 0 ) { // If there are items to show
42                 echo $html_before;
43                 echo substr($new_the_category, 0, strrpos($new_the_category, $separator));
44                 echo $html_after;
45         }
46 }
47
48
49
50 function alike_multiple_cats($tema_id, $current_categories) {
51         $alike = FALSE;
52         foreach($current_categories as $current_category) {
53                 if ( $current_category->cat_ID == $tema_id ) { $alike = TRUE; }
54         } return $alike;
55 }
56
57 function alike_single_cat($tema_id, $current_cat_id) {
58         $alike = FALSE;
59         if ( $current_cat_id == $tema_id ) { $alike = TRUE; }
60         return $alike;
61 }
62
63
64 function get_class_if_current($tema_id) {
65         if ( is_single() ) { $current_categories = get_the_category(); }
66         if ( is_single() && alike_multiple_cats($tema_id, $current_categories) ) { echo ' class="current-cat"'; }
67         
68         if ( is_category() ) { $current_cat_id = $GLOBALS['cat']; }
69         if ( is_category() && alike_single_cat($tema_id, $current_cat_id) ) { echo ' class="current-cat"'; }
70 }
71
72 function the_navigation_sfa() { 
73         $idObj_1 = get_category_by_slug('sykefravaer');
74         $idObj_2 = get_category_by_slug('frafall-i-videregaaende-opplaering');
75         $idObj_3 = get_category_by_slug('naringsutvikling');
76         $idObj_4 = get_category_by_slug('barekraftig-okonomi');
77 ?>
78 <li id="tema_id_<?php echo $idObj_1->term_id ?>"<?php get_class_if_current($idObj_1->term_id) ?>>
79         <a href="<?php echo get_option('siteurl') . '/tema/sykefravaer/' ?>" title="<?php echo $idObj_1->name ?>" ><?php echo $idObj_1->name ?></a></li>
80     
81 <li id="tema_id_<?php echo $idObj_2->term_id ?>"<?php get_class_if_current($idObj_2->term_id) ?>>
82         <a href="<?php echo get_option('siteurl') . '/tema/frafall-i-videregaaende-opplaering/' ?>" title="<?php echo $idObj_2->name ?>" ><?php echo $idObj_2->name ?></a></li>
83
84 <li id="tema_id_<?php echo $idObj_3->term_id ?>"<?php get_class_if_current($idObj_3->term_id) ?>>
85         <a href="<?php echo get_option('siteurl') . '/tema/naringsutvikling/' ?>" title="<?php echo $idObj_3->name ?>" ><?php echo $idObj_3->name ?></a></li>
86
87 <li id="tema_id_<?php echo $idObj_4->term_id ?>"<?php get_class_if_current($idObj_4->term_id) ?>>
88         <a href="<?php echo get_option('siteurl') . '/tema/barekraftig-okonomi/' ?>" title="<?php echo $idObj_4->name ?>" ><?php echo $idObj_4->name ?></a></li>
89 <?php
90 }
91
92 function embed_lazy_video($watch_id, $width){
93   ?>
94   <a class="external video" href="http://www.fluvi.tv/players/DSS/player.swf?watch=<?php echo $watch_id; ?>&amp;width=<?php echo $width; ?>">Se video (krever flash)</a>
95   <?php
96 }
97
98 function get_search_form_sfa($show_searchstring) {
99         do_action( 'get_search_form' );
100
101         $search_form_template = locate_template(array('searchform.php'));
102         if ( '' != $search_form_template ) {
103                 require($search_form_template);
104                 return;
105         }
106
107         $form = '<form action="'. get_option('home') .'" method="get" class="search" id="portal-search">
108         <fieldset>
109         <label class="accessibilityHidden" for="s">'. esc_attr__('Search') .'</label>
110         <input title="Søk i redaksjonelt innhold" type="text" class="inputField toggleable"  value="';
111         if ( $show_searchstring == TRUE ) { $form .= esc_attr(apply_filters('the_search_query', get_search_query())); } else{$form .= esc_attr(apply_filters('the_search_query', 'Søk i redaksjonelt innhold'));}
112         $form .= '" name="s" id="s" />
113         <button type="submit" title="Send inn s&oslash;k">'. esc_attr__('Search') .'</button>
114       </fieldset>
115     </form>';
116
117         echo apply_filters('get_search_form', $form);
118 }
119
120
121
122 function temabeskrivelse($cat) {
123         $args = array(
124                                   'posts_per_page' => 1,
125                                   'category__and' => array($cat,get_cat_id('Temabeskrivelse'))
126                                   );
127         query_posts($args);
128 if (have_posts()) :
129         while (have_posts()) : the_post(); ?>
130     <div class="mod condensed-article">
131       <div class="inner">
132         <div class="hd">
133           <h5><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h5>
134         </div>
135         <div class="bd">
136           <?php // bilde
137           $post_id = get_the_ID();
138           if ( get_post_meta($post_id, 'Sidekolonne_Bilde_URL', true) ) {
139             echo '<div class="resource-container">';
140               $temabeskrivelse_bilde_url = get_post_meta($post_id, 'Sidekolonne_Bilde_URL', true);
141               echo '<img src="'.$temabeskrivelse_bilde_url.'" alt="" width="80" />';
142             echo '</div>';
143           } ?>
144           <div class="text-container">
145                  <?php the_excerpt('Read the rest of this entry &raquo;') ?>
146             <?php edit_post_link('Rediger', '', ''); ?>
147           </div>        
148         </div>
149         <div class="ft">
150           <hr/>
151         </div>
152       </div>
153     </div> 
154         <?php endwhile;
155 endif;
156 }
157
158
159 function debattinnlegg($cat) {
160         $args = array(                            
161                                   'category__and' => array($cat,get_cat_id('Debattinnlegg'))
162                                   );
163         query_posts($args);
164 if (have_posts()) : ?>
165 <div class="mod framed blue shadow slideshow">
166   <div class="inner">
167     <div class="hd">
168       <h5>Kjør debatt</h5>
169     </div> <!-- .head -->
170     <div class="bd">
171       <ul class="slides">
172         <?php while (have_posts()) : the_post();  $post_id = get_the_ID();?>
173         <li id="postid_<?php echo $post_id ?>" class="condensed-article">
174           <h6><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h6>
175           
176           <?php // bilde
177           $post_id = get_the_ID();
178           if ( get_post_meta($post_id, 'Sidekolonne_Bilde_URL', true) ) {
179             echo '<div class="resource-container">';
180               $temabeskrivelse_bilde_url = get_post_meta($post_id, 'Sidekolonne_Bilde_URL', true);
181               echo '<img src="'.$temabeskrivelse_bilde_url.'" alt="" width="80" />';
182             echo '</div>';
183           } ?>
184           
185           <div class="text-container">
186             <?php the_excerpt() ?>
187             <?php edit_post_link('Rediger', '', ''); ?>   
188           </div>
189           <div>
190           <a class="btn btn-blue facebook-share external" href="http://www.facebook.com/sharer.php?u=<?php echo urlencode(the_permalink())?>&amp;t=<?php echo urlencode(the_title('','',false)); ?>"><span>Inviter dine venner til debatt!</span></a>
191           </div>  
192           <!-- div> --><!-- Del andre steder  -->
193               <!-- ?php if (function_exists('sharethis_button')) { sharethis_button(); } ? -->
194           <!-- /div -->
195         </li>
196         <?php endwhile; ?>
197       </ul>
198     </div> <!-- .body -->
199   </div>
200 </div>
201 <?php
202 endif;
203 }
204
205
206
207 // Add Post Thumbnail Images for posts (since wp 2.9
208 add_theme_support( 'post-thumbnails', array( 'post' ) );
209 set_post_thumbnail_size( 115, 60, true ); // 115 pixels wide by 60 pixels tall, hard crop mode
210
211
212 function get_media_content($post_id) {
213         
214         // If Meta Video_Watch_ID
215         if ( get_post_meta($post_id, 'Video_Watch_ID', true) ) {
216                 $video_watch_id = get_post_meta($post_id, 'Video_Watch_ID', true);
217                 if ( !is_single() ) { echo embed_lazy_video($video_watch_id, '480'); } // 'liten', 'middel' eller 'stor'
218                 else { echo embed_lazy_video($video_watch_id, '540'); }
219                 // Set a mini feature image
220                 if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) {
221                         // output the featured image as mini with 115 x 60
222                         if ( !is_single() ) { the_post_thumbnail(array( 115,60 ), array('class' => 'thumbnail') ); }
223                 } else {
224                         if ( !is_single() ) {
225                                 // output some dummies
226                                 $stylesheet_directory = get_bloginfo('stylesheet_directory');
227                                 echo '<img class="thumbnail" src="'. $stylesheet_directory . '/resource/image/mini-ingress-dummy.gif" alt="" />';
228                         }
229                 }
230         
231         } else { // If no Meta Video_Watch_ID
232                 if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) {
233                         // output the featured image with the croped size 480 x 270 and the same as mini with 115 x 60
234                         $post_title = get_the_title('', false);
235                         if ( !is_single() ) {
236                                 the_post_thumbnail( 'thumbnail', array('alt' => $post_title) );
237                                 the_post_thumbnail(array( 115,60 ), array('class' => 'thumbnail') );
238                         } // else { show // thumbnail in the post
239                         //      the_post_thumbnail( 'large', array('alt' => $post_title) );
240                         // } //
241                                         
242                 } else {
243                         if ( !is_single() ) {
244                                 // output some dummies
245                                 $stylesheet_directory = get_bloginfo('stylesheet_directory');
246                                 echo '<img src="'. $stylesheet_directory . '/resource/image/ingress-dummy.gif" alt=""/>';
247                                 echo '<img class="thumbnail" src="'. $stylesheet_directory . '/resource/image/mini-ingress-dummy.gif" alt=""  />';
248                         }
249                 }
250         }
251 }
252
253 function excerpt($num){
254   $limit = $num+1;  
255   $origexcerpt = get_the_excerpt();
256   $excerpt = explode(" ", $origexcerpt, $limit);
257   if(count($excerpt) > $limit-1){
258     array_pop($excerpt);
259   }  
260   $excerpt = implode(" ",$excerpt);  
261   if (strlen($excerpt) < strlen($origexcerpt)) {
262     $excerpt = $excerpt." ...";
263   }
264   echo $excerpt;
265 }
266
267 function sfa_list_condensed_articles($current_cat_id) {
268 $args = array(
269                           'post__in' => get_option('sticky_posts'),
270                           'caller_get_posts' => 1,
271                           'cat' => $current_cat_id . ',-' . get_cat_id('Temabeskrivelse') . ',-' . get_cat_id('Debattinnlegg')
272             );
273   query_posts($args);
274
275   while (have_posts()) : the_post(); $post_id = get_the_ID();?>
276
277             <li id="postid_<?php echo $post_id ?>">
278             <div class="text-container containerBlockLink">
279                   <div class="hgroup">
280                         <h2><?php the_title(); ?></h2>              
281                   </div>
282                 <p><?php excerpt(30); ?></p>
283                 <a class="read-more" href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">Les mer</a>
284               </div>
285                 <div class="resource-container">
286                 
287                   <?php get_media_content(get_the_ID()); ?>
288
289                   <?php /* if ( is_user_logged_in() ){ post_sticky_status(); } // end is_user_logged_in  edit_post_link('Rediger', '', ''); */ ?>
290                 </div>                
291                 
292             </li>
293 <?php
294  endwhile;
295  }
296
297
298
299 function check_post_cat() {
300         global $current_cat_names;
301         $include = array('Temabeskrivelse', 'Debattinnlegg');
302         $show = TRUE;
303         foreach((get_the_category()) as $category) {
304                 if ( !in_array($category->cat_name, $include) ) {
305                         $show = TRUE;
306                 } else {
307                         $show = FALSE;
308                 }
309         }
310         return $show;
311 }
312
313
314 function selection_filter($categories) { ?>
315         <div class="filter">            
316          <div class="hgroup">
317            <h2>Utvalg:</h2>
318          <?php             
319            if( !isset($_GET['v']) ) { echo '<strong>'; } else { echo ''; }
320            echo '<a href="'. get_option('siteurl') . '/aktuelt/">Alle</a>';
321            if( !isset($_GET['v']) ) { echo '</strong>'; } else { echo ''; };             
322          ?>
323          <ul>
324          </div>
325          <ul>
326        <?php
327         foreach($categories as $category) {
328                                 echo '<li>';
329                                 if( $_GET['v'] == $category->category_nicename ) { echo '<strong>'; } else { echo ''; }
330                                 echo '<a href="'. get_option('siteurl') . '/aktuelt/?v=' . $category->category_nicename;
331                                 echo '" title="' . sprintf( __( "Filtrer %s" ), $category->cat_name ) . '" ' . '>' . $category->cat_name.'</a></li>';
332                                 if( $_GET['v'] == $category->category_nicename ) { echo '</strong>'; } else { echo ''; }
333                         } ?>
334         </ul>        
335     </div>
336 <?php
337 }
338
339 function get_query_by_url($get_slug, $categories) {
340         foreach($categories as $category) {
341                 if ( $category->category_nicename == $get_slug ) { $cat_id = $category->term_id; }
342         }
343         $query_arg = '&cat=' . $cat_id . ',-' . get_cat_id('Temabeskrivelse') . ',-' . get_cat_id('Debattinnlegg');
344         return query_posts($query_arg);
345         
346 }
347
348 function get_post_thumbnail_url($post_thumbnail) {
349         $pieces = explode(" ", $post_thumbnail);
350         $i='';
351         foreach($pieces as $piece){
352                 if($i==3) { // find 'src'-piece inside the string
353                         $piece = substr($piece, 0, -1); // remove the last '"'
354                         $piece = substr($piece, 5); // remove 'src="'
355                         $thumbnail_url = $piece;
356                 }
357                 $i++;
358         }
359         return $thumbnail_url;
360 }
361
362 function get_header_image_src() {
363         if ( is_single() ) {
364                 echo '<link rel="image_src" href="';
365                 if ( (function_exists('has_post_thumbnail') ) && ( has_post_thumbnail() ) ) {
366                         global $post;
367                         echo get_post_thumbnail_url( get_the_post_thumbnail( $post->ID, 'thumbnail' ) );
368                 } else {
369                         echo bloginfo('stylesheet_directory');
370                         echo '/resource/image/sfa-logo-sidebar.gif';
371                 }
372                 echo '" />' . "\n";
373         }
374 }
375
376
377
378
379 ?>