/** * Add some categories to a shop * @param array $categories * @param $shop_id * @return bool */ public static function addToShop(array $categories, $shop_id) { if (!is_array($categories)) { return false; } $db = JFactory::getDBO(); $query = "INSERT INTO " . $db->quoteName('#__jeproshop_category_shop') . " (" . $db->quoteName('category_id') . ", " . $db->quoteName('shop_id') . ") VALUES "; $tab_categories = array(); foreach ($categories as $category_id) { $tab_categories[] = new JeproshopCategoryModelCategory($category_id); $query .= "(" . (int) $category_id . ", " . (int) $shop_id . "),"; } // removing last comma to avoid SQL error $query = substr($query, 0, strlen($query) - 1); $db->setQuery($query); $return = $db->query(); // we have to update position for every new entries foreach ($tab_categories as $category) { $category->addPosition(JeproshopCategoryModelCategory::getLastPosition($category->parent_id, $shop_id), $shop_id); } return $return; }