function infoway_options() { // VARIABLES $themename = "InfoWay"; $shortname = "of"; // Populate OptionsFramework option in array for use in theme global $infoway_options; $infoway_options = infoway_get_option('infoway_options'); // Background Defaults $background_defaults = array('color' => '', 'image' => '', 'repeat' => 'repeat', 'position' => 'top center', 'attachment' => 'scroll'); //Stylesheet Reader $captcha_option = array("on" => __("On", 'infoway'), "off" => __("Off", 'infoway')); // Pull all the categories into an array $options_categories = array(); $options_categories_obj = get_categories(); foreach ($options_categories_obj as $category) { $options_categories[$category->cat_ID] = $category->cat_name; } // Pull all the pages into an array $options_pages = array(); $options_pages_obj = get_pages('sort_column=post_parent,menu_order'); $options_pages[''] = __('Select a page:', 'infoway'); foreach ($options_pages_obj as $page) { $options_pages[$page->ID] = $page->post_title; } // If using image radio buttons, define a directory path $imagepath = get_stylesheet_directory_uri() . '/images/'; $options = array(array("name" => __("General Settings", 'infoway'), "type" => "heading"), array("name" => __("Custom Logo", 'infoway'), "desc" => __("Choose your own logo. Optimal Size: 300px Wide by 90px Height.", 'infoway'), "id" => "infoway_logo", "type" => "upload"), array("name" => __("Custom Favicon", 'infoway'), "desc" => __("Specify a 16px x 16px image that will represent your website's favicon.", 'infoway'), "id" => "infoway_favicon", "type" => "upload"), array("name" => __("Body Background Image", 'infoway'), "desc" => __("Select image to change your website background", 'infoway'), "id" => "infoway_bodybg", "std" => "", "type" => "upload"), array("name" => __("Top Right Contact Details", 'infoway'), "desc" => __("Enter your contact detail/number to display it at the top right corner.", 'infoway'), "id" => "infoway_topright", "std" => "", "type" => "textarea"), array("name" => __("Contact No.", 'infoway'), "desc" => __("Enter your contact number on which you want to receive call's \n\t\t\t(Feature active only when site is viewed on moblie devices).\n\t\t\texample: +91-1800-548-783", 'infoway'), "id" => "infoway_contact_number", "std" => "", "type" => "text"), array("name" => __("Top Infobar Settings", 'infoway'), "type" => "heading"), array("name" => __("Top Infobar Text", 'infoway'), "desc" => __("Enter your Text", 'infoway'), "id" => "infoway_topinfobar_text", "std" => "", "type" => "textarea"), array("name" => __("Top Infobar button text", 'infoway'), "desc" => __("Enter your sitename", 'infoway'), "id" => "infoway_topinfobar_sitename", "std" => "", "type" => "text"), array("name" => __("Top Infobar Button Click Url", 'infoway'), "desc" => __("Enter your siteurl", 'infoway'), "id" => "infoway_topinfobar_url", "std" => "", "type" => "text"), array("name" => __("Home page Image Section Starts From Here.", 'infoway'), "type" => "saperate", "class" => "saperator"), array("name" => __("Upload Home Page Image", 'infoway'), "desc" => __("Choose Image for Top feature Area. Optimal size is 950px wide and 363px height.", 'infoway'), "id" => "infoway_slideimage1", "std" => "", "type" => "upload"), array("name" => __("Home Page Image Link", 'infoway'), "desc" => __("Enter yout link url for Home page image", 'infoway'), "id" => "infoway_slidelink1", "std" => "", "type" => "text"), array("name" => __("Feature Settings", 'infoway'), "type" => "heading"), array("name" => __("Feature Page Heading", 'infoway'), "desc" => __("Enter your text for Feature page heading. (just below the slider section)", 'infoway'), "id" => "infoway_main_heading", "std" => "", "type" => "textarea"), array("name" => __("Front Page Feature Section Starts From Here.", 'infoway'), "type" => "saperate", "class" => "saperator"), array("name" => __("First Feature Heading", 'infoway'), "desc" => __("Enter your text for first col heading.", 'infoway'), "id" => "infoway_firsthead", "std" => "", "type" => "text"), array("name" => __("First Feature Description", 'infoway'), "desc" => __("Enter your text description.", 'infoway'), "id" => "infoway_firstdesc", "std" => "", "type" => "textarea"), array("name" => __("First Feature Link URL", 'infoway'), "desc" => __("Enter your link url for first feature section.", 'infoway'), "id" => "infoway_link1", "std" => "", "type" => "text"), array("name" => __("Second Feature Heading", 'infoway'), "desc" => __("Enter your text for second Feature heading.", 'infoway'), "id" => "infoway_secondhead", "std" => "", "type" => "text"), array("name" => __("Second Feature Description", 'infoway'), "desc" => __("Enter your text for second Feature description.", 'infoway'), "id" => "infoway_seconddesc", "std" => "", "type" => "textarea"), array("name" => __("Second Feature Link URL", 'infoway'), "desc" => __("Enter your link url for Second feature section.", 'infoway'), "id" => "infoway_link2", "std" => "", "type" => "text"), array("name" => __("Third Feature Heading", 'infoway'), "desc" => __("Enter your text for Third Feature heading.", 'infoway'), "id" => "infoway_thirdhead", "std" => "", "type" => "text"), array("name" => __("Third Feature Description", 'infoway'), "desc" => __("Enter your text for Third Feature description.", 'infoway'), "id" => "infoway_thirddesc", "std" => "", "type" => "textarea"), array("name" => __("Third Feature Link URL", 'infoway'), "desc" => __("Enter your link url for fourth Feature section.", 'infoway'), "id" => "infoway_link3", "std" => "", "type" => "text"), array("name" => __("Bottom Feature Start From Here.", 'infoway'), "type" => "saperate", "class" => "saperator"), array("name" => __("Testimonial Heading", 'infoway'), "desc" => __("Enter your text Testimonial Heading.", 'infoway'), "id" => "infoway_testimonial_head", "std" => "", "type" => "textarea"), array("name" => __("Testimonial Description", 'infoway'), "desc" => __("Enter your text Testimonial Description.", 'infoway'), "id" => "infoway_testimonial_desc", "std" => "", "type" => "textarea"), array("name" => __("Styling Options", 'infoway'), "type" => "heading"), array("name" => __("Custom CSS", 'infoway'), "desc" => __("Quickly add some CSS to your theme by adding it to this block.", 'infoway'), "id" => "infoway_customcss", "std" => "", "type" => "textarea")); infoway_update_option('of_template', $options); infoway_update_option('of_themename', $themename); infoway_update_option('of_shortname', $shortname); }
function infoway_option_setup() { //Update EMPTY options $of_array = array(); add_option('infoway_options', $of_array); $template = infoway_get_option('of_template'); $saved_options = infoway_get_option('infoway_options'); $std = ''; foreach ($template as $option) { if ($option['type'] != 'heading') { if (isset($option['id'])) { $id = $option['id']; } if (isset($option['std'])) { $std = $option['std']; } $db_option = infoway_get_option($id); if (empty($db_option)) { if (is_array($option['type'])) { foreach ($option['type'] as $child) { $c_id = $child['id']; $c_std = $child['std']; infoway_update_option($c_id, $c_std); $of_array[$c_id] = $c_std; } } else { infoway_update_option($id, $std); $of_array[$id] = $std; } } else { //So just store the old values over again. $of_array[$id] = $db_option; } } } infoway_update_option('infoway_options', $of_array); }
function infoway_ajax_callback() { global $wpdb; // this is how you get access to the database $save_type = $_POST['type']; //Uploads if ($save_type == 'upload') { $clickedID = $_POST['data']; // Acts as the name $filename = $_FILES[$clickedID]; $filename['name'] = preg_replace('/[^a-zA-Z0-9._\\-]/', '', $filename['name']); $override['test_form'] = false; $override['action'] = 'wp_handle_upload'; $uploaded_file = wp_handle_upload($filename, $override); $upload_tracking[] = $clickedID; infoway_update_option($clickedID, $uploaded_file['url']); if (!empty($uploaded_file['error'])) { echo 'Upload Error: ' . $uploaded_file['error']; } else { echo $uploaded_file['url']; } // Is the Response } elseif ($save_type == 'image_reset') { $id = $_POST['data']; // Acts as the name infoway_delete_option($id); } elseif ($save_type == 'options' or $save_type == 'framework') { $data = $_POST['data']; parse_str($data, $output); //verify the _wpnonce field $nonce = isset($output['_wpnonce']) ? $output['_wpnonce'] : ''; if (!wp_verify_nonce($nonce, 'theme-update-option')) { die("You Don\\'t have permission to access this page"); } //Pull options $options = infoway_get_option('of_template'); foreach ($options as $option_array) { $id = $option_array['id']; $old_value = infoway_get_option($id); $new_value = ''; if (isset($output[$id])) { $new_value = $output[$option_array['id']]; } if (isset($option_array['id'])) { // Non - Headings... $type = $option_array['type']; if (is_array($type)) { foreach ($type as $array) { if ($array['type'] == 'text') { $id = $array['id']; $std = $array['std']; $new_value = $output[$id]; if ($new_value == '') { $new_value = $std; } infoway_update_option($id, stripslashes($new_value)); } } } elseif ($new_value == '' && $type == 'checkbox') { // Checkbox Save infoway_update_option($id, 'false'); } elseif ($new_value == 'true' && $type == 'checkbox') { // Checkbox Save infoway_update_option($id, 'true'); } elseif ($type == 'multicheck') { // Multi Check Save $option_options = $option_array['options']; foreach ($option_options as $options_id => $options_value) { $multicheck_id = $id . "_" . $options_id; if (!isset($output[$multicheck_id])) { infoway_update_option($multicheck_id, 'false'); } else { infoway_update_option($multicheck_id, 'true'); } } } elseif ($type == 'typography') { $typography_array = array(); $typography_array['size'] = $output[$option_array['id'] . '_size']; $typography_array['face'] = stripslashes($output[$option_array['id'] . '_face']); $typography_array['style'] = $output[$option_array['id'] . '_style']; $typography_array['color'] = $output[$option_array['id'] . '_color']; infoway_update_option($id, $typography_array); } elseif ($type == 'border') { $border_array = array(); $border_array['width'] = $output[$option_array['id'] . '_width']; $border_array['style'] = $output[$option_array['id'] . '_style']; $border_array['color'] = $output[$option_array['id'] . '_color']; infoway_update_option($id, $border_array); } elseif ($type != 'upload_min') { infoway_update_option($id, stripslashes($new_value)); } } } } die; }