// make sure the attempting uploader had passed the correct nonce value check_admin_referer('catablog_swfupload'); // create global variable for catablog class global $wp_plugin_catablog_class; $tmp_name = $_FILES['Filedata']['tmp_name']; $_FILES['new_image'] = $_FILES['Filedata']; if (strlen($tmp_name) < 1) { die("<li class='error'>" . __('Image could not be uploaded to the server, please try again.', 'catablog') . "</li>"); } $new_item = new CataBlogItem(); $valid_image = $new_item->validateImage($tmp_name); if ($valid_image === true) { $new_item_title = $_FILES['Filedata']['name']; $new_item_title = preg_replace('/\\.[^.]+$/', '', $new_item_title); $new_item_title = str_replace(array('_', '-', '.'), ' ', $new_item_title); $new_item_order = wp_count_posts($new_item->getCustomPostName())->publish + 1; $new_item->setOrder($new_item_order); $new_item->setTitle($new_item_title); $new_item->setImage($tmp_name); $new_item->setSubImages(array()); $default_term = $wp_plugin_catablog_class->get_default_term(); $new_item->setCategories(array($default_term->term_id => $default_term->name)); $new_item->save(); // load the user settings for which fields to display in the quick edit form. $user = wp_get_current_user(); $user_settings = get_user_meta($user->ID, $wp_plugin_catablog_class->get_custom_user_meta_name(), true); if ($user_settings === "") { $user_settings = $wp_plugin_catablog_class->getDefaultUserSettings(); update_user_meta($user->ID, $wp_plugin_catablog_class->custom_user_meta_name, $user_settings); } $hide_fields = $user_settings['add-new']['hide-columns'];
/** * Get a collection of catalog items from the database using an array of ids. * May possibly return an empty array. * * @param ids $ids The array of catalog item ids to be fetched from the database. * @return array An array of CataBlogItem objects */ public static function getItemsByIds($ids) { $items = array(); if (!is_array($ids) || empty($ids)) { $ids = array(-1); } $ids = array_unique($ids); $cata = new CataBlogItem(); $params = array('post_type' => $cata->getCustomPostName(), 'post__in' => $ids, 'numberposts' => -1); $posts = get_posts($params); // return an array of CataBlogItems foreach ($posts as $post) { $item = new CataBlogItem(); $item->id = $post->ID; $item->title = $post->post_title; $item->description = $post->post_content; $item->date = $post->post_date; $item->categories = array(); $item->order = $post->menu_order; $item->_post_name = $post->post_name; $item_cats = array(); if (true) { // $load_categories $category_ids = array(); $terms = get_the_terms($post->ID, $item->_custom_tax_name); if (is_array($terms)) { foreach ($terms as $term) { $category_ids[$term->term_id] = $term->name; } } $item->categories = $category_ids; } $meta = get_post_meta($post->ID, $item->_post_meta_name, true); $item->processPostMeta($meta); $items[$item->id] = $item; } return $items; }