WordPress.org

Plugin Directory

Changeset 1562241


Ignore:
Timestamp:
12/26/16 20:35:50 (6 months ago)
Author:
TemplateMonster 2002
Message:

Version bump to 1.0.5

Location:
tm-timeline/trunk
Files:
4 added
12 edited

Legend:

Unmodified
Added
Removed
  • tm-timeline/trunk/admin/classes/class-tm-timeline-admin.php

    r1504501 r1562241  
    11<?php 
    22/** 
    3  * Provide admin-related functionality 
     3 * Provide admin-related functionality. 
    44 * 
    55 * @package    Tm_Timeline 
     
    1313 
    1414/** 
    15  * Register class if it does not exists already 
     15 * Register class if it does not exists already. 
    1616 */ 
    17 if ( false === class_exists( 'Tm_Timeline_Admin' ) ) { 
     17if ( ! class_exists( 'Tm_Timeline_Admin' ) ) { 
    1818 
    1919    // Load Tm_Timeline if class was not initialized yet. 
    20     if ( false === class_exists( 'Tm_Timeline' ) ) { 
    21         require tm_plugin_path( 'classes/class-tm-timeline.php' ); 
     20    if ( ! class_exists( 'Tm_Timeline' ) ) { 
     21        require tm_timeline_plugin_path( 'classes/class-tm-timeline.php' ); 
    2222    } 
    2323 
    2424    // Load Tm_Timeline_View if class was not initialized yet. 
    25     if ( false === class_exists( 'Tm_Timeline_View' ) ) { 
    26         require tm_plugin_path( 'classes/class-tm-timeline-view.php' ); 
     25    if ( ! class_exists( 'Tm_Timeline_View' ) ) { 
     26        require tm_timeline_plugin_path( 'classes/class-tm-timeline-view.php' ); 
    2727    } 
    2828 
    2929    /** 
    30      * Class contains admin-related functionality 
     30     * Class contains admin-related functionality. 
    3131     */ 
    3232    class Tm_Timeline_Admin { 
    3333 
    3434        /** 
    35          * Determine if initialization is required 
    36          * 
    37          * @var Boolean 
     35         * Determine if initialization is required. 
     36         * 
     37         * @var bool 
    3838         */ 
    3939        private static $_initialized = false; 
    4040 
    4141        /** 
    42          * Views renderer 
     42         * Views renderer. 
    4343         * 
    4444         * @var Tm_Timeline_View Timeline view instance 
     
    4747 
    4848        /** 
    49          * Initialize plugin admin 
     49         * Initialize plugin admin. 
     50         * 
     51         * @since 1.0.0 
     52         * @since 1.0.5 Changed js/css registration - added `Tm_Timeline_Admin::assets` method. 
    5053         */ 
    5154        public static function initialize() { 
     55 
    5256            // Initialize only if not initialized already 
    5357            if ( false === self::$_initialized ) { 
    5458 
    55                 $views_path   = tm_plugin_path( 'admin/views' ); 
     59                $views_path  = tm_timeline_plugin_path( 'admin/views' ); 
    5660                self::$_view = new Tm_Timeline_View( $views_path ); 
    5761 
     
    7478                        'Tm_Timeline_Admin', 
    7579                        'save_post_event_date', 
    76                     ) 
     80                    ), 
     81                    10, 2 
    7782                ); 
    7883 
     
    99104 
    100105                add_action( 
    101                     'load-timeline_post_page_timeline_create', array( 
    102                         'Tm_Timeline_Admin', 
    103                         'styles', 
    104                     ) 
    105                 ); 
    106  
    107                 add_action( 
    108                     'load-timeline_post_page_timeline_create', array( 
    109                         'Tm_Timeline_Admin', 
    110                         'scripts', 
     106                    'admin_enqueue_scripts', array( 
     107                        'Tm_Timeline_Admin', 
     108                        'assets', 
    111109                    ) 
    112110                ); 
     
    117115 
    118116        /** 
    119          * Initialize admin menu 
     117         * Initialize admin menu. 
    120118         */ 
    121119        public static function menu() { 
     
    125123 
    126124            // Rename Timeline sub-menu item into Posts 
    127             $submenu[ $url ][5][0] = __( 'Posts', 'tm-timeline' ); 
     125            $submenu[ $url ][5][0] = esc_html__( 'Posts', 'tm-timeline' ); 
    128126 
    129127            // Add shortcode generator page to the Timeline sub-menu 
    130128            add_submenu_page( 
    131129                $url, 
    132                 __( 'TM Timeline', 'tm-timeline' ), 
    133                 __( 'Settings', 'tm-timeline' ), 
     130                esc_html__( 'TM Timeline', 'tm-timeline' ), 
     131                esc_html__( 'Settings', 'tm-timeline' ), 
    134132                'manage_options', 
    135                 'timeline_create', 
     133                Tm_Timeline_Admin::get_menu_slug(), 
    136134                array( 
    137135                    'Tm_Timeline_Admin', 
     
    142140 
    143141        /** 
    144          * Attach admin styles 
    145          */ 
    146         public static function styles() { 
     142         * Retrieve a slug for setting page. 
     143         * 
     144         * @since 1.0.5 
     145         */ 
     146        public static function get_menu_slug() { 
     147            return apply_filters( 'tm_timeline_admin_menu_slug', 'timeline_create' ); 
     148        } 
     149 
     150        /** 
     151         * Attach admin javascript and styleshet. 
     152         * 
     153         * @since 1.0.5 
     154         */ 
     155        public static function assets( $hook ) { 
     156            $menu_slug = Tm_Timeline_Admin::get_menu_slug(); 
     157 
     158            if ( false === stripos( $hook, $menu_slug ) ) { 
     159                return; 
     160            } 
     161 
     162            $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; 
     163 
     164            wp_enqueue_script( 
     165                'tm-timeline-admin-js', 
     166                tm_timeline_plugin_url( "/admin/js/tm-timeline{$suffix}.js" ), 
     167                array( 'jquery' ), 
     168                TM_TIMELINE_VERSION, 
     169                true 
     170            ); 
     171 
    147172            wp_enqueue_style( 
    148                 'timeline-admin-css', 
    149                 tm_plugin_url( '/admin/css/tm-timeline.css' ) 
    150             ); 
    151         } 
    152  
    153         /** 
    154          * Attach admin javascript 
    155          */ 
    156         public static function scripts() { 
    157             wp_enqueue_script( 
    158                 'timeline-admin-js', 
    159                 tm_plugin_url( '/admin/js/tm-timeline.js' ), 
    160                 array( 
    161                     'jquery', 
    162                 ), 
    163                 '1.0.0', 
    164                 true 
     173                'tm-timeline-admin-css', 
     174                tm_timeline_plugin_url( "/admin/css/tm-timeline{$suffix}.css" ), 
     175                array(), 
     176                TM_TIMELINE_VERSION 
    165177            ); 
    166178        } 
     
    172184            add_meta_box( 
    173185                'post-event-date', 
    174                 __( 'Timeline Date', 'tm-timeline' ), 
     186                esc_html__( 'Timeline Date', 'tm-timeline' ), 
    175187                array( 
    176188                    'Tm_Timeline_Admin', 
     
    184196 
    185197        /** 
    186          * Render the `post-event-date` custom field 
    187          * 
    188          * @param WP_Post $post Wordpress post. 
     198         * Render the `post-event-date` custom field. 
     199         * 
     200         * @param WP_Post $post WordPress post. 
    189201         * @param array   $atts Metabox options. 
    190202         */ 
     
    193205            array $atts 
    194206        ) { 
    195             // Gather the values 
     207            // Gather the values. 
    196208            $id    = $atts['id']; 
    197209            $title = $atts['title']; 
     
    214226 
    215227        /** 
    216          * Initialize metabox assets 
     228         * Initialize metabox assets. 
    217229         */ 
    218230        public static function init_meta_box_assets() { 
    219231            global $wp_scripts; 
    220232 
    221             // Attach the assets for jquery's datepicker 
     233            $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; 
     234 
     235            // Attach the assets for jquery's datepicker. 
    222236            wp_enqueue_script( 'jquery-ui-datepicker' ); 
    223237 
     
    230244 
    231245            $jqui_theme = 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . $version 
    232                 . '/themes/smoothness/jquery-ui.css'; 
    233  
    234             wp_enqueue_style( 'jquery-ui-core', $jqui_theme, false, false, null ); 
    235  
    236             // Attach admin styles for the metabox 
     246                . "/themes/smoothness/jquery-ui{$suffix}.css"; 
     247 
     248            wp_enqueue_style( 'jquery-ui-core', $jqui_theme, false, $version ); 
     249 
     250            // Attach admin styles for the metabox. 
    237251            wp_enqueue_style( 
    238                 'post-event-date', 
    239                 tm_plugin_url( '/admin/css/tm-timeline.css' ) 
     252                'tm-timeline-post-event-date', 
     253                tm_timeline_plugin_url( "/admin/css/tm-timeline{$suffix}.css" ), 
     254                array( 'jquery-ui-core' ), 
     255                TM_TIMELINE_VERSION 
    240256            ); 
    241257        } 
     
    248264         * @return int 
    249265         */ 
    250         public static function save_post_event_date( $post_id ) { 
     266        public static function save_post_event_date( $post_id, $post ) { 
    251267 
    252268            // Check if values are passed 
     
    287303        public static function add_table_columns( array $columns ) { 
    288304            $post_event_date_column = array( 
    289                 'post-event-date' => __( 'Timeline Date', 'tm-timeline' ), 
     305                'post-event-date' => esc_html__( 'Timeline Date', 'tm-timeline' ), 
    290306            ); 
    291307 
     
    321337        public static function register_sortable_table_columns( array $columns ) { 
    322338            $columns['post-event-date'] = array( 
    323                 __( 'Timeline Date', 'tm-timeline' ) 
     339                esc_html__( 'Timeline Date', 'tm-timeline' ) 
    324340            ); 
    325341 
     
    328344 
    329345        /** 
    330          * Render & output the shortcode generator page (also known as `Settings`) 
     346         * Render & output the shortcode generator page (also known as `Settings`). 
    331347         * 
    332348         * @throws Exception If view file was not found or renderer has no access to read it. 
    333349         */ 
    334350        public static function handle_settings() { 
    335             // Get available layouts & date formats 
    336             $timeline_layouts    = Tm_Timeline::get_supported_layouts(); 
     351            // Get available layouts & date formats. 
     352            $timeline_layouts     = Tm_Timeline::get_supported_layouts(); 
    337353            $timeline_date_format = Tm_Timeline::get_supported_date_formats(); 
    338354 
     
    347363            $content = self::$_view->render( 
    348364                'settings', array( 
    349                     'tags'               => $tags, 
    350                     'timeline_layouts'    => $timeline_layouts, 
     365                    'tags'                 => $tags, 
     366                    'timeline_layouts'     => $timeline_layouts, 
    351367                    'timeline_date_format' => $timeline_date_format, 
    352368                    'sort_orders' => array( 
    353                         'ASC' => __( 'Ascending', 'tm-timeline' ), 
    354                         'DESC' => __( 'Descending', 'tm-timeline' ), 
     369                        'ASC'  => esc_html__( 'Ascending', 'tm-timeline' ), 
     370                        'DESC' => esc_html__( 'Descending', 'tm-timeline' ), 
    355371                    ), 
    356372                ) 
  • tm-timeline/trunk/classes/class-tm-timeline-view.php

    r1460088 r1562241  
    1313 
    1414/** 
    15  * Register class if it does not exists already 
     15 * Register class if it does not exists already. 
    1616 */ 
    17 if ( false === class_exists( 'Tm_Timeline_View' ) ) { 
     17if ( ! class_exists( 'Tm_Timeline_View' ) ) { 
    1818 
    1919    /** 
    20      * Simple views rendering utility class 
     20     * Simple views rendering utility class. 
    2121     */ 
    2222    class Tm_Timeline_View { 
    2323        /** 
    24          * View files extension 
    25          * 
    26          * @const String 
     24         * View files extension. 
     25         * 
     26         * @const string 
    2727         */ 
    2828        const EXT = '.php'; 
    2929 
    3030        /** 
    31          * Views base directory path 
    32          * 
    33          * @var String 
     31         * Views base directory path. 
     32         * 
     33         * @var string 
    3434         */ 
    3535        private $_view_path; 
    3636 
    3737        /** 
    38          * Stores variables passed to view 
     38         * Stores variables passed to view. 
    3939         * 
    4040         * @var array 
     
    5050         */ 
    5151        public function __construct( $view_path = '' ) { 
     52 
    5253            if ( false === is_dir( $view_path ) || 
    5354                false === is_readable( $view_path ) 
     
    5556                throw new Exception( 'Invalid views path!' ); 
    5657            } 
     58 
    5759            $this->_view_path = $view_path; 
    5860        } 
    5961 
    6062        /** 
    61          * Render and return view file content 
    62          * 
    63          * @param String $filename       View file path or name. 
     63         * Render and return view file content. 
     64         * 
     65         * @since 1.0.0 
     66         * @since 1.0.5 Extended array of template files to search for. 
     67         * @param string $filename       View file path or name. 
    6468         * @param array  $vars           Variables that should be exported into 
    6569         *                               the view scope. `$filepath` variable is accessible 
     
    6771         *                               path. 
    6872         * 
    69          * @return String Rendered result 
     73         * @return string Rendered result 
    7074         */ 
    7175        public function render( $filename = '', array $vars = array() ) { 
     76            $filename = basename( $filename ); 
    7277            $filepath = false; 
    7378 
     
    7580                false === strstr( $this->_view_path, 'admin' ) 
    7681            ) { 
    77                 // Search for `tm-timeline_$filename` 
    78                 $filepath = locate_template( 'tm-timeline_' . basename( $filename ) . self::EXT ); 
    79             } 
    80  
    81             // If no file path found, use default value 
     82                // Array of template files to search for. 
     83                $template_names = array(); 
     84                $template_names[] = 'tm-timeline_' . $filename . self::EXT; 
     85                $template_names[] = 'tm-timeline/' . $filename . self::EXT; 
     86 
     87                $filepath = locate_template( $template_names ); 
     88            } 
     89 
     90            // If no file path found, use default value. 
    8291            if ( false === $filepath || 
    8392                empty( $filepath ) 
     
    8695            } 
    8796 
    88             // Allow 3rd party plugins to set the view 
     97            // Allow 3rd party plugins to set the view. 
    8998            $filepath = apply_filters( 'tm_timeline_view_file', $filepath ); 
    9099 
     
    96105            } 
    97106 
     107            /** 
     108             * Filter a variables that passed to view file. 
     109             * 
     110             * @since 1.0.5 
     111             */ 
     112            $vars = apply_filters( 'tm_timeline_render_vars', $vars, $filename ); 
     113 
    98114            // Export vars to the view 
    99115            $this->set_vars( $vars ); 
     
    108124 
    109125        /** 
    110          * Validate a path 
    111          * 
    112          * @param String $filepath Path to a file. 
    113          * 
     126         * Validate a path. 
     127         * 
     128         * @param  string $filepath Path to a file. 
    114129         * @return bool 
    115130         */ 
     
    124139 
    125140        /** 
    126          * Set view variables 
    127          * 
    128          * @param array $vars Variables collection. 
    129          * 
     141         * Set view variables. 
     142         * 
     143         * @param  array $vars Variables collection. 
    130144         * @return Tm_Timeline_View 
    131145         */ 
     
    137151 
    138152        /** 
    139          * Return view variables 
     153         * Return view variables. 
    140154         * 
    141155         * @return array 
     
    146160 
    147161        /** 
    148          * Check if view variable exists 
    149          * 
    150          * @param string $name Variable name. 
    151          * 
     162         * Check if view variable exists. 
     163         * 
     164         * @param  string $name Variable name. 
    152165         * @return bool 
    153166         */ 
    154167        public function has_var( $name = '' ) { 
     168 
    155169            if ( empty( $name ) ) { 
    156170                return false; 
    157171            } 
     172 
    158173            return isset( $this->_vars[ $name ] ); 
    159174        } 
    160175 
    161176        /** 
    162          * Get view variable value 
    163          * 
    164          * @param string $name Variable name. 
    165          * @param mixed  $default_value Default value returned if no value found. 
    166          * 
     177         * Get view variable value. 
     178         * 
     179         * @param  string $name Variable name. 
     180         * @param  mixed  $default_value Default value returned if no value found. 
    167181         * @return mixed 
    168182         */ 
    169183        public function get_var( $name = '', $default_value = null ) { 
     184 
    170185            if ( false === $this->has_var( $name ) ) { 
    171186                return $default_value; 
     
    176191 
    177192        /** 
    178          * Set view variable value 
     193         * Set view variable value. 
     194         * 
     195         * @param  string $name  Variable name. 
     196         * @param  mixed  $value Variable value. 
     197         * @return $this 
     198         */ 
     199        public function set_var( $name = '', $value = null ) { 
     200 
     201            if ( empty( $name ) ) { 
     202                return false; 
     203            } 
     204 
     205            $this->_vars[ $name ] = $value; 
     206 
     207            return $this; 
     208        } 
     209 
     210        /** 
     211         * Magic method for accessing view variables. 
     212         * 
     213         * @param  string $name Variable name. 
     214         * @return mixed Variable value 
     215         */ 
     216        public function __get( $name = '' ) { 
     217            return $this->get_var( $name ); 
     218        } 
     219 
     220        /** 
     221         * Magic method for setting the view variable value. 
    179222         * 
    180223         * @param string $name  Variable name. 
    181224         * @param mixed  $value Variable value. 
    182          * 
    183          * @return $this 
    184          */ 
    185         public function set_var( $name = '', $value = null ) { 
    186             if ( empty( $name ) ) { 
    187                 return false; 
    188             } 
    189  
    190             $this->_vars[ $name ] = $value; 
    191  
    192             return $this; 
    193         } 
    194  
    195         /** 
    196          * Magic method for accessing view variables 
    197          * 
    198          * @param string $name Variable name. 
    199          * 
    200          * @return mixed Variable value 
    201          */ 
    202         public function __get( $name = '' ) { 
    203             return $this->get_var( $name ); 
    204         } 
    205  
    206         /** 
    207          * Magic method for setting the view variable value 
    208          * 
    209          * @param string $name  Variable name. 
    210          * @param mixed  $value Variable value. 
    211225         */ 
    212226        public function __set( $name = '', $value = null ) { 
  • tm-timeline/trunk/classes/class-tm-timeline.php

    r1495187 r1562241  
    11<?php 
    22/** 
    3  * Provide front-end related functionality 
     3 * Provide front-end related functionality. 
    44 * 
    55 * @package    Tm_Timeline 
     
    1313 
    1414/** 
    15  * Register class if it does not exists already 
     15 * Register class if it does not exists already. 
    1616 */ 
    17 if ( false === class_exists( 'Tm_Timeline' ) ) { 
     17if ( ! class_exists( 'Tm_Timeline' ) ) { 
    1818 
    1919    // Load Tm_Timeline_View if class was not initialized yet. 
    20     if ( false === class_exists( 'Tm_Timeline_View' ) ) { 
    21         require tm_plugin_path( 'classes/class-tm-timeline-view.php' ); 
     20    if ( ! class_exists( 'Tm_Timeline_View' ) ) { 
     21        require tm_timeline_plugin_path( 'classes/class-tm-timeline-view.php' ); 
    2222    } 
    2323 
    2424    /** 
    25      * Class contains front-end related functionality 
     25     * Class contains front-end related functionality. 
    2626     */ 
    2727    class Tm_Timeline { 
     
    3030         * Determine if initialization is required 
    3131         * 
    32          * @var Boolean Initialized flag 
     32         * @var bool Initialized flag 
    3333         */ 
    3434        private static $_initialized = false; 
    3535 
    3636        /** 
    37          * Views renderer 
     37         * Views renderer. 
    3838         * 
    3939         * @var Tm_Timeline_View View renderer instance 
     
    4242 
    4343        /** 
    44          * Initialize plugin frontend 
     44         * Initialize plugin frontend. 
     45         * 
     46         * @since 1.0.0 
     47         * @since 1.0.5 Change to enqueued scripts - added call to action `wp_enqueue_scripts`. 
    4548         */ 
    4649        public static function initialize() { 
     50 
    4751            // Initialize only if not initialized already 
    48             if ( false === self::$_initialized ) { 
    49  
    50                 $views_path   = tm_plugin_path( 'views' ); 
     52            if ( ! self::$_initialized ) { 
     53 
     54                $views_path  = tm_timeline_plugin_path( 'views' ); 
    5155                self::$_view = new Tm_Timeline_View( $views_path ); 
    5256 
     
    5458                self::init_shortcode(); 
    5559                self::init_filters(); 
    56                 self::init_shortcode_assets(); 
     60 
     61                add_action( 'wp_enqueue_scripts', array( 'Tm_Timeline', 'init_shortcode_assets' ) ); 
    5762 
    5863                self::$_initialized = false; 
     
    6166 
    6267        /** 
    63          * Initialize custom post type 
     68         * Initialize custom post type. 
     69         * 
     70         * @since 1.0.0 
     71         * @since 1.0.5 Added `tm_timeline_register_post_type_args`, `tm_timeline_register_taxonomy_args` filters. 
    6472         */ 
    6573        public static function init_post_type() { 
    6674            $post_labels = array( 
    67                 'name'      => __( 'Timeline Posts', 'tm-timeline' ), 
    68                 'singular'  => __( 'Timeline Post', 'tm-timeline' ), 
    69                 'menu_name' => __( 'TM Timeline', 'tm-timeline' ), 
     75                'name'      => esc_html__( 'Timeline Posts', 'tm-timeline' ), 
     76                'singular'  => esc_html__( 'Timeline Post', 'tm-timeline' ), 
     77                'menu_name' => esc_html__( 'TM Timeline', 'tm-timeline' ), 
    7078            ); 
    7179 
    7280            register_post_type( 
    73                 'timeline_post', array( 
     81                'timeline_post', 
     82                apply_filters( 'tm_timeline_register_post_type_args', array( 
    7483                    'labels'              => $post_labels, 
    7584                    'capability_type'     => 'post', 
    76                     'description'         => 'Timeline post item', 
     85                    'description'         => esc_html__( 'Timeline post item', 'tm-timeline' ), 
    7786                    'exclude_from_search' => false, 
    7887                    'public'              => true, 
     
    8493                        'slug' => 'timeline-post', 
    8594                    ), 
    86                     'taxonomies'          => array( 
     95                    'taxonomies' => array( 
    8796                        'timeline_post_tag', 
    8897                    ), 
    89                     'supports'            => array( 
     98                    'supports'  => array( 
    9099                        'title', 
    91100                        'editor', 
    92101                        'custom_fields', 
    93102                    ), 
    94                 ) 
     103                ) ) 
    95104            ); 
    96105 
    97106            $tag_labels = array( 
    98                 'name'     => __( 'Tags' ), 
    99                 'singular' => __( 'Tag' ), 
     107                'name'     => esc_html__( 'Tags', 'tm-timeline' ), 
     108                'singular' => esc_html__( 'Tag', 'tm-timeline' ), 
    100109            ); 
    101110 
    102111            register_taxonomy( 
    103                 'timeline_post_tag', 'timeline_post', array( 
     112                'timeline_post_tag', 
     113                'timeline_post', 
     114                apply_filters( 'tm_timeline_register_taxonomy_args', array( 
    104115                    'labels'              => $tag_labels, 
    105                     'description'         => 'Timeline post tag', 
     116                    'description'         => esc_html__( 'Timeline post tag', 'tm-timeline' ), 
    106117                    'exclude_from_search' => false, 
    107118                    'publicly_queryable'  => true, 
     
    112123                        'slug' => 'tm-timeline', 
    113124                    ), 
    114                 ) 
    115             ); 
    116         } 
    117  
    118         /** 
    119          * Initialize shortcode 
     125                ) ) 
     126            ); 
     127        } 
     128 
     129        /** 
     130         * Initialize shortcode. 
    120131         */ 
    121132        public static function init_shortcode() { 
     
    129140 
    130141        /** 
    131          * Plugin uninstall handler 
    132          * 
    133          * @return Boolean If uninstall completed successfully 
     142         * Plugin uninstall handler. 
     143         * 
     144         * @return bool 
    134145         */ 
    135146        public static function uninstall() { 
    136             if ( false === defined( 'WP_UNINSTALL_PLUGIN' ) ) { 
     147 
     148            if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { 
    137149                exit(); 
    138150            } 
     
    142154 
    143155        /** 
    144          * Get default shortcode configuration 
    145          * 
     156         * Get default shortcode configuration. 
     157         * 
     158         * @since 1.0.0 
     159         * @since 1.0.5 Added `tm_timeline_shortcode_default_attrs` filter. 
    146160         * @return array 
    147161         */ 
    148162        public static function get_default_attrs() { 
    149             return array( 
     163            return apply_filters( 'tm_timeline_shortcode_default_attrs', array( 
    150164                'layout'        => 1, // Horizontal layout 
    151165                'visible-items' => 5, // 5 visible items 
     
    154168                'anchors'       => true, // Post title as anchor to the post 
    155169                'order'         => 'DESC', // Sort order (ASC|DESC) 
    156             ); 
    157         } 
    158  
    159         /** 
    160          * Get supported layouts list 
    161          * 
     170            ) ); 
     171        } 
     172 
     173        /** 
     174         * Get supported layouts list. 
     175         * 
     176         * @since 1.0.0 
     177         * @since 1.0.5 Added `tm_timeline_shortcode_supported_layouts` filter. 
    162178         * @return array 
    163179         */ 
    164180        public static function get_supported_layouts() { 
    165             return array( 
     181            return apply_filters( 'tm_timeline_shortcode_supported_layouts', array( 
    166182                0 => array( 
    167                     'title' => __( 'Horizontal', 'tm-timeline' ), 
     183                    'title' => esc_html__( 'Horizontal', 'tm-timeline' ), 
    168184                    'view'  => 'horizontal', 
    169185                ), 
    170186                1 => array( 
    171                     'title' => __( 'Vertical', 'tm-timeline' ), 
     187                    'title' => esc_html__( 'Vertical', 'tm-timeline' ), 
    172188                    'view'  => 'vertical', 
    173189                ), 
    174190                2 => array( 
    175                     'title' => __( 'Vertical (chess order)', 'tm-timeline' ), 
     191                    'title' => esc_html__( 'Vertical (chess order)', 'tm-timeline' ), 
    176192                    'view'  => 'vertical-chessorder', 
    177193                ), 
    178             ); 
    179         } 
    180  
    181         /** 
    182          * Get supported date formats 
    183          * 
     194            ) ); 
     195        } 
     196 
     197        /** 
     198         * Get supported date formats. 
     199         * 
     200         * @since 1.0.0 
     201         * @since 1.0.5 Added `tm_timeline_shortcode_supported_date_formats` filter. 
    184202         * @return array 
    185203         */ 
    186204        public static function get_supported_date_formats() { 
    187             return array( 
    188                 array( 
    189                     'title'  => 'YYYY - MM - DD', 
     205            return apply_filters( 'tm_timeline_shortcode_supported_date_formats', array( 
     206                array( 
     207                    'title'  => esc_html__( 'YYYY - MM - DD', 'tm-timeline' ), 
    190208                    'format' => 'Y-m-d', 
    191209                ), 
    192210                array( 
    193                     'title'  => 'YYYY / MM / DD', 
     211                    'title'  => esc_html__( 'YYYY / MM / DD', 'tm-timeline' ), 
    194212                    'format' => 'Y/m/d', 
    195213                ), 
    196214                array( 
    197                     'title'  => 'YYYY . MM . DD', 
     215                    'title'  => esc_html__( 'YYYY . MM . DD', 'tm-timeline' ), 
    198216                    'format' => 'Y.m.d', 
    199217                ), 
    200218                array( 
    201                     'title'  => 'DD - MM - YYYY', 
     219                    'title'  => esc_html__( 'DD - MM - YYYY', 'tm-timeline' ), 
    202220                    'format' => 'd-m-Y', 
    203221                ), 
    204222                array( 
    205                     'title'  => 'DD / MM / YYYY', 
     223                    'title'  => esc_html__( 'DD / MM / YYYY', 'tm-timeline' ), 
    206224                    'format' => 'd/m/Y', 
    207225                ), 
    208226                array( 
    209                     'title'  => 'DD . MM . YYYY', 
     227                    'title'  => esc_html__( 'DD . MM . YYYY', 'tm-timeline' ), 
    210228                    'format' => 'd.m.Y', 
    211229                ), 
    212230                array( 
    213                     'title'  => 'MM', 
     231                    'title'  => esc_html__( 'MM', 'tm-timeline' ), 
    214232                    'format' => 'm', 
    215233                ), 
    216234                array( 
    217                     'title'  => 'YYYY', 
     235                    'title'  => esc_html__( 'YYYY', 'tm-timeline' ), 
    218236                    'format' => 'Y', 
    219237                ), 
    220             ); 
    221         } 
    222  
    223         /** 
    224          * Shortcode rendering function 
    225          * 
    226          * @param array $atts Shortcode attributes. 
    227          * 
     238            ) ); 
     239        } 
     240 
     241        /** 
     242         * Shortcode rendering function. 
     243         * 
     244         * @since  1.0.0 
     245         * @since  1.0.5 Added `tm_timeline_query_args`, `tm_timeline_remove_shortcode_script` filters. 
     246         * @param  array $atts Shortcode attributes. 
    228247         * @return string 
    229248         */ 
    230         public static function shortcode_frontend( $atts = array() ) { 
    231  
    232             // Passed arguments are not valid, return empty output 
    233             if ( false === is_array( $atts ) ) { 
    234                 return ''; 
    235             } 
    236  
     249        public static function shortcode_frontend( $atts ) { 
    237250            $defaults = Tm_Timeline::get_default_attrs(); 
    238251            $args     = shortcode_atts( $defaults, $atts, 'tm-timeline' ); 
     
    287300 
    288301            if ( false === empty( $args['order'] ) ) { 
    289                 $qargs['order'] = in_array( $args['order'], array( 'ASC', 'DESC' ) ) ? esc_html( $args['order'] ) : 'DESC'; 
    290             } 
    291  
    292             // Get posts 
     302                $qargs['order'] = in_array( $args['order'], array( 'ASC', 'DESC' ) ) ? $args['order'] : 'DESC'; 
     303            } 
     304 
     305            $qargs = apply_filters( 'tm_timeline_query_args', $qargs, $atts ); 
     306 
     307            // Get posts. 
    293308            $query = new WP_Query( $qargs ); 
    294309 
    295310            if ( 0 === $layout ) { 
    296311                $pages = self::get_pages( $query->posts, $args['visible-items'] ); 
    297             } 
    298  
    299             // Return the rendered shortcode 
     312 
     313                /** 
     314                 * Filter a flag that control enqueue for shortcode script. 
     315                 * 
     316                 * @since 1.0.5 
     317                 */ 
     318                if ( false === apply_filters( 'tm_timeline_remove_shortcode_script', false ) ) { 
     319                    wp_enqueue_script( 'tm-timeline-js' ); 
     320                } 
     321            } 
     322 
     323            // Return the rendered shortcode. 
    300324            return self::$_view->render( 
    301325                $view, 
     
    309333 
    310334        /** 
    311          * Calculate pages based on visible_items count 
    312          * 
    313          * @param array   $timeline_events Collection of all timeline posts. 
    314          * @param integer $visible_items   Limit the visible items (only for horizontal layout). 
    315          * 
     335         * Calculate pages based on visible_items count. 
     336         * 
     337         * @param  array $timeline_events Collection of all timeline posts. 
     338         * @param  int   $visible_items   Limit the visible items (only for horizontal layout). 
    316339         * @return array 
    317340         */ 
     
    320343            $total = sizeof( $timeline_events ); 
    321344 
    322             // If no visible items, show all 
     345            // If no visible items, show all. 
    323346            if ( 0 >= $visible_items ) { 
    324347                $visible_items = $total; 
     
    326349 
    327350            if ( $total === $visible_items ) { 
    328                 // We got only one page 
     351 
     352                // We got only one page. 
    329353                $pages = array( 
    330354                    $timeline_events 
    331355                ); 
     356 
    332357            } else { 
    333358                $pages = array_chunk( $timeline_events, $visible_items, true ); 
     
    338363 
    339364        /** 
    340          * Add shortcode js/css into the queue 
     365         * Add shortcode js/css into the queue. 
     366         * 
     367         * @since 1.0.0 
     368         * @since 1.0.5 Added a correct plugin version. Changed a handle for `font-awesome.min.css`. 
    341369         */ 
    342370        public static function init_shortcode_assets() { 
    343             wp_enqueue_script( 
    344                 'timeline-js', 
    345                 tm_plugin_url( '/js/tm-timeline.js' ), 
    346                 array( 
    347                     'jquery' 
    348                 ), 
    349                 '1.0.0', 
     371            $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; 
     372 
     373            wp_register_script( 
     374                'tm-timeline-js', 
     375                tm_timeline_plugin_url( "/js/tm-timeline{$suffix}.js" ), 
     376                array( 'jquery' ), 
     377                TM_TIMELINE_VERSION, 
    350378                true 
    351379            ); 
    352380 
    353381            wp_enqueue_style( 
    354                 'timeline-fontawesome-css', 
    355                 tm_plugin_url( '/css/font-awesome.min.css' ) 
     382                'font-awesome', 
     383                tm_timeline_plugin_url( '/css/font-awesome.min.css' ), 
     384                array(), 
     385                '4.6.3' 
    356386            ); 
    357387 
    358388            wp_enqueue_style( 
    359                 'timeline-css', 
    360                 tm_plugin_url( '/css/tm-timeline.css' ) 
    361             ); 
    362         } 
    363  
    364         /** 
    365          * Setup date and content filters 
     389                'tm-timeline-css', 
     390                tm_timeline_plugin_url( '/css/tm-timeline.css' ), 
     391                array(), 
     392                TM_TIMELINE_VERSION 
     393            ); 
     394        } 
     395 
     396        /** 
     397         * Setup date and content filters. 
     398         * 
     399         * @since 1.0.0 
     400         * @since 1.0.5 Changed the priority for `tm_timeline_format_content` filter (10 => 11). 
    366401         */ 
    367402        public static function init_filters() { 
    368403            add_filter( 'tm_timeline_format_date', array( 'Tm_Timeline', 'timeline_date_filter' ), 10, 2 ); 
    369             add_filter( 'tm_timeline_format_content', array( 'Tm_Timeline', 'timeline_content_filter' ), 10, 1 ); 
     404            add_filter( 'tm_timeline_format_content', array( 'Tm_Timeline', 'timeline_content_filter' ), 11, 1 ); 
    370405        } 
    371406 
     
    379414         */ 
    380415        public static function timeline_date_filter( $date = '', $format = '' ) { 
    381  
    382416            $result = $date; 
    383417 
     
    394428            } 
    395429 
    396             $result = date( $date_format, $date ); 
    397  
    398             return $result; 
     430            return date( $date_format, $date ); 
    399431        } 
    400432 
     
    402434         * Default timeline content filter. 
    403435         * 
    404          * @param string $content The content that should filter be applied to. 
    405          * 
     436         * @since  1.0.0 
     437         * @since  1.0.5 Added `the_content` filter. 
     438         * @param  string $content The content that should filter be applied to. 
    406439         * @return string 
    407440         */ 
    408441        public static function timeline_content_filter( $content = '' ) { 
    409             return $content; 
     442            return apply_filters( 'the_content', $content ); 
    410443        } 
    411444    } 
  • tm-timeline/trunk/functions.php

    r1460088 r1562241  
    1616 */ 
    1717 
    18 if ( false === function_exists( 'tm_plugin_url' ) ) { 
     18if ( ! function_exists( 'tm_timeline_plugin_url' ) ) { 
    1919    /** 
    2020     * Get plugin file/folder url 
    2121     * 
    22      * @param String $path Relative path. 
    23      * 
    24      * @return String 
     22     * @since  1.0.0 
     23     * @since  1.0.5  Refactor a logic. 
     24     * @param  string $path Relative path. 
     25     * @return string 
    2526     */ 
    26     function tm_plugin_url( $path ) { 
    27         $plugin_name = basename( dirname( __FILE__ ) ); 
    28  
    29         return WP_PLUGIN_URL . '/' . $plugin_name . $path; 
     27    function tm_timeline_plugin_url( $path ) { 
     28        return untrailingslashit( plugin_dir_url( __FILE__ ) ) . $path; 
    3029    } 
    3130} 
    3231 
    33 if ( false === function_exists( 'tm_plugin_path' ) ) { 
     32if ( ! function_exists( 'tm_timeline_plugin_path' ) ) { 
    3433    /** 
    35      * Get plugin file/folder absolute path 
     34     * Get plugin file/folder absolute path. 
    3635     * 
    37      * @param String $path Relative path. 
    38      * 
    39      * @return String|Boolean Returns absolute path or `false` on failure 
    40      * @throws InvalidArgumentException If given path is not a valid path. 
     36     * @since  1.0.0 
     37     * @since  1.0.5  Refactor a logic. 
     38     * @param  string $path Relative path. 
     39     * @return string 
    4140     */ 
    42     function tm_plugin_path( $path ) { 
    43         $separators = array( 
    44             '/', 
    45             '//', 
    46             '\\', 
    47         ); 
    48  
    49         $path = array( 
    50             plugin_dir_path( __FILE__ ), 
    51             $path, 
    52         ); 
    53  
    54         $path = realpath( str_replace( $separators, DIRECTORY_SEPARATOR, join( DIRECTORY_SEPARATOR, $path ) ) ); 
    55  
    56         if ( false === $path ) { 
    57             throw new InvalidArgumentException( 'Invalid path!' ); 
    58         } 
    59  
    60         return $path; 
     41    function tm_timeline_plugin_path( $path ) { 
     42        return trailingslashit( plugin_dir_path( __FILE__ ) ) . $path; 
    6143    } 
    6244} 
    63  
    64 if ( false === function_exists( 'tm_notify' ) ) { 
    65     /** 
    66      * Output alert/error/warning messages 
    67      * 
    68      * @param String $message    Text of the message. 
    69      * @param String $class_name CSS class name for styling the message. 
    70      * 
    71      * @return String 
    72      */ 
    73     function tm_notify( $message, $class_name = 'error' ) { 
    74         return sprintf( 
    75             '<div class="%s updated"><p>%s</p></div>', 
    76             esc_html( $class_name ), 
    77             esc_html( $message ) 
    78         ); 
    79     } 
    80 } 
  • tm-timeline/trunk/js/tm-timeline.js

    r1495187 r1562241  
    1010            $slides, 
    1111            $pages, 
    12             //slidesWidth, 
    1312            $node, 
    1413            $control, 
    15             $current, 
    16             offset = 0; 
     14            $current; 
    1715 
    1816        $horizontalTimelines.each( function() { 
     
    2018 
    2119            $slides = $horizontalTimeline.find( '.tm_timeline__page' ); 
    22             $pages = $horizontalTimeline.find( '.tm_timeline__pages' ); 
    23             //slidesWidth = $slides.first().width() + 5; 
    24  
    25             // Set initial width 
    26             //$pages.css( 'width', slidesWidth * $slides.length ); 
     20            $pages  = $horizontalTimeline.find( '.tm_timeline__pages' ); 
    2721 
    2822            // Attach event listener to slides controls 
     
    3630                $slides = $horizontalTimeline.find( '.tm_timeline__page' ); 
    3731                $pages = $horizontalTimeline.find( '.tm_timeline__pages' ); 
    38                 //slidesWidth = $slides.first().width() + 5; 
    39  
    40                 // Set initial width 
    41                 //$pages.css( 'width', slidesWidth * $slides.length ); 
    4232 
    4333                // Get current page 
  • tm-timeline/trunk/languages/tm-timeline.pot

    r1460088 r1562241  
    44"Project-Id-Version: TM Timeline\n" 
    55"Report-Msgid-Bugs-To: \n" 
    6 "POT-Creation-Date: 2016-07-20 15:24+0300\n" 
     6"POT-Creation-Date: 2016-12-26 22:04+0200\n" 
    77"PO-Revision-Date: 2015-10-23 11:35+0200\n" 
    88"Language-Team: Cherry Team <support@cherryframework.com>\n" 
     
    1515"X-Poedit-Basepath: ..\n" 
    1616"X-Poedit-SourceCharset: UTF-8\n" 
    17 "X-Generator: Poedit 1.8.8\n" 
     17"X-Generator: Poedit 1.8.11\n" 
    1818"Plural-Forms: nplurals=1; plural=0;\n" 
    1919"Last-Translator: \n" 
    2020"X-Poedit-SearchPath-0: .\n" 
    2121 
    22 #: admin/classes/class-tm-timeline-admin.php:127 
    23 #: classes/class-tm-timeline.php:67 
     22#: admin/classes/class-tm-timeline-admin.php:125 
    2423msgid "Posts" 
    2524msgstr "" 
    2625 
    27 #: admin/classes/class-tm-timeline-admin.php:174 
    28 #: admin/classes/class-tm-timeline-admin.php:285 
    29 #: admin/classes/class-tm-timeline-admin.php:313 
     26#: admin/classes/class-tm-timeline-admin.php:130 
     27#: classes/class-tm-timeline.php:77 
     28msgid "TM Timeline" 
     29msgstr "" 
     30 
     31#: admin/classes/class-tm-timeline-admin.php:131 
     32#: admin/views/settings.php:12 
     33msgid "Settings" 
     34msgstr "" 
     35 
     36#: admin/classes/class-tm-timeline-admin.php:186 
     37#: admin/classes/class-tm-timeline-admin.php:305 
     38#: admin/classes/class-tm-timeline-admin.php:339 
    3039msgid "Timeline Date" 
     40msgstr "" 
     41 
     42#: admin/classes/class-tm-timeline-admin.php:369 
     43msgid "Ascending" 
     44msgstr "" 
     45 
     46#: admin/classes/class-tm-timeline-admin.php:370 
     47msgid "Descending" 
    3148msgstr "" 
    3249 
     
    3754#: admin/views/post-event-date.php:26 
    3855msgid "Choose" 
    39 msgstr "" 
    40  
    41 #: admin/views/settings.php:12 
    42 msgid "Settings" 
    4356msgstr "" 
    4457 
     
    7588msgstr "" 
    7689 
    77 #: admin/views/settings.php:67 
     90#: admin/views/settings.php:67 admin/views/settings.php:85 
    7891msgid "" 
    7992"Show only posts which contain following tag. If none selected, will " 
     
    8295 
    8396#: admin/views/settings.php:72 
     97msgid "Sort Order:" 
     98msgstr "" 
     99 
     100#: admin/views/settings.php:90 
    84101msgid "Display anchors" 
    85102msgstr "" 
    86103 
    87 #: admin/views/settings.php:74 
     104#: admin/views/settings.php:92 
    88105msgid "" 
    89106"Timeline post title will be clickable and will lead user to the " 
     
    91108msgstr "" 
    92109 
    93 #: admin/views/settings.php:81 
     110#: admin/views/settings.php:99 
    94111msgid "Generate shortcode" 
    95112msgstr "" 
    96113 
    97 #: admin/views/settings.php:89 
     114#: admin/views/settings.php:107 
    98115msgid "Shortcode:" 
    99116msgstr "" 
    100117 
    101 #: classes/class-tm-timeline.php:68 
    102 msgid "Post" 
     118#: classes/class-tm-timeline.php:75 
     119msgid "Timeline Posts" 
    103120msgstr "" 
    104121 
    105 #: classes/class-tm-timeline.php:69 
    106 msgid "Timeline" 
     122#: classes/class-tm-timeline.php:76 
     123msgid "Timeline Post" 
    107124msgstr "" 
    108125 
    109 #: classes/class-tm-timeline.php:97 
     126#: classes/class-tm-timeline.php:85 
     127msgid "Timeline post item" 
     128msgstr "" 
     129 
     130#: classes/class-tm-timeline.php:107 
    110131msgid "Tags" 
    111132msgstr "" 
    112133 
    113 #: classes/class-tm-timeline.php:98 
     134#: classes/class-tm-timeline.php:108 
    114135msgid "Tag" 
    115136msgstr "" 
    116137 
    117 #: classes/class-tm-timeline.php:165 
     138#: classes/class-tm-timeline.php:116 
     139msgid "Timeline post tag" 
     140msgstr "" 
     141 
     142#: classes/class-tm-timeline.php:183 
    118143msgid "Horizontal" 
    119144msgstr "" 
    120145 
    121 #: classes/class-tm-timeline.php:169 
     146#: classes/class-tm-timeline.php:187 
    122147msgid "Vertical" 
    123148msgstr "" 
    124149 
    125 #: classes/class-tm-timeline.php:173 
     150#: classes/class-tm-timeline.php:191 
    126151msgid "Vertical (chess order)" 
    127152msgstr "" 
     153 
     154#: classes/class-tm-timeline.php:207 
     155msgid "YYYY - MM - DD" 
     156msgstr "" 
     157 
     158#: classes/class-tm-timeline.php:211 
     159msgid "YYYY / MM / DD" 
     160msgstr "" 
     161 
     162#: classes/class-tm-timeline.php:215 
     163msgid "YYYY . MM . DD" 
     164msgstr "" 
     165 
     166#: classes/class-tm-timeline.php:219 
     167msgid "DD - MM - YYYY" 
     168msgstr "" 
     169 
     170#: classes/class-tm-timeline.php:223 
     171msgid "DD / MM / YYYY" 
     172msgstr "" 
     173 
     174#: classes/class-tm-timeline.php:227 
     175msgid "DD . MM . YYYY" 
     176msgstr "" 
     177 
     178#: classes/class-tm-timeline.php:231 
     179msgid "MM" 
     180msgstr "" 
     181 
     182#: classes/class-tm-timeline.php:235 
     183msgid "YYYY" 
     184msgstr "" 
  • tm-timeline/trunk/readme.txt

    r1504501 r1562241  
    33Contributors: TemplateMonster 2002 
    44Tags: timeline, timelines, event, history 
    5 Requires at least: 4.4 
    6 Tested up to: 4.6 
    7 Stable tag: 1.0.4 
     5Requires at least: 4.5 
     6Tested up to: 4.7 
     7Stable tag: 1.0.5 
    88License: GPLv3 or later 
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html 
     
    5252== Changelog == 
    5353 
     54= 1.0.5 = 
     55 
     56* ADD: `the_content` filter 
     57* ADD: unique prefix for functions 
     58* UPD: utilities 
     59* UPD: enqueue public-facing script 
     60 
    5461= 1.0.4 = 
    5562 
  • tm-timeline/trunk/tm-timeline.php

    r1504501 r1562241  
    11<?php 
    22/** 
    3  * Plugin Name:    TM Timeline 
    4  * Description:    This plugin allows users to build their own timelines 
    5  * Author:         Template Monster 
    6  * Text Domain:    tm-timeline 
    7  * License:        GPL-3.0+ 
    8  * License URI:    http://www.gnu.org/licenses/gpl-3.0.txt 
    9  * Version:        1.0.4 
    10  * Domain Path:    /languages 
     3 * Plugin Name: TM Timeline 
     4 * Description: This plugin allows users to build their own timelines 
     5 * Author:      Template Monster 
     6 * Text Domain: tm-timeline 
     7 * License:     GPL-3.0+ 
     8 * License URI: http://www.gnu.org/licenses/gpl-3.0.txt 
     9 * Version:     1.0.5 
     10 * Domain Path: /languages 
    1111 * 
    12  * @package        Timeline 
    13  * @author         Template Monster 
    14  * @license        GPL-3.0+ 
    15  * @copyright      2016 Template Monster 
     12 * @package     Timeline 
     13 * @author      Template Monster 
     14 * @license     GPL-3.0+ 
     15 * @copyright   2016 Template Monster 
    1616 */ 
    1717 
    1818defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); 
    1919 
     20define( 'TM_TIMELINE_VERSION', '1.0.5' ); 
     21 
     22add_action( 'plugins_loaded', 'tm_timeline_lang' ); 
     23add_action( 'init', 'tm_timeline_init' ); 
     24add_action( 'init', 'tm_timeline_init_admin' ); 
     25 
     26register_activation_hook( __FILE__, 'tm_timeline_activate' ); 
     27register_deactivation_hook( __FILE__, 'tm_timeline_deactivate' ); 
     28 
    2029/** 
    21  * Timeline plugin main file 
     30 * Timeline plugin main file. 
    2231 */ 
    23  
    2432require dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'functions.php'; 
    2533 
    26 if ( ! function_exists( 'tm_lang' ) ) { 
     34 
     35if ( ! function_exists( 'tm_timeline_lang' ) ) { 
    2736    /** 
    28      * Load translations 
     37     * Load translations. 
    2938     */ 
    30     function tm_lang() { 
     39    function tm_timeline_lang() { 
    3140        load_plugin_textdomain( 'tm-timeline', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 
    3241    } 
    3342} 
    3443 
    35 add_action( 'plugins_loaded', 'tm_lang' ); 
     44if ( ! function_exists( 'tm_timeline_init' ) ) { 
     45    /** 
     46     * Plugin initialization callback. 
     47     */ 
     48    function tm_timeline_init() { 
    3649 
    37 if ( false === function_exists( 'tm_init' ) ) { 
    38     /** 
    39      * Plugin initialization callback 
    40      */ 
    41     function tm_init() { 
    42  
    43         // Load class if it's not initialized yet 
    44         if ( false === class_exists( 'Tm_Timeline' ) ) { 
    45             require tm_plugin_path( 'classes/class-tm-timeline.php' ); 
     50        // Load class if it's not initialized yet. 
     51        if ( ! class_exists( 'Tm_Timeline' ) ) { 
     52            require tm_timeline_plugin_path( 'classes/class-tm-timeline.php' ); 
    4653        } 
    4754 
    48         // Initialize plugin frontend 
     55        // Initialize plugin frontend. 
    4956        Tm_Timeline::initialize(); 
    5057    } 
    5158} 
    5259 
    53 // Register plugin initialization callback 
    54 add_action( 'init', 'tm_init' ); 
     60if ( ! function_exists( 'tm_timeline_init_admin' ) ) { 
     61    /** 
     62     * Plugin admin initialization callback. 
     63     */ 
     64    function tm_timeline_init_admin() { 
    5565 
    56 if ( false === function_exists( 'tm_init_admin' ) ) { 
    57     /** 
    58      * Plugin admin initialization callback 
    59      * 
    60      * @return bool 
    61      */ 
    62     function tm_init_admin() { 
    63  
    64         // Prevent non admin access 
    65         if ( false === is_admin() ) { 
    66             return false; 
     66        // Prevent non admin access. 
     67        if ( ! is_admin() ) { 
     68            return; 
    6769        } 
    6870 
    69         // Load class if it's not initialized yet 
    70         if ( false === class_exists( 'Tm_Timeline_Admin' ) ) { 
    71             require tm_plugin_path( 'admin/classes/class-tm-timeline-admin.php' ); 
     71        // Load class if it's not initialized yet. 
     72        if ( ! class_exists( 'Tm_Timeline_Admin' ) ) { 
     73            require tm_timeline_plugin_path( 'admin/classes/class-tm-timeline-admin.php' ); 
    7274        } 
    7375 
    74         // Initialize plugin admin 
     76        // Initialize plugin admin. 
    7577        Tm_Timeline_Admin::initialize(); 
    76  
    77         return true; 
    7878    } 
    7979} 
    8080 
    81 // Register plugin admin initialization callback 
    82 add_action( 'init', 'tm_init_admin' ); 
    83  
    84 if ( false === function_exists( 'tm_activate' ) ) { 
     81if ( ! function_exists( 'tm_timeline_activate' ) ) { 
    8582    /** 
    86      * Plugin activation callback 
    87      * 
    88      * @return bool 
     83     * Plugin activation callback. 
    8984     */ 
    90     function tm_activate() { 
    91  
    92         // Flush the rewrite rules 
     85    function tm_timeline_activate() { 
    9386        flush_rewrite_rules(); 
    9487    } 
    9588} 
    9689 
    97 register_activation_hook( __FILE__, 'tm_activate' ); 
    98  
    99 if ( false === function_exists( 'tm_deactivate' ) ) { 
     90if ( ! function_exists( 'tm_timeline_deactivate' ) ) { 
    10091    /** 
    101      * Plugin deactivation callback 
    102      * 
    103      * @return bool 
     92     * Plugin deactivation callback. 
    10493     */ 
    105     function tm_deactivate() { 
    106  
    107         // Flush the rewrite rules 
     94    function tm_timeline_deactivate() { 
    10895        flush_rewrite_rules(); 
    10996    } 
    11097} 
    111  
    112 register_deactivation_hook( __FILE__, 'tm_deactivate' ); 
  • tm-timeline/trunk/views/horizontal.php

    r1460088 r1562241  
    44 * 
    55 * @package    Timeline 
    6  * @subpackage Timeline 
     6 * @subpackage Views 
    77 * @author     Template Monster 
    88 * @license    GPL-3.0+ 
     
    2929                    <?php if ( 0 < sizeof( $page ) ) : ?> 
    3030                        <div class="tm_timeline__page<?php print esc_attr( 0 == $i ? ' tm_timeline__page-current' : 
    31                             '' );   ?>" data-index="<?php print esc_attr( $index ); ?>"> 
     31                            '' ); ?>" data-index="<?php print esc_attr( $index ); ?>"> 
    3232 
    3333                            <div class="tm_timeline__page__content"> 
  • tm-timeline/trunk/views/index.php

    r1460088 r1562241  
    44 * 
    55 * @package    Timeline 
    6  * @subpackage Timeline_Admin 
     6 * @subpackage Views 
    77 * @author     Template Monster 
    88 * @license    GPL-3.0+ 
  • tm-timeline/trunk/views/vertical-chessorder.php

    r1460088 r1562241  
    44 * 
    55 * @package    Timeline 
    6  * @subpackage Timeline_Admin 
     6 * @subpackage Views 
    77 * @author     Template Monster 
    88 * @license    GPL-3.0+ 
     
    1919            <div class="tm_timeline__tense"></div> 
    2020 
    21             <?php $class_name = 'odd'; 
    22             $i               = 0; ?> 
    23             <?php foreach ( $this->timeline_events as $post ) : ?> 
     21        <?php global $post; 
     22            $class_name = 'odd'; 
     23            $i          = 0; 
     24 
     25            foreach ( $this->timeline_events as $post ) : 
     26                setup_postdata( $post ); ?> 
     27 
    2428                <div class="tm_timeline__event tm_timeline__event-<?php print esc_attr( $class_name ); ?>"> 
    2529                    <?php 
     
    4852                    </div> 
    4953                </div> 
     54 
    5055                <?php $i = $i + 1; ?> 
    5156            <?php endforeach; ?> 
     57            <?php wp_reset_postdata(); ?> 
    5258 
    5359        </div> 
    54  
    5560    </div> 
    56  
    5761</div> 
    5862<?php endif; ?> 
  • tm-timeline/trunk/views/vertical.php

    r1460088 r1562241  
    44 * 
    55 * @package    Timeline 
    6  * @subpackage Timeline 
     6 * @subpackage Views 
    77 * @author     Template Monster 
    88 * @license    GPL-3.0+ 
     
    1717        <div class="tm_timeline__body-tense"> 
    1818 
    19             <?php foreach ( $this->timeline_events as $post ) : ?> 
     19            <?php global $post; 
     20            foreach ( $this->timeline_events as $post ) : 
     21                setup_postdata( $post ); ?> 
     22 
    2023                <div class="tm_timeline__event"> 
    2124                    <div class="tm_timeline__event__dot"></div> 
     
    3740                    </div> 
    3841                </div> 
     42 
    3943            <?php endforeach; ?> 
     44            <?php wp_reset_postdata(); ?> 
    4045 
    4146        </div> 
    42  
    4347    </div> 
    44  
    4548</div> 
    4649<?php endif; ?> 
Note: See TracChangeset for help on using the changeset viewer.