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 }
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'; }