name = $name; $this->options = $options; if ( isset( $_POST['save-vamtam-config'] ) ) $this->save_config(); $this->render(); } /** * Save the current page config */ private function save_config() { vamtam_save_config( $this->options ); global $vamtam_config_messages; $vamtam_config_messages .= '

Updated Successfully

'; } /** * Single options row template * @param string $template template name * @param array $value options row config */ protected function tpl( $template, $value ) { extract( $value ); if ( ! isset( $desc ) ) $desc = ''; if ( ! isset( $default ) ) $default = null; if ( ! isset( $class ) ) $class = ''; include VAMTAM_ADMIN_HELPERS . "config_generator/$template.php"; } /** * Renders the option page */ private function render() { echo '
'; echo '
'; if ( isset( $_GET['allowreset'] ) ) { echo ''; } if ( isset( $_GET['cacheonly'] ) ) { echo ''; } foreach ( $this->options as $option ) { if ( method_exists( $this, $option['type'] ) ) { $this->{$option['type']}( $option ); } else { $this->tpl( $option['type'], $option ); } } echo '
'; // #theme-config if ( ! isset( $this->options[0]['no-save-button'] ) ) { $this->tpl( 'save', array() ); } echo ''; echo ''; } /** * Auto fill options * @param string $type autofill type * @return array options list */ public static function target_config( $type ) { $config = array(); switch ( $type ) { case 'page': $entries = get_pages( 'title_li=&orderby=name' ); foreach ( $entries as $key => $entry ) $config[ $entry->ID ] = $entry->post_title; break; case 'cat': $entries = get_categories( 'orderby=name&hide_empty=0' ); foreach ( $entries as $key => $entry ) $config[ $entry->term_id ] = $entry->name; break; case 'post': $entries = get_posts( 'orderby=title&numberposts=-1&order=ASC' ); foreach ( $entries as $key => $entry ) $config[ $entry->ID ] = $entry->post_title; break; case 'portfolio': $entries = get_posts( 'post_type=jetpack-portfolio&orderby=title&numberposts=-1&order=ASC' ); foreach ( $entries as $key => $entry ) $config[ $entry->ID ] = $entry->post_title; break; case 'portfolio-type': $entries = get_terms( 'jetpack-portfolio-type', 'orderby=name&hide_empty=0' ); foreach ( $entries as $key => $entry ) $config[ $entry->slug ] = $entry->name; break; case 'testimonials': $entries = get_posts( 'post_type=jetpack-testimonial&orderby=title&numberposts=-1&order=ASC' ); foreach ( $entries as $key => $entry ) $config[ $entry->ID ] = $entry->post_title; break; } return $config; } }