function form($instance)
    {
        global $wp_plugin_catablog_class;
        $instance = wp_parse_args((array) $instance, array('title' => '', 'catablog-category' => '', 'catablog-template' => 'gallery', 'catablog-sort' => 'date', 'catablog-order' => 'asc', 'catablog-operator' => 'in', 'catablog-limit' => 5));
        $title = $instance['title'];
        $category = $instance['catablog-category'];
        $template = $instance['catablog-template'];
        $sort = $instance['catablog-sort'];
        $order = $instance['catablog-order'];
        $operator = $instance['catablog-operator'];
        $limit = $instance['catablog-limit'];
        // load the users templates files
        $template_file_array = array();
        $views = new CataBlogDirectory($wp_plugin_catablog_class->directories['user_views']);
        if ($views->isDirectory()) {
            $template_file_array = $views->getFileArray();
        }
        // $catablog_categories = $wp_plugin_catablog_class->get_terms();
        $catablog_sort_options = array('date' => __("Date", "catablog"), 'menu_order' => __("Order", "catablog"), 'title' => __("Title", "catablog"), 'rand' => __("Random", "catablog"));
        $catablog_order_options = array('asc' => __("Ascending", "catablog"), 'desc' => __("Descending", "catablog"));
        $catablog_operator_options = array('in' => __("In Categories", "catablog"), 'not in' => __("Not In Categories", "catablog"), 'and' => __("In All Categories", "catablog"));
        $form_template_path = $wp_plugin_catablog_class->directories['template'] . '/widget-form.php';
        ?>
		
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('title');
        ?>
"><?php 
        _e("Title: ", "catablog");
        ?>
				<input type="text" class="widefat" id="<?php 
        echo $this->get_field_id('title');
        ?>
" name="<?php 
        echo $this->get_field_name('title');
        ?>
" value="<?php 
        echo esc_attr($title);
        ?>
" />
			</label>
		</p>
		
		<?php 
        /*
        <p>
        	<label for="<?php echo $this->get_field_id('catablog-category') ?>"><?php _e("Categories"); ?></label>
        	<select id="<?php echo $this->get_field_id('catablog-category') ?>" name="<?php echo $this->get_field_name('catablog-category') ?>" class="widefat" multiple="multiple">
        		<?php foreach ($catablog_categories as $cat): ?>
        			<option value="<?php echo $cat->term_id; ?>"><?php echo $cat->name ?></option>
        		<?php endforeach ?>
        	</select>
        </p>
        */
        ?>
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('catablog-category');
        ?>
"><?php 
        _e("Category:", "catablog");
        ?>
				<input type="text" class="widefat" id="<?php 
        echo $this->get_field_id('catablog-category');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-category');
        ?>
" value="<?php 
        echo esc_attr($category);
        ?>
">
			</label>
			<small><?php 
        _e("Separate category names with commas", "catablog");
        ?>
</small>
		</p>
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('catablog-template');
        ?>
"><?php 
        _e("Template:", "catablog");
        ?>
			<select id="<?php 
        echo $this->get_field_id('catablog-template');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-template');
        ?>
" class="widefat">
				<?php 
        foreach ($template_file_array as $file) {
            ?>
					<?php 
            $file = pathinfo($file, PATHINFO_FILENAME);
            ?>
					<?php 
            $selected = $file == $template ? ' selected="selected"' : '';
            ?>
					<option value="<?php 
            echo $file;
            ?>
"<?php 
            echo $selected;
            ?>
><?php 
            echo $file;
            ?>
</option>
				<?php 
        }
        ?>
			</select>
			</label>
		</p>
		
		<p>
			<label for"<?php 
        echo $this->get_field_id('catablog-sort');
        ?>
"><?php 
        _e("Sort:", "catablog");
        ?>
			<select id="<?php 
        echo $this->get_field_id('catablog-sort');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-sort');
        ?>
" class="widefat">
				<?php 
        foreach ($catablog_sort_options as $value => $sort_option) {
            ?>
					<?php 
            $selected = $value == $sort ? ' selected="selected"' : '';
            ?>
					<option value="<?php 
            echo $value;
            ?>
"<?php 
            echo $selected;
            ?>
><?php 
            echo $sort_option;
            ?>
</option>
				<?php 
        }
        ?>
			</select>
			</label>
		</p>
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('catablog-order');
        ?>
"><?php 
        _e("Order:", "catablog");
        ?>
			<select id="<?php 
        echo $this->get_field_id('catablog-order');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-order');
        ?>
" class="widefat">
				<?php 
        foreach ($catablog_order_options as $value => $order_option) {
            ?>
					<?php 
            $selected = $value == $order ? ' selected="selected"' : '';
            ?>
					<option value="<?php 
            echo $value;
            ?>
"<?php 
            echo $selected;
            ?>
><?php 
            echo $order_option;
            ?>
</option>
				<?php 
        }
        ?>
			</select>
			</label>
		</p>
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('catablog-operator');
        ?>
"><?php 
        _e("Operator:", "catablog");
        ?>
			<select id="<?php 
        echo $this->get_field_id('catablog-operator');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-operator');
        ?>
" class="widefat">
				<?php 
        foreach ($catablog_operator_options as $value => $operator_option) {
            ?>
					<?php 
            $selected = $value == $operator ? ' selected="selected"' : '';
            ?>
					<option value="<?php 
            echo $value;
            ?>
"<?php 
            echo $selected;
            ?>
><?php 
            echo $operator_option;
            ?>
</option>
				<?php 
        }
        ?>
			</select>
			</label>
		</p>
		
		<p>
			<label for="<?php 
        echo $this->get_field_id('catablog-limit');
        ?>
"><?php 
        _e("Limit:", "catablog");
        ?>
				<input type="text" class="widefat" id="<?php 
        echo $this->get_field_id('catablog-limit');
        ?>
" name="<?php 
        echo $this->get_field_name('catablog-limit');
        ?>
" value="<?php 
        echo esc_attr($limit);
        ?>
" />
			</label>
		</p>
		
		<?php 
    }
Example #2
0
 public function admin_rescan_images()
 {
     check_admin_referer('catablog-rescan-originals');
     $items = CataBlogItem::getItems();
     $image_names = array();
     foreach ($items as $item) {
         $image_names[] = $item->getImage();
         foreach ($item->getSubImages() as $subimage) {
             $image_names[] = $subimage;
         }
     }
     $new_rows = array();
     $new_rows['images'] = array();
     $originals = new CataBlogDirectory($this->directories['originals']);
     if ($originals->isDirectory()) {
         $new_order = wp_count_posts($this->custom_post_name)->publish + 1;
         $default_term = $this->get_default_term();
         $default_category = array($default_term->term_id => $default_term->name);
         foreach ($originals->getFileArray() as $file) {
             if (!in_array($file, $image_names)) {
                 $extension = end(explode(".", strtolower($file)));
                 $media_accepted = array('jpg', 'jpeg', 'gif', 'png');
                 if (in_array($extension, $media_accepted)) {
                     $title = str_replace(array('-', '_'), ' ', $file);
                     $title = str_ireplace('.' . $extension, '', $title);
                     $new_item = new CataBlogItem();
                     $new_item->setOrder($new_order);
                     $new_item->setTitle($title);
                     $new_item->setImage($file, false);
                     $new_item->setSubImages(array());
                     $new_item->setCategories($default_category);
                     $new_item->save();
                     $new_rows['ids'][] = $new_item->getId();
                     $new_rows['titles'][] = $new_item->getTitle();
                     $new_rows['images'][] = $new_item->getImage();
                 }
             }
             $new_order += 1;
         }
     }
     include_once $this->directories['template'] . '/admin-rescan.php';
 }