diff -r 000000000000 -r d970ebf37754 wp/wp-content/plugins/codecanyon-3027163-content-timeline-responsive-wordpress-plugin/content_timeline_class.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-content/plugins/codecanyon-3027163-content-timeline-responsive-wordpress-plugin/content_timeline_class.php Wed Nov 06 03:21:17 2013 +0000 @@ -0,0 +1,365 @@ +main = $file; + $this->init(); + return $this; + } + + function init() { + $this->path = dirname( __FILE__ ); + $this->name = basename( $this->path ); + $this->url = plugins_url( "/{$this->name}/" ); + if( is_admin() ) { + + register_activation_hook( $this->main , array(&$this, 'activate') ); + + add_action('admin_menu', array(&$this, 'admin_menu')); + + // Ajax calls + add_theme_support( 'post-thumbnails' ); + add_action('wp_ajax_ctimeline_save', array(&$this, 'ajax_save')); + add_action('wp_ajax_ctimeline_preview', array(&$this, 'ajax_preview')); + add_action('wp_ajax_ctimeline_post_search', array(&$this, 'ajax_post_search')); + add_action('wp_ajax_ctimeline_post_get', array(&$this, 'ajax_post_get')); + add_action('wp_ajax_ctimeline_post_category_get', array(&$this, 'ajax_post_category_get')); + add_action('wp_ajax_ctimeline_frontend_get', array(&$this, 'ajax_frontend_get')); + add_action('wp_ajax_nopriv_ctimeline_frontend_get', array(&$this, 'ajax_frontend_get')); + + } + else { + add_action('wp', array(&$this, 'frontend_includes')); + add_shortcode('content_timeline', array(&$this, 'shortcode') ); + } + } + + function activate() { + global $wpdb; + + $table_name = $wpdb->base_prefix . 'ctimelines'; + + if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) { + $royal_sliders_sql = "CREATE TABLE " . $table_name ." ( + id mediumint(9) NOT NULL AUTO_INCREMENT, + name tinytext NOT NULL COLLATE utf8_general_ci, + settings text NOT NULL COLLATE utf8_general_ci, + items text NOT NULL COLLATE utf8_general_ci, + PRIMARY KEY (id) + );"; + + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); + dbDelta($royal_sliders_sql); + } + + } + + function admin_menu() { + $ctmenu = add_menu_page( 'Content Timeline', 'Content Timeline', 'manage_options', 'contenttimeline', array(&$this, 'admin_page')); + $submenu = add_submenu_page( 'contenttimeline', 'Content Timeline', 'Add New', 'manage_options', 'contenttimeline_edit', array(&$this, 'admin_edit_page')); + + add_action('load-'.$ctmenu, array(&$this, 'admin_menu_scripts')); + add_action('load-'.$submenu, array(&$this, 'admin_menu_scripts')); + add_action('load-'.$ctmenu, array(&$this, 'admin_menu_styles')); + add_action('load-'.$submenu, array(&$this, 'admin_menu_styles')); + } + + function admin_menu_scripts() { + wp_enqueue_script('post'); + wp_enqueue_script('farbtastic'); + wp_enqueue_script('thickbox'); + wp_enqueue_script('ctimeline-admin-js', $this->url . 'js/ctimeline_admin.js' ); + wp_enqueue_script('jQuery-easing', $this->url . 'js/frontend/jquery.easing.1.3.js' ); + wp_enqueue_script('jQuery-timeline', $this->url . 'js/frontend/jquery.timeline.js' ); + + wp_enqueue_script('jQuery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js' ); + wp_enqueue_script('jQuery-mousew', $this->url . 'js/frontend/jquery.mousewheel.min.js' ); + wp_enqueue_script('jQuery-customScroll', $this->url . 'js/frontend/jquery.mCustomScrollbar.min.js' ); + } + + function admin_menu_styles() { + wp_enqueue_style('farbtastic'); + wp_enqueue_style('thickbox'); + wp_enqueue_style( 'ctimeline-admin-css', $this->url . 'css/ctimeline_admin.css' ); + wp_enqueue_style( 'ctimeline-thick-css', $this->url . 'css/thickbox.css' ); + wp_enqueue_style( 'timeline-css', $this->url . 'css/frontend/timeline.css' ); + wp_enqueue_style( 'customScroll-css', $this->url . 'css/frontend/jquery.mCustomScrollbar.css' ); + } + + function ajax_save() { + $id = false; + $settings = ''; + $items = ''; + foreach( $_POST as $key => $value) { + if ($key != 'action') { + if ($key == 'timeline_id'){ + if ($value != '') { + $id = (int)$value; + } + } + else if ($key == 'timeline_title'){ + $name = stripslashes($value); + } + else if(strpos($key,'sort') === 0){ + $items .= $key . '::' . stripslashes($value) . '||'; + } + else { + $settings .= $key . '::' . stripslashes($value) . '||'; + } + } + } + if ($items != '') $items = substr($items,0,-2); + if ($settings != '') $settings = substr($settings,0,-2); + global $wpdb; + $table_name = $wpdb->base_prefix . 'ctimelines'; + if($id) { + $wpdb->update( + $table_name, + array( + 'name'=>$name, + 'settings'=>$settings, + 'items'=>$items), + array( 'id' => $id ), + array( + '%s', + '%s', + '%s'), + array('%d') + ); + } + else { + $wpdb->insert( + $table_name, + array( + 'name'=>$name, + 'settings'=>$settings, + 'items'=>$items), + array( + '%s', + '%s', + '%s') + + ); + $id = $wpdb->insert_id; + } + + + echo $id; + die(); + } + + function ajax_preview() { + $tid = false; + $tsettings = ''; + $titems = ''; + foreach( $_POST as $key => $value) { + if ($key != 'action') { + if ($key == 'timeline_id'){ + if ($value != '') { + $tid = (int)$value; + } + } + else if ($key == 'timeline_title'){ + $tname = $value; + } + else if(strpos($key,'sort') === 0){ + $titems .= $key . '::' . $value . '||'; + } + else { + $tsettings .= $key . '::' . $value . '||'; + } + } + } + if ($titems != '') $titems = substr($titems,0,-2); + if ($tsettings != '') $tsettings = substr($tsettings,0,-2); + + include_once($this->path . '/pages/content_timeline_preview.php'); + + die(); + } + + function ajax_post_search(){ + if(isset($_POST['query']) && !empty($_POST['query'])){ + $searchVal = strtolower($_POST['query']); + } + else { + $searchVal = ''; + } + + $query_args = array( 'posts_per_page' => -1, 'post_type' => 'any'); + $query = new WP_Query( $query_args ); + + foreach ( $query->posts as $match) { + if($searchVal != ''){ + if(strpos(strtolower($match->post_name), $searchVal) !== false){ + $thumbn = wp_get_attachment_image_src( get_post_thumbnail_id($match->ID) , 'full'); + echo '
  • '.$match->post_title .'
  • '; + } + } + } + die(); + } + + function ajax_post_get($post_id = false){ + $id = (int) $_POST['post_id']; + if ($post_id) $id = $post_id; + $post = get_post($id); + + echo $post->post_title . '||'; + echo substr($post->post_date, 8, 2) . '/' . substr($post->post_date, 5, 2) . '/' . substr($post->post_date, 0, 4) . '||'; + $post_categories = get_the_category( $id ); + + echo $post_categories[0]->name . '||'; + $excerpt = $post->post_excerpt; + if ($excerpt == '' && $post->post_content != '') { + echo substr($post->post_content,0,100) . '...'; + } + + echo $excerpt . '||'; + if ( has_post_thumbnail($id)) { + echo wp_get_attachment_url( get_post_thumbnail_id($id , 'full')); + } + echo '||' . $post->post_content; + + if(!$post_id) { + die(); + } + + } + + function ajax_post_category_get() { + $cat_name = $_POST['cat_name']; + $term = get_term_by('name', $cat_name, 'category'); + $cat_id = $term->term_id; + + $the_query = new WP_Query( array( 'cat' => $cat_id, 'post_type' => 'any', 'posts_per_page'=>-1, 'order' => 'ASC')); + $start = true; + while ( $the_query->have_posts() ) : $the_query->the_post(); + if ($the_query->post->post_type != 'page') { + if (!$start) { + echo '||'; + } + $start = false; + $this->ajax_post_get($the_query->post->ID); + } + endwhile; + + die(); + } + + function ajax_frontend_get(){ + $timelineId = $_GET['timeline']; + $id = $_GET['id']; + + + global $wpdb; + if($timelineId) { + $timeline = $wpdb->get_results('SELECT * FROM ' . $wpdb->base_prefix . 'ctimelines WHERE id='.$timelineId); + $timeline = $timeline[0]; + + $cats = "["; + $catArray = array(); + $ccNumbers = array(); + $catNumber = 0; + + foreach(explode('||',$timeline->settings) as $val) { + $expl = explode('::',$val); + if(substr($expl[0], 0, 8) == 'cat-name') { + if($cats != "[") $cats .= ","; + $cc = get_cat_name(intval(substr($expl[0], 9))); + $cats .= "'".$cc."'"; + array_push ($catArray,$cc); + array_push ($ccNumbers, 0); + $catNumber++; + } + else { + $settings[$expl[0]] = $expl[1]; + } + + } + $cats .= "]"; + + + if ($timeline->items != '') { + $explode = explode('||',$timeline->items); + $open_content_height = intval($settings['item-height']) - intval($settings['item-open-image-height']) - 2*intval($settings['item-open-content-padding']) -intval($settings['item-open-image-border-width']) - 6; + + foreach ($explode as $it) { + $ex2 = explode('::', $it); + $key = substr($ex2[0],0,strpos($ex2[0],'-')); + $subkey = substr($ex2[0],strpos($ex2[0],'-')+1); + $itemsArray[$key][$subkey] = $ex2[1]; + } + + $arr = $itemsArray[$id]; + + + $frontHtml =''; + + if ($arr['item-open-image'] != '') { + $frontHtml .= ' + + +
    '; + + } + else { + $frontHtml .= ' +
    '; + } + + if ($arr['item-open-title'] != '') { + $frontHtml .= ' +

    '.$arr['item-open-title'].'

    '; + } + $frontHtml .= ' + ' . $arr['item-open-content'].' +
    '; + + echo do_shortcode($frontHtml); + } + + die(); + } + } + + + + function admin_page() { + include_once($this->path . '/pages/content_timeline_index.php'); + } + + function admin_edit_page() { + include_once($this->path . '/pages/content_timeline_edit.php'); + } + + function shortcode($atts) { + extract(shortcode_atts(array( + 'id' => '' + ), $atts)); + + include_once($this->path . '/pages/content_timeline_frontend.php'); + $frontHtml = preg_replace('/\s+/', ' ',$frontHtml); + + return do_shortcode($frontHtml); + } + + function frontend_includes() { + wp_enqueue_script('jquery'); + wp_enqueue_script('jQuery-easing', $this->url . 'js/frontend/jquery.easing.1.3.js' ); + wp_enqueue_script('jQuery-timeline', $this->url . 'js/frontend/jquery.timeline.js' ); + wp_enqueue_script('jQuery-mousew', $this->url . 'js/frontend/jquery.mousewheel.min.js' ); + wp_enqueue_script('jQuery-customScroll', $this->url . 'js/frontend/jquery.mCustomScrollbar.min.js' ); + wp_enqueue_script('jQuery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js' ); + wp_enqueue_script('rollover', $this->url . 'js/frontend/rollover.js' ); + wp_enqueue_script('jquery-prettyPhoto', $this->url . 'js/frontend/jquery.prettyPhoto.js' ); + + wp_enqueue_style( 'timeline-css', $this->url . 'css/frontend/timeline.css' ); + wp_enqueue_style( 'customScroll-css', $this->url . 'css/frontend/jquery.mCustomScrollbar.css' ); + wp_enqueue_style( 'prettyPhoto-css', $this->url . 'css/frontend/prettyPhoto.css' ); + + } +} +?> \ No newline at end of file