public function category_children() { check_admin_referer('wp_ajax_shopp_category_children'); if (empty($_GET['parent'])) { die('0'); } $parent = $_GET['parent']; $columns = array('id', 'parent', 'priority', 'name', 'uri', 'slug'); $filters['columns'] = 'cat.' . join(',cat.', $columns); $filters['parent'] = $parent; $Catalog = new ShoppCatalog(); $Catalog->outofstock = true; $Catalog->load_categories($filters); $columns[] = 'depth'; foreach ($Catalog->categories as &$Category) { $properties = get_object_vars($Category); foreach ($properties as $property => $value) { if (!in_array($property, $columns)) { unset($Category->{$property}); } } } die(json_encode($Catalog->categories)); }
/** * Set * * @author Jonathan Davis * @since 1.1 * * @return void **/ public function init_positions() { // Load the entire catalog structure and update the category positions $Catalog = new ShoppCatalog(); $Catalog->outofstock = true; $filters['columns'] = "cat.id,cat.parent,cat.priority"; $Catalog->load_categories($filters); foreach ($Catalog->categories as $Category) { if (!isset($Category->_priority) || isset($Category->_priority) && $Category->_priority != $Category->priority) { sDB::query("UPDATE {$Category->_table} SET priority={$Category->priority} WHERE id={$Category->id}"); } } }