--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/selecta/ocmx/ocmx-create-options.php Fri Mar 12 13:29:04 2010 +0000
@@ -0,0 +1,506 @@
+<?php
+global $general_site_options, $social_media_options, $advert_options, $category_menu_options, $page_menu_options, $menu_options, $which_array;
+$general_site_options =
+ array(
+ array("label" => "Custom Logo", "description" => "Full URL or folder path to your custom logo.", "name" => $input_prefix."custom_logo", "default" => "/images/layout/logo.gif", "id" => "", "input_type" => "file"),
+ array("label" => "Color Options", "description" => "Select your desired colour option.", "name" => $input_prefix."theme_style", "default" => "blue", "id" => "", "input_type" => "select", "options" => array("Blue (Default)" => "blue", "Sea Blue" => "sea-blue", "White Rose" => "white-rose", "Blue & Black" => "black-blue", "Black & Green" => "black-green", "Black & Red" => "black-red")),
+ array("label" => "Home Page Posts", "description" => "Number of Posts to display on the Home Page.", "name" => $input_prefix."home_page_posts", "default" => "5", "id" => "", "input_type" => "select", "options" => array("1" => "1", "2" => "2", "3" => "3", "4" => "4", "5" => "5", "6" => "6", "7" => "7", "8" => "8", "9" => "9", "10" => "10", "15" => "15", "20" => "20")),
+ array("label" => "Home Page Categories", "description" => "Which Category will we display on the Home Page?", "name" => $input_prefix."home_page_categories", "default" => "", "id" => "", "input_type" => "select", "options" => "loop_categories"),
+ array("label" => "Home Page Images", "description" => "This will automatically generate an image for your posts on the home page if you have not specified an image in the 'image url' field when adding/updating a post.", "name" => $input_prefix."auto_home_images", "default" => "yes", "id" => "", "input_type" => "select", "options" => array("Yes" => "yes", "No" => "no")),
+ array("label" => "Site Analytics", "description" => "Enter in the Google Analytics Script here.","name" => $input_prefix."googleAnalytics", "default" => "", "id" => "","input_type" => "memo")
+ );
+
+$social_media_options =
+ array(
+ array(
+ "main_section" => "RSS Details",
+ "main_description" => "This will allow visitors to subscribe to your custom RSS feed, as well as your Feedburner Feed via e-mail.",
+ "sub_elements" =>
+ array(
+ array("label" => "RSS URL", "description" => "", "name" => $input_prefix."rss_url", "default" => "", "id" => "", "input_type" => "text"),
+ array("label" => "Feedburner ID", "description" => "", "name" => $input_prefix."feedburner_id", "default" => "", "id" => "", "input_type" => "text")
+ )
+ ),
+ array("label" => "Promote Post Options", "description" => "This will allow you to include Digg, Moo, Bump and Tweetmeme links in your posts.", "name" => $input_prefix."promote_posts", "default" => "yes", "id" => $input_prefix."promote_posts", "input_type" => "select", "options" => array("Yes" => "yes", "No" => "no"))
+ );
+
+$auto_advert_options =
+ array(
+ array(
+ "main_section" => "3<sup>rd</sup> Party Adverts",
+ "main_description" => "These settings allow you to manage your 3<sup>rd</sup> party (eg. BuySellAds, Afrigator etc.) adverts which display in the right side bar, and underneathe the Article in your home and post pages.",
+ "sub_elements" =>
+ array(
+ array("label" => "Post Page Script", "description" => "", "name" => $input_prefix."main_ad_buysell_ads", "default" => "0", "id" => $input_prefix."main_ad_buysell_ads", "input_type" => "select", "options" => array("On" => "on", "Off" => "off")),
+ array("label" => "Insert Page Script", "description" => "", "name" => $input_prefix."main_ad_buysell_id", "default" => "", "id" => $input_prefix."main_ad_buysell_id", "input_type" => "memo"),
+ array("label" => "Right Sidebar Script", "description" => "", "name" => $input_prefix."small_buysell_ads", "default" => "0", "id" => $input_prefix."small_buysell_ads", "input_type" => "select", "options" => array("On" => "on", "Off" => "off")),
+ array("label" => "Insert Sidebar Script", "description" => "", "name" => $input_prefix."small_buysell_id", "default" => "", "id" => $input_prefix."small_buysell_id", "input_type" => "memo")
+ )
+ )
+ );
+
+$custom_advert_options =
+ array(
+ array(
+ "main_section" => "Post Page Ads",
+ "main_description" => "These settings allow you to manage your custom adverts which display in the post pages of your site. (Recommended size for the post ad is 560px by 60px.)",
+ "sub_elements" =>
+ array(
+ array("label" => "Advert Title", "description" => "", "name" => $input_prefix."post_ad_title", "default" => "", "id" => $input_prefix."post_ad_title", "input_type" => "text"),
+ array("label" => "Advert Link", "description" => "", "name" => $input_prefix."post_ad_link", "default" => "", "id" => $input_prefix."post_ad_link", "input_type" => "text"),
+ array("label" => "Image URL", "description" => "", "name" => $input_prefix."post_ad_image", "default" => "", "id" => $input_prefix."post_ad_image", "input_type" => "text")
+ )
+ ),
+ array(
+ "main_section" => "Sidebar Ads",
+ "main_description" => "These settings allow you to manage your custom adverts which display in the right side bar. Use the \"Media\" section to upload you ad image, and paste the image url into the \"Image url\" text field. (Recommended width is 125px by 125px.)",
+ "sub_elements" =>
+ array(
+ array("label" => "Number of Small Ads", "description" => "", "name" => $input_prefix."small_ads", "default" => "0", "id" => $input_prefix."small_ads", "input_type" => "select", "options" => array("None" => "0", "1" => "1", "2" => "2", "3" => "3", "4" => "4", "5" => "5", "6" => "6", "7" => "7", "8" => "8", "9" => "9", "10" => "10"))
+ )
+ )
+ );
+$menu_options = array(array("label" => "Menu Order", "description" => "Would you like to list your pages or categories first?", "name" => $input_prefix."page_category_order", "default" => "pages_first", "id" => "", "input_type" => "select", "options" => array("Pages First" => "pages_first", "Categories First" => "categories_first")));
+$page_menu_options =
+ array(
+ array(
+ "main_section" => "Pages",
+ "main_description" => "Order your pages by the following.",
+ "sub_elements" =>
+ array(
+ array("label" => "Order By", "description" => "", "name" => $input_prefix."page_order", "default" => "", "id" => $input_prefix."page_order", "input_type" => "select", "options" => array("Title" => "post_title", "Page Order" => "menu_order", "Creation Date/Time" => "post_date", "Modified Date/Time" => "post_modified", "Page ID" => "ID", "Post Slug" => "post_name")),
+ array("label" => "Direction", "description" => "", "name" => $input_prefix."page_updown", "default" => "", "id" => $input_prefix."page_updown", "input_type" => "select", "options" => array("Ascending" => "ASC", "Descending" => "DESC"))
+ )
+ )
+ );
+$category_menu_options =
+ array(
+ array(
+ "main_section" => "Categories",
+ "main_description" => "Order your categories by the following.",
+ "sub_elements" =>
+ array(
+ array("label" => "Order By", "description" => "", "name" => $input_prefix."category_order", "default" => "ID", "id" => $input_prefix."category_order", "input_type" => "select", "options" => array("Category ID" => "ID", "Name" => "name")),
+ array("label" => "Direction", "description" => "", "name" => $input_prefix."category_updown", "default" => "", "id" => $input_prefix."category_updown", "input_type" => "select", "options" => array("Ascending" => "ASC", "Descending" => "DESC"))
+ )
+ )
+ );
+// Set the global var to see which array we're dealing with
+
+/*********************************************************************************/
+/* Below we create the form containers, according to our arrays in functions.php */
+function fetch_options($which_array)
+ {
+
+ global $input, $counter, $label_class;
+ if($which_array) :
+ foreach($which_array as $input)
+ {
+ // This option Has Sub Options, so loop them and give them slightly different classes
+ if($input['description'] !== "") :
+?>
+ <p class="section_notice"><?php echo $input["description"];?></p>
+<?php
+ endif;
+?>
+ <div class="form_item clearfix">
+<?php
+ // If this option has sub-options
+ if($input["main_section"]) :
+ $i = 0;
+?>
+ <h3><?php echo $input["main_section"] ?></h3>
+
+<?php
+ if($input["main_description"] && $input["main_description"] !== "") :
+?>
+ <p class="section_notice"><?php echo $input["main_description"]; ?></p>
+<?php
+ endif;
+ foreach($input["sub_elements"] as $sub_input)
+ {
+ $i++;
+?>
+ <div class="form_label">
+ <div class="input_label"><?php echo $sub_input["label"]; ?></div>
+<?php
+ /* Set the class for the div */
+ if($sub_input["options"] && $sub_input["input_type"] == "checkbox")
+ {$label_class = "catagories";}
+ else
+ {$label_class = "input_form";}
+
+ /* Output the form items using the create_form function */
+ create_form($sub_input, count($input), $label_class);
+
+ /* Special case, a bit of a hard-code we know - if this is the "Sidebar Ad Number" option, bring into play the small_ad_form function
+ Which can be found below */
+ if($sub_input["name"] == "ocmx_small_ads") :
+ if(get_option("ocmx_small_buysell_ads") == "1") :
+ $no_display = "no_display";
+ else :
+ $no_display = "";
+ endif;
+?>
+ <br />
+ <div class="clearfix <?php echo $no_display; ?>" id="small-ads-div">
+<?php
+ for($i = 1; $i <= get_option("ocmx_small_ads"); $i++)
+ {small_ad_form($i);}
+?>
+ </div>
+<?php
+ endif;
+?>
+ </div>
+<?php
+ }
+ //This Option just sits on its own...
+ else :
+?>
+ <div class="form_label">
+ <div class="input_label"><?php echo $input["label"]; ?></div>
+<?php
+ if($input["options"] && $input["input_type"] == "checkbox")
+ {$label_class = "catagories";}
+ else
+ {$label_class = "input_form";}
+
+ /* Output the form items using the create_form function */
+ create_form($input, count($input), $label_class);
+?>
+ </div>
+<?php
+ endif;
+?>
+ </div>
+<?php
+ }
+ endif;
+ }
+
+/************************************************************************/
+/* Below we check which kind of form item we're creating, and output it */
+function create_form($input, $counter, $label_class)
+ {
+?>
+ <div class="<?php echo $label_class; ?>">
+<?php
+ // Set the input value to default or get_option()
+ if(!get_option($input["name"])) :
+ $input_value = $input["default"];
+ else :
+ $input_value = get_option($input["name"]);
+ endif;
+
+ // This denotes that we're using the wp-categories instead of set options
+ if($input["options"] == "loop_categories") :
+ $option_loop = get_categories();
+ elseif($input["options"] == "loop_pages") :
+ $option_loop = get_pages();
+ else :
+ //$values = array_values($input["options"]);
+ $option_loop = $input["options"];
+ endif;
+
+ //Switch through the input_type
+ switch($input["input_type"])
+ {
+ case 'select';
+ if($input['linked']) :
+?>
+ <select size="1" name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>" onchange="javacript: check_linked('<?php echo $input['id'];?>', '<?php echo $input['linked'];?>')">
+<?php
+ else :
+?>
+ <select size="1" name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>">
+<?php
+ endif;
+ // Tiny little hack.. if we've set the options to loop through the categories, we must have an "All" option
+ if ($input["options"] == "loop_categories") :
+?>
+ <option <?php if($input_value == 0){echo "selected=\"selected\"";} ?> value="0">All</option>
+<?php
+ elseif($input["options"] == "loop_pages") :
+?>
+ <option <?php if($input_value == 0){echo "selected=\"selected\"";} ?> value="0">Use a Custom Description</option>
+<?php
+ endif;
+ foreach($option_loop as $option_label => $value)
+ {
+ // Set the $value and $label for the options
+ if($input["options"] == "loop_categories") :
+ $use_value = $value->slug;
+ $label = $value->cat_name;
+ elseif($input["options"] == "loop_pages") :
+ $use_value = $value->ID;
+ $label = $value->post_title;
+ else :
+ $use_value = $value;
+ $label = $option_label;
+ endif;
+ //If this option == the value we set above, select it
+ if($use_value == $input_value)
+ {$selected = " selected='selected' ";}
+ else
+ {$selected = " ";}
+?>
+ <option <?php echo $selected; ?> value="<?php echo $use_value; ?>"><?php echo $label; ?></option>
+<?php
+ }
+?>
+ </select>
+<?php
+ break;
+ case 'checkbox' :
+?>
+ <div class="selection_catagory clearfix">
+ <ul class="cat_option clearfix">
+<?php
+ foreach($option_loop as $option_label => $value) :
+ // Set the $value and $label for the options
+ if($input["options"] == "loop_categories") :
+ $use_value = $value->slug;
+ $label = $value->cat_name;
+ elseif($input["options"] == "loop_pages") :
+ $use_value = $value->ID;
+ $label = $value->post_title;
+ else :
+ $use_value = $value;
+ $label = $option_label;
+ endif;
+ if($use_value == $input_value)
+ {$selected = " checked='checkeds' ";}
+ else
+ {$selected = " ";}
+?>
+ <li><input type="checkbox" name="<?php echo $input["name"]."_".$counter; ?>" value="<?php echo $use_value; ?>" /> <?php echo $label; ?></li>
+<?php
+ endforeach;
+?>
+ </ul>
+ </div>
+<?php
+ break;
+ case 'radio' :
+?>
+ <div class="selection_catagory clearfix">
+ <ul class="cat_option">
+<?php
+ foreach($option_loop as $option_label => $value) :
+ // Check whether we must loop through the categories for the options
+ if($input["options"] == "loop_categories") :
+ $use_value = $value->slug;
+ $label = $value->cat_name;
+ else :
+ $use_value = $value;
+ $label = $option_label;
+ endif;
+ if($use_value == $input_value) {$selected = " selected='selected' ";}
+ else
+ {$selected = " ";}
+?>
+ <li><input type="radio" name="<?php echo $input["name"]; ?>" value="<?php echo $use_value; ?>" /> <?php echo $option_label; ?> </li>
+<?php
+ endforeach;
+?>
+ </ul>
+ </div>
+<?php
+ break;
+ case 'memo':
+ if($input['linked']) :
+ if((get_option($input['linked'])) && get_option($input['linked']) !== "0") :
+ $disabled_element = "disabled=\"disabled\"";
+ else :
+ $disabled_element = "";
+ endif;
+ else :
+ $disabled_element = "";
+ endif;
+?>
+ <textarea name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>" <?php echo $disabled_element; ?> class="mceNoEditor"><?php echo stripslashes($input_value); ?></textarea>
+<?php
+ break;
+ case 'file':
+?>
+ <input type="file" style="width: 300px;" name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>" value="<?php echo $input_value; ?>" />
+ <br /> <br />
+ <em>Current Image</em>
+ <div class="form-thumbnail">
+ <a id="<?php echo $ad_href_id; ?>" style="background: url('<?php bloginfo('wpurl');?><?php echo "/wp-content/uploads/".$input_value; ?>') no-repeat center;" href="<?php bloginfo('wpurl');?><?php echo "/wp-content/uploads/".$input_value; ?>" class="std_link" rel="lightbox" target="_blank">
+ </a>
+ </div>
+
+<?php
+ break;
+ case 'zip_file':
+?>
+ <input type="file" style="width: 300px;" name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>" value="<?php echo $input_value; ?>" />
+<?php
+ break;
+ default :
+?>
+ <input type="text" name="<?php echo $input["name"]; ?>" id="<?php echo $input["id"]; ?>" value="<?php echo $input_value; ?>" />
+<?php
+ break;
+ }
+?>
+ </div>
+<?php
+ }
+function menu_options($defaults) {
+ global $input_prefix, $parent_count, $advert_options, $page_menu_options, $category_menu_options, $menu_options;
+ $page_args = array("sort_column" => get_option("ocmx_page_order"), "sort_order" => get_option("ocmx_page_updown"));
+ $fetch_pages= get_pages($page_args);
+?>
+ <?php fetch_options($page_menu_options); ?>
+ <div class="selection_sections clearfix">
+ <ul class="section_option">
+<?php
+ //Set the $i var to count through as we loop through the pages
+ $i = 0;
+ foreach ($fetch_pages as $this_page) :
+ $use_id = $input_prefix."menu_page_".$this_page->ID;
+ // Check/Uncheck Categories
+ if(get_option($use_id)) : $main_checked = "checked='checked'"; else : $main_checked = ""; endif;
+ // If we're halfway then place create a new <ul> to seperate the categories
+ if ($i == number_format(count($fetch_pages)/2, 0)) :
+?>
+ </ul>
+ <ul class="section_option clearfix">
+<?php
+ endif;
+ if($this_page->post_parent == 0) :
+?>
+ <li class="clearfix">
+ <input type="checkbox" <?php echo $main_checked; ?> name="<?php echo $use_id ?>" id="main_page_<?php echo $this_page->ID; ?>" /> <?php echo $this_page->post_title; ?>
+<?php $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);
+?>
+ <ul class="section_option clearfix" id="sub_pages_<?php echo $this_page->ID; ?>" style="display: none;">
+ <?php
+ foreach ($sub_pages as $sub_page) :
+ $use_id = "ocmx_subpage_".$sub_page->ID;
+ // Check/Uncheck Categories
+ if(get_option($use_id)) : $sub_checked = "checked='checked'"; else : $sub_checked = ""; endif;
+?>
+ <li><input type="checkbox" <?php echo $sub_checked; ?> name="<?php echo $use_id ?>" id="<?php echo $use_id; ?>" /> <?php echo $sub_page->post_title; ?></li>
+ <?php
+ endforeach;
+ ?>
+ </ul>
+ </li>
+
+<?php
+ $i++;
+ endif;
+ endforeach;
+?>
+ </ul>
+ </div>
+ <?php fetch_options($category_menu_options); ?>
+ <div class="selection_sections clearfix">
+ <ul class="section_option">
+<?php
+ //Set the $i var to count through as we loop through the categories
+ $i = 0;
+ $parent_count = 0;
+ $cat_args = array("orderby" => get_option("ocmx_category_order"), "order" => get_option("ocmx_category_updown"), "hide_empty" => false);
+ $parent_categories = get_categories($cat_args);
+ // Count the Parent Categories (That is Categories without Parents themselves (To be used in the loop, explained below)
+ foreach ($parent_categories as $this_category) :
+ if($this_category->category_parent == 0) :
+ $parent_count++;
+ endif;
+ endforeach;
+ //Loop through the categories
+ foreach ($parent_categories as $this_category) :
+ //Create the checkbox Name/Id
+ $use_id = $input_prefix."maincategory_".$this_category->cat_ID;
+
+ // Check/Uncheck Categories
+ if(get_option($use_id)) : $main_checked = "checked='checked'"; else : $main_checked = ""; endif;
+
+ // If we're halfway then place create a new <ul> to seperate the categories
+ if ($i == number_format($parent_count/2, 0)) :
+?>
+ </ul>
+ <ul class="section_option clearfix">
+<?php
+ endif;
+ // Now List the Subcategories
+ $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);
+
+ if($this_category->category_parent == 0) :
+?>
+
+ <li class="clearfix">
+ <input type="checkbox" <?php echo $main_checked; ?> name="<?php echo $use_id; ?>" id="main_category_<?php echo $this_category->cat_ID; ?>" /> <?php echo $this_category->cat_name; ?>
+ <ul class="section_option clearfix" id="sub_categories_<?php echo $this_category->cat_ID; ?>" style="display: none;">
+<?php
+ foreach ($sub_categories as $sub_category) :
+ //Create the checkbox name
+ $sub_category->cat_name;
+ $use_id = $input_prefix."subcategory_".$sub_category->cat_ID;
+
+ // Check/Uncheck Categories
+ if(get_option($use_id)) : $sub_checked = "checked='checked'"; else : $sub_checked = ""; endif;
+?>
+ <li><input type="checkbox" <?php echo $sub_checked; ?> name="<?php echo $use_id ?>" id="<?php echo $use_id; ?>" /> <?php echo $sub_category->cat_name; ?></li>
+<?php
+ endforeach;
+?>
+ </ul>
+ </li>
+<?php
+ $i++;
+ endif;
+ endforeach;
+?>
+ </ul>
+ <br class="clearboth "/>
+ </div>
+<?php
+ }
+function small_ad_form($id) {
+ global $input_prefix;
+ $ad_title_id = $input_prefix."small_ad_title_".$id;
+ $ad_link_id = $input_prefix."small_ad_link_".$id;
+ $ad_img_id = $input_prefix."small_ad_img_".$id;
+ $ad_href_id = $input_prefix."small_ad_href_".$id;
+?>
+ <div class="form_label">
+ <div class="label_tag">
+ <div class="input_label">Advert Title</div>
+ <div class="input_form"><input type="text" name="<?php echo $ad_title_id ?>" id="<?php echo $ad_title_id ?>" value="<?php echo get_option($ad_title_id); ?>" /></div>
+ </div>
+ </div>
+ <div class="form_label">
+ <div class="label_tag">
+ <div class="input_label">Advert Link</div>
+ <div class="input_form"><input type="text" name="<?php echo $ad_link_id ?>" id="<?php echo $ad_link_id ?>" value="<?php echo get_option($ad_link_id); ?>" /></div>
+ </div>
+ </div>
+ <div class="form_label">
+ <div class="label_tag">
+ <div class="input_label">Image URL</div>
+ <div class="input_form"><input type="text" name="<?php echo $ad_img_id ?>" id="<?php echo $ad_img_id ?>" value="<?php echo get_option($ad_img_id); ?>" /></div>
+ </div>
+ </div>
+ <div class="form_label">
+ <div class="label_tag">
+ <div class="input_label"> </div>
+ <div class="thumbnail"><a id="<?php echo $ad_href_id; ?>" style="background: url('<?php echo get_option($ad_img_id); ?>') no-repeat center;" href="<?php echo get_option($ad_link_id); ?>" class="std_link" rel="lightbox" target="_blank"> </a></div>
+ </div>
+ </div>
+
+<?php
+ }
+?>
\ No newline at end of file