prefix . "aparg_flexslider"; $options_table_name = $wpdb->prefix . "aparg_flexslider_options"; $sliders_table_name = $wpdb->prefix . "aparg_flexslider_sliders"; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id int(3) NOT NULL AUTO_INCREMENT, slide_id int(3) NOT NULL, slide_url varchar(255) NOT NULL, slide_title varchar(255) NOT NULL, description text NOT NULL, youtubelink varchar(255) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; /* Including dbDelta function for working with DB */ dbDelta($sql); $sql = "CREATE TABLE $options_table_name ( id int(9) NOT NULL AUTO_INCREMENT, slider_id int(3) NOT NULL, slider_option_name varchar(30) NOT NULL, slider_option varchar(30) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; /* Including dbDelta function for working with DB */ dbDelta($sql); $sql = "CREATE TABLE $sliders_table_name ( slider_id int(3) NOT NULL, slider_name varchar(255) NOT NULL, PRIMARY KEY (slider_id) ) $charset_collate;"; dbDelta($sql); global $apsl_db_version; update_option('apsl_db_version', $apsl_db_version); } register_activation_hook(__FILE__, 'apsl_addmyplugin'); /* * Checking old versons of slider, adding youtube link into db. */ function apsl_youtube_db() { global $apsl_db_version; if (get_option('apsl_db_version') != $apsl_db_version) { apsl_addmyplugin(); } } add_action('plugins_loaded', 'apsl_youtube_db'); /* * Making plugin translation ready */ add_action('plugins_loaded', 'apsl_slider_text_domain'); function apsl_slider_text_domain() { load_plugin_textdomain('aparg-slider', dirname(__FILE__) . '/languages/', basename(dirname(__FILE__)) . '/languages/'); } /* * Slider Help Part */ function apsl_contextual_help($contextual_help) { global $current_screen; $cont_help = "
" . __("Hi, this is a APARG Slider help", "aparg-slider") . ".
" . "" . __("To use our slider plugin at first you should add a slider by clicking on the '+' tab", "aparg-slider") . ".
" . "" . __("Then you'll see default slider settings on right side and blank area on the left side where you can add slides(click 'Add Images') with their descriptions('Add Description')", "aparg-slider") . ".
" . "" . __("After that save current slide information", "aparg-slider") . "
" . "" . __("Our slider plugin advantages", "aparg-slider") . "" . "" . __("Note", "aparg-slider") . ": " . __("If all descriptions are empty their options(background and text color) are inactive", "aparg-slider") . ".
" . "" . __("It not suggest to put slide show speed less than animation speed, it may cause slider undesirable behavior", "aparg-slider") . ".
"; switch ($current_screen->id) { case 'toplevel_page_apargslider' : get_current_screen()->add_help_tab(array( 'id' => 'apargslider-help-tab', 'title' => __('APARG Slider Help', 'aparg-slider'), 'content' => $cont_help )); break; } return $contextual_help; } add_filter('contextual_help', 'apsl_contextual_help'); /* * Including scripts and styles to admin page */ add_action('admin_init', 'apsl_my_plugin_scripts'); function apsl_my_plugin_scripts() { if (is_admin() && isset($_GET['page']) && $_GET['page'] == 'apargslider') { global $wp_scripts; wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-sortable'); wp_enqueue_script('jquery-ui-dialog'); $ui = $wp_scripts->query('jquery-ui-core'); wp_enqueue_style('jquery-dialog-style', plugins_url("css/jquery-ui/jquery-ui-1.10.4.css", __FILE__)); wp_enqueue_media(); wp_register_style('cpicker_styles', plugins_url('colorpicker/css/colorpicker.css', __FILE__)); wp_enqueue_style('cpicker_styles'); wp_register_style('custom_styles', plugins_url('css/plugin-styles.css', __FILE__), false, false, 'all'); wp_enqueue_style('custom_styles'); wp_register_script('cpicker_scripts', plugins_url('colorpicker/js/colorpicker.js', __FILE__)); wp_enqueue_script('cpicker_scripts'); wp_register_script('youtube_scripts', plugins_url('js/jsvideourlparser.js', __FILE__)); wp_enqueue_script('youtube_scripts'); wp_register_script('custom_scripts', plugins_url('js/aparg-slider.js', __FILE__), array('jquery', 'jquery-ui-core')); wp_enqueue_script('custom_scripts'); //Add script to use alternatively media query in IE8 wp_register_script('respond_scripts', plugins_url('js/respond.min.js', __FILE__)); wp_enqueue_script('respond_scripts'); $nonce = wp_create_nonce('aparg-slider'); $apsl_localize_array = array( 'url' => admin_url('admin-ajax.php'), 'leavingPage' => __("Leaving this page will cause any unsaved data to be lost.", "aparg-slider"), 'urlErrMessage' => __('Please insert a valid video link.', "aparg-slider"), 'loadImg' => plugins_url('/images/ajax_loader.gif', __FILE__), 'clikChangeImg' => __('Click to change image', 'aparg-slider'), 'addDescription' => __('Add Description', 'aparg-slider'), 'delDescription' => __('Delete Description', 'aparg-slider'), 'typeDescription' => __('Type Description', 'aparg-slider'), 'set' => __('Set', 'aparg-slider'), 'chooseResolution' => __('Choose high resolution image', 'aparg-slider'), 'cantFindThumb' => __("Sorry can't find thumbnail for this video", 'aparg-slider'), 'nonce' => $nonce ); wp_localize_script('custom_scripts', 'slider', $apsl_localize_array); } } /* * Including scripts and styles to front end */ add_action('get_header', 'apsl_load_custom_files'); function apsl_load_custom_files() { if (!is_admin()) { wp_enqueue_scripts('jquery'); // **** // wp_register_style('flexslider_style', plugins_url('css/flexslider.css', __FILE__)); wp_enqueue_style('flexslider_style'); wp_register_style('flexslider_custom_style', plugins_url('css/flexsliderstyles.css', __FILE__)); wp_enqueue_style('flexslider_custom_style'); wp_register_script('flexslider_scripts', plugins_url('js/jquery.flexslider.js', __FILE__), array('jquery', 'jquery-ui-core',)); wp_enqueue_script('flexslider_scripts'); wp_register_script('bigSlider_scripts', plugins_url('js/aparg-big-slider.js', __FILE__)); wp_enqueue_script('bigSlider_scripts'); wp_register_script('youtube_scripts', plugins_url('js/jsvideourlparser.js', __FILE__)); wp_enqueue_script('youtube_scripts'); } } /* * Function for generating random id for each slider */ function apsl_RandomString() { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < 5; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } /* * Generating Shortcode for each slider */ add_shortcode('aparg_slider', 'apsl_slider_func'); function apsl_slider_func($atts) { $slide_id = apsl_RandomString(); add_action('wp_head', 'load_custom_files'); $sliders = apsl_get_all_sliders(); $get_slides_content = apsl_get_slider_data($atts['id']); $slide_option = apsl_get_slider_settings($atts['id']); $output = ''; $img = ''; $dsc = ''; $link = ''; $str = ''; $img_titles = array(); if (!empty($slide_option) && !empty($get_slides_content)) { foreach ($get_slides_content as $key => $value) { if ($key != count($get_slides_content) - 1) { $img.= $value->slide_url . '*'; $dsc.= $value->description . '*'; $link.=$value->youtubelink . '*'; } else { $img.= $value->slide_url; $dsc.= $value->description; $link.=$value->youtubelink; } $img_titles[$key] = $value->slide_title; } foreach ($slide_option['slider_options'] as $key => $value): $str.= '' . $key . '=' . $value . ' '; endforeach; extract(shortcode_atts(array( 'wrapper_class' => 'apargSlider', 'images' => '' . $img . '', 'desc' => '' . $dsc, 'link' => '' . $link, 'options' => '' . rtrim($str) . '', ), $atts)); $images = explode('*', $images); $descs = explode('*', $desc); $links = explode('*', $link); $opt = explode(' ', $options); $slider_settings = array(); foreach ($opt as $val) { $s = explode('=', $val); $slider_settings[$s[0]] = $s[1]; } $slider_settings['carousel_item_width'] = isset($slider_settings['carousel_item_width']) ? $slider_settings['carousel_item_width'] : ''; $slider_settings['desc_bg_color'] = isset($slider_settings['desc_bg_color']) ? $slider_settings['desc_bg_color'] : ''; $slider_settings['desc_text_color'] = isset($slider_settings['desc_text_color']) ? $slider_settings['desc_text_color'] : ''; $slider_settings['desc_duration'] = isset($slider_settings['desc_duration']) ? $slider_settings['desc_duration'] : ''; $slider_width = (isset($slider_settings['slider_width']) && $slider_settings['slider_width'] != "") ? $slider_settings['slider_width'] : "100%"; $slider_height = (isset($slider_settings['slider_height']) && $slider_settings['slider_height'] != "") ? $slider_settings['slider_height'] : "auto"; $animationLoop = ($slider_settings['carousel'] == "1") ? "false" : "true"; $autoPlay = ($slider_settings['autoPlay'] == "0" ? "false" : "true"); $pauseOnHover = ($slider_settings['pauseOnHover'] == "0") ? "false" : "true"; $controlNav = ($slider_settings['controlNav'] == "0") ? "false" : "true"; $directionNav = ($slider_settings['directionNav'] == "0") ? "false" : "true"; $randomize = ($slider_settings['randomize'] == "0") ? "false" : "true"; $itemWidth = (($slider_settings['carousel_item_width'] != "") ? 'itemWidth:' . $slider_settings['carousel_item_width'] . ',' : ''); $item_margin = 'itemMargin:' . (($slider_settings['carousel'] == "1") ? 10 : 0); $smoothHeight = ((preg_match('/(px)/', $slider_height, $result)) > 0) ? 'false' : 'true'; $output.=""; $output.='