web/wp-content/themes/selecta/functions.php
changeset 1 0d28b7c10758
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/selecta/functions.php	Fri Mar 12 13:29:04 2010 +0000
@@ -0,0 +1,242 @@
+<?php
+/**
+ * @package WordPress
+ * @subpackage Selecta
+ */
+
+function fetch_post_image($use_id, $width, $height)
+	{
+		$attach_args = array("post_type" => "attachment", "post_parent" => $use_id);
+		$attachments = get_posts($attach_args);
+		$attach_id = $attachments[0]->ID;
+		return  wp_get_attachment_image($attach_id, array($width, $height));
+	}
+function ocmx_pagination()
+	{
+		global $wp_query;
+		$request = $wp_query->request;
+		$numposts = $wp_query->found_posts;
+		if((get_option("ocmx_home_page_posts") && $numposts !== 0) && $numposts > get_option("ocmx_home_page_posts")) :
+?>
+     <div class="pagination-container">
+        <ul class="page_button_content clearfix">
+        	<?php if(get_query_var("paged") !== 0) : ?>
+	            <li class="previous-page"><?php previous_posts_link("Previous"); ?></li>            
+            <?php endif;
+			for($i = 1; $i <= (ceil($numposts/get_option("ocmx_home_page_posts"))); $i++) : ?>
+				<li><a href="<?php echo clean_url(get_pagenum_link($i)); ?>" class="<?php if($i == get_query_var('paged') || ($i == 1 && get_query_var('paged') == "")) :?>selected-page<?php else : ?>other-page<?php endif; ?>"><?php echo $i; ?></a></li>  
+			<?php endfor;
+			if(get_query_var("paged") !== ceil($numposts/get_option("ocmx_home_page_posts"))) : ?>
+				<li class="next-page"><?php next_posts_link("Next"); ?></li>
+			<?php endif;?>
+        </ul>
+    </div>
+<?php
+		endif;
+	}
+function ocmx_set_colour()
+	{setcookie("ocmx_theme_style", $_GET["use_colour"], 0, COOKIEPATH, COOKIE_DOMAIN);}
+function fetch_post_tags($post_id)
+	{
+		global $wpdb;
+		$tags = $wpdb->get_results("SELECT $wpdb->term_relationships.*, $wpdb->terms.* FROM $wpdb->terms INNER JOIN $wpdb->term_relationships ON $wpdb->term_relationships.term_taxonomy_id = $wpdb->terms.term_id WHERE $wpdb->term_relationships.object_id = ".$post_id);
+		foreach($tags as $posttag) :
+			if(!isset($tag_list)) :
+				$tag_list = $posttag->name;
+			else :
+				$tag_list .= ", ".$posttag->name;
+			endif;
+		endforeach;
+		return $tag_list;
+	}
+ // VARIABLES
+global $themename, $input_prefix;
+$themename = "Selecta";
+$input_prefix = "ocmx_";
+
+$template_path = get_bloginfo('template_directory');
+$functions_path = TEMPLATEPATH . '/functions/';
+
+//CREATE THEME OPTIONS
+
+include_once (TEMPLATEPATH."/ocmx/custom.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-setup.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-create-options.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-functions.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-install-options.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-general-options.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-advert-options.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-comment-options.php");
+include_once (TEMPLATEPATH."/ocmx/ocmx-widgets.php");
+
+function ocmx_add_admin() {
+	global $wpdb;
+	
+	add_menu_page("OCMX Options", "OCMX Options", 'edit_themes', basename(__FILE__), '');
+	$comment_table = $wpdb->prefix ."ocmx_comment_meta";
+	$gallery_hdr_table = $wpdb->prefix . "ocmx_gallery";
+	if(check_table_existance($comment_table)) :
+		add_submenu_page(basename(__FILE__), "General Options", "General & Layout", 8, basename(__FILE__), 'ocmx_general_options');
+		add_submenu_page(basename(__FILE__), "Adverts", "Adverts", 8,  "ocmx-adverts", 'ocmx_advert_options');
+		add_submenu_page(basename(__FILE__), "Comments", "Comments", 8, "ocmx-comments", 'ocmx_comment_options');
+	else :
+		add_option("white-red");
+		add_submenu_page(basename(__FILE__), "Install Options", "Install", 8, basename(__FILE__), 'ocmx_install_options');
+	endif;
+};
+// Add the Custom Functions to Wordpress
+if($_GET["install_ocmx"]) : 
+	add_action('init', 'install_ocmx');
+endif;
+if(isset($_GET["use_colour"])) :
+	add_action('init', 'ocmx_set_colour');
+endif;
+
+add_action('admin_menu', 'ocmx_add_admin');
+add_action('comment_post', create_function('$a', 'ocmx_commentmeta_update($a);'));
+
+if(!get_option("ocmx_theme_style")) :
+	add_option("ocmx_theme_style", "blue");
+endif;
+
+// Create Dynamic Sidebars
+if (function_exists('register_sidebar')) :
+    register_sidebar(array("name" => "Header Panel"));
+    register_sidebar(array("name" => "Index Header Panel"));	
+    register_sidebar(array("name" => "Advert Sidebar"));
+	
+    register_sidebar(
+		array(
+			  	"name" => "Sidebar",
+				"before_widget" => "
+					<li class=\"widget widget_links\">
+					<div class=\"container-header-dark-normal\"><span></span></div>
+						<div class=\"container-dark\">",
+				"before_title" => "
+							<h2 class=\"recent-comments-title\">",
+				"after_title" => "
+							</h2>
+							<ul class=\"xoxo blogroll\">",
+				"after_widget" => "
+							</ul>
+						</div>
+						<div class=\"container-footer-dark-normal\"><span></span></div>
+				</li>"
+			)
+	);
+    register_sidebar(array("name" => "Footer Left", "before_title" => "<h3>", "after_title" => "</h3>", "before_widget" => "<ul><li>", "after_widget" => "</li></ul>"));
+    register_sidebar(array("name" => "Footer Middle", "before_title" => "<h3>", "after_title" => "</h3>", "before_widget" => "<ul><li>", "after_widget" => "</li></ul>"));
+    register_sidebar(array("name" => "Footer Right", "before_title" => "<h3>", "after_title" => "</h3>", "before_widget" => "<ul><li>", "after_widget" => "</li></ul>"));
+endif;
+// Widgets
+function ocmx_page_menu()
+	{
+		if(get_option("ocmx_page_order") !== "post_title") :
+			$page_args = array("sort_column" => get_option("ocmx_page_order"), "sort_order" => get_option("ocmx_page_updown"), "depth" => "1");
+		else :
+			$page_args = array("sort_order" => get_option("ocmx_page_updown"), "depth" => "1");
+		endif;
+		$fetch_pages = get_pages($page_args);
+		foreach ($fetch_pages as $this_page) :
+			$this_option = "ocmx_menu_page_".$this_page->ID;
+			if(get_option($this_option)) :
+				$sub_page_count = 0;
+				if(get_option("ocmx_page_order") !== "post_title") :
+					$sub_page_defaults = array("child_of" => $this_page->ID, "sort_column" => get_option("ocmx_page_order"), "sort_order" => get_option("ocmx_page_updown"));
+				else :
+					$sub_page_defaults = array("child_of" => $this_page->ID, "sort_order" => get_option("ocmx_page_updown"));
+				endif;
+				$sub_pages = get_pages($sub_page_defaults);
+				foreach ($sub_pages as $sub_page) :
+					$this_sub_page_option = "ocmx_subpage_".$sub_page->ID;
+					if(get_option($this_sub_page_option)) :
+						$sub_page_count++;
+					endif;
+				endforeach; 
+?>
+				<li class="parent-item">
+                	<a href="<?php echo get_page_link($this_page->ID); ?>" id="main-menu-page-item-<?php echo $this_page->ID; ?>" class="parent-link"><span><?php echo $this_page->post_title; ?></span></a>
+					<?php if($sub_page_count !== 0) : ?>
+                        <div class="sub-menu-container" id="sub-page-menu-<?php echo $this_page->ID; ?>" style="display: none;">
+                            <ul class="sub-menu">
+                                <?php
+                                    foreach ($sub_pages as $sub_page) :
+                                        $this_sub_page_option = "ocmx_subpage_".$sub_page->ID;
+                                        if(get_option($this_sub_page_option)) :
+                                ?>
+                                    <li><a href="<?php echo get_page_link($sub_page->ID); ?>"><?php echo $sub_page->post_title; ?></a></li>
+                                <?php
+                                        endif;
+                                    endforeach;
+                                ?>
+                            </ul>      
+							<div class="sub-menu-footer"></div>   
+                        </div>         
+                    <?php endif; ?>
+				</li>
+<?php
+			endif;
+		endforeach;
+		$parent_count = 0;
+	}
+function ocmx_category_menu()
+	{
+        $defaults = array("type" => "post", "child_of" => 0, "orderby" => get_option("ocmx_category_order"), "order" => get_option("ocmx_category_updown"), "hide_empty" => false);
+		$parent_categories = get_categories($defaults);
+		// Count the Parent Categories (That is Categories without Parents themselves (To be used in the loop, explained below)
+		foreach ($parent_categories as $this_category) :
+			$this_option = "ocmx_maincategory_".$this_category->cat_ID;				
+			if(get_option($this_option)) :
+				$sub_category_count = 0;
+				$sub_category_defaults = array('type' => 'post', 'child_of' => $this_category->cat_ID, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false);
+				$sub_categories = get_categories($sub_category_defaults);
+				// Below will loop through the sub categories and populate the sub_category_count if there is an option selected for the category
+				foreach ($sub_categories as $sub_category) :
+					$this_sub_option = "ocmx_subcategory_".$sub_category->cat_ID;
+					if(get_option($this_sub_option)) :
+						$sub_category_count++;
+					endif;
+				endforeach; ?>
+				<li class="parent-item">
+					<a href="<?php echo get_category_link($this_category->term_id); ?>" class="parent-link" id="main-menu-item-<?php echo $this_category->cat_ID; ?>">
+						<span>
+							<?php echo $this_category->cat_name; ?>
+                        </span>
+					</a>
+<?php
+				if($sub_category_count !== 0) :
+?>
+					<div class="sub-menu-container" id="sub-menu-<?php echo $this_category->cat_ID; ?>" style="display: none;">
+						<ul class="sub-menu">
+<?php
+							foreach ($sub_categories as $sub_category) :
+								$this_sub_option = "ocmx_subcategory_".$sub_category->cat_ID;
+								if(get_option($this_sub_option)) :
+?>
+									<li><a href="<?php echo get_category_link($sub_category->term_id); ?>"><?php echo $sub_category->cat_name; ?></a></li>
+<?php
+								endif;
+							endforeach;
+?>
+						</ul>
+                        <div class="sub-menu-footer"></div>
+					</div>       
+<?php 
+				endif;
+?>
+				</li>         
+<?php
+			endif;
+		endforeach;
+	}
+function ocmx_menu()
+	{
+		if(get_option("ocmx_page_category_order") == "page_first") :
+			ocmx_page_menu();
+			ocmx_category_menu();
+		else :
+			ocmx_category_menu();
+			ocmx_page_menu();
+		endif;
+	}
+?>
\ No newline at end of file