if (isset($_POST['categories_id'])) { $categories_id = zen_db_prepare_input($_POST['categories_id']); // create list of any subcategories in the selected category, $categories = zen_get_category_tree($categories_id, '', '0', '', true); zen_set_time_limit(600); // loop through this cat and subcats for delete-processing. for ($i = 0, $n = sizeof($categories); $i < $n; $i++) { $sql = "select products_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id='" . $categories[$i]['id'] . "'"; $category_products = $db->Execute($sql); while (!$category_products->EOF) { $cascaded_prod_id_for_delete = $category_products->fields['products_id']; $cascaded_prod_cat_for_delete = array(); $cascaded_prod_cat_for_delete[] = $categories[$i]['id']; //echo 'processing product_id: ' . $cascaded_prod_id_for_delete . ' in category: ' . $cascaded_prod_cat_for_delete . '<br>'; // determine product-type-specific override script for this product $product_type = zen_get_products_type($category_products->fields['products_id']); // now loop thru the delete_product_confirm script for each product in the current category if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php')) { require DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php'; } else { require DIR_WS_MODULES . 'delete_product_confirm.php'; } // THIS LINE COMMENTED BECAUSE IT'S DONE ALREADY DURING DELETE_PRODUCT_CONFIRM.PHP: //zen_remove_product($category_products->fields['products_id'], $delete_linked); $category_products->MoveNext(); } zen_remove_category($categories[$i]['id']); } // end for loop } zen_redirect(zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath));
case 'setflag': if ($_GET['flag'] == '0' || $_GET['flag'] == '1') { if (isset($_GET['pID'])) { zen_set_product_status($_GET['pID'], $_GET['flag']); } } zen_redirect(zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $_GET['cPath'] . '&pID=' . $_GET['pID'] . (isset($_GET['page']) ? '&page=' . $_GET['page'] : ''))); break; case 'delete_product_confirm': $delete_linked = 'true'; if ($_POST['delete_linked'] == 'delete_linked_no') { $delete_linked = 'false'; } else { $delete_linked = 'true'; } $product_type = zen_get_products_type($_POST['products_id']); if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php')) { require DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php'; } else { require DIR_WS_MODULES . 'delete_product_confirm.php'; } break; case 'move_product_confirm': if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/move_product_confirm.php')) { require DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/move_product_confirm.php'; } else { require DIR_WS_MODULES . 'move_product_confirm.php'; } break; case 'insert_product_meta_tags': case 'update_product_meta_tags':
?> </td> </tr> <tr> <td colspan="2"><table border="1" cellspacing="2" cellpadding="4" align="left"> <tr> <td colspan="7" class="main" align="center"> <?php echo TEXT_PRODUCTS_LISTING . TEXT_PRODUCTS_ID . $products_filter . TEXT_PRODUCT_IN_CATEGORY_NAME . zen_get_category_name(zen_get_products_category_id($products_filter), (int) $_SESSION['languages_id']) . '<br />' . zen_get_products_name($products_filter); ?> </td> </tr> <tr> <td class="smallText" align="center"><?php echo '<a href="' . zen_href_link(FILENAME_CATEGORIES, 'action=new_product' . '&cPath=' . zen_get_product_path($products_filter) . '&pID=' . $products_filter . '&product_type=' . zen_get_products_type($products_filter)) . '">' . zen_image_button('button_edit_product.gif', IMAGE_EDIT_PRODUCT) . '<br />' . TEXT_PRODUCT_EDIT . '</a>'; ?> </td> <td class="smallText" align="center"> <?php if ($zc_products->get_allow_add_to_cart($products_filter) == "Y") { echo '<a href="' . zen_href_link(FILENAME_PRODUCTS_PRICE_MANAGER, '&products_filter=' . $products_filter . '¤t_category_id=' . $current_category_id) . '">' . zen_image_button('button_products_price_manager.gif', IMAGE_PRODUCTS_PRICE_MANAGER) . '<br />' . TEXT_PRODUCTS_PRICE_MANAGER . '</a>'; } else { echo TEXT_INFO_ALLOW_ADD_TO_CART_NO; } ?> </td> <?php if (zen_has_product_attributes($products_filter, 'false')) { ?> <td class="smallText" align="center"><?php
$specials_current_price = zen_get_products_base_price($sInfo->products_id); } else { $specials_current_price = $sInfo->products_price; } $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_SPECIALS, 'page=' . $_GET['page'] . '&sID=' . $sInfo->specials_id . '&action=edit') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . zen_href_link(FILENAME_SPECIALS, 'page=' . $_GET['page'] . '&sID=' . $sInfo->specials_id . '&action=delete') . '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_PRODUCTS_PRICE_MANAGER, 'action=edit&products_filter=' . $sInfo->products_id) . '">' . zen_image_button('button_products_price_manager.gif', IMAGE_PRODUCTS_PRICE_MANAGER) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_INFO_DATE_ADDED . ' ' . zen_date_short($sInfo->specials_date_added)); $contents[] = array('text' => '' . TEXT_INFO_LAST_MODIFIED . ' ' . zen_date_short($sInfo->specials_last_modified)); $contents[] = array('align' => 'center', 'text' => '<br>' . zen_info_image($sInfo->products_image, $sInfo->products_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT)); $contents[] = array('text' => '<br>' . TEXT_INFO_ORIGINAL_PRICE . ' ' . $currencies->format($specials_current_price)); $contents[] = array('text' => '' . TEXT_INFO_NEW_PRICE . ' ' . $currencies->format($sInfo->specials_new_products_price)); $contents[] = array('text' => '' . TEXT_INFO_DISPLAY_PRICE . ' ' . zen_get_products_display_price($sInfo->products_id)); $contents[] = array('text' => '<br>' . TEXT_INFO_AVAILABLE_DATE . ' <b>' . (($specials->fields['specials_date_available'] != '0001-01-01' and $specials->fields['specials_date_available'] != '') ? zen_date_short($specials->fields['specials_date_available']) : TEXT_NONE) . '</b>'); $contents[] = array('text' => '<br>' . TEXT_INFO_EXPIRES_DATE . ' <b>' . (($specials->fields['expires_date'] != '0001-01-01' and $specials->fields['expires_date'] != '') ? zen_date_short($specials->fields['expires_date']) : TEXT_NONE) . '</b>'); $contents[] = array('text' => '' . TEXT_INFO_STATUS_CHANGE . ' ' . zen_date_short($sInfo->date_status_change)); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_CATEGORIES, '&action=new_product' . '&cPath=' . zen_get_product_path($sInfo->products_id, 'override') . '&pID=' . $sInfo->products_id . '&product_type=' . zen_get_products_type($sInfo->products_id)) . '">' . zen_image_button('button_edit_product.gif', IMAGE_EDIT_PRODUCT) . '<br />' . TEXT_PRODUCT_EDIT . '</a>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_SPECIALS, 'action=pre_add') . '">' . zen_image_button('button_select.gif', IMAGE_SELECT) . '<br />' . TEXT_INFO_MANUAL . '</a><br /><br />'); } break; } if (zen_not_null($heading) && zen_not_null($contents)) { echo ' <td width="25%" valign="top">' . "\n"; $box = new box(); echo $box->infoBox($heading, $contents); echo ' </td>' . "\n"; } } ?> </tr> </table></td> </tr>
$heading[] = array('text' => '<b>' . $product_to_copy->fields['products_id'] . ' ' . $product_to_copy->fields['products_name'] . '</b>'); if ($products_filter > 0) { $contents[] = array('text' => zen_image(DIR_WS_CATALOG_IMAGES . $product_to_copy->fields['products_image'], $product_to_copy->fields['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT)); } $contents[] = array('text' => '<br />' . TEXT_PRODUCTS_NAME . $product_to_copy->fields['products_name']); $contents[] = array('text' => TEXT_PRODUCTS_MODEL . $product_to_copy->fields['products_model']); $contents[] = array('text' => TEXT_PRODUCTS_PRICE . zen_get_products_display_price($products_filter)); switch (true) { case $product_to_copy->fields['master_categories_id'] == 0 and $products_filter > 0: $contents[] = array('text' => '<br /><span class="alert">' . WARNING_MASTER_CATEGORIES_ID . '</span><br /> '); break; default: $contents[] = array('text' => '<form action="' . FILENAME_PRODUCTS_TO_CATEGORIES . '.php' . '?action=edit&products_filter=' . $products_filter . '¤t_category_id=' . $current_category_id . '" method="post">'); $contents[] = array('align' => 'center', 'text' => '<input type="submit" value="' . BUTTON_NEW_PRODUCTS_TO_CATEGORIES . '"></form>'); $contents[] = array('text' => '<br />' . zen_image(DIR_WS_IMAGES . 'pixel_black.gif', '', '100%', '3') . '<br /> '); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, 'products_filter=' . $products_filter) . '">' . zen_image_button('button_edit_attribs.gif', IMAGE_EDIT_ATTRIBUTES) . '</a> ' . '<a href="' . zen_href_link(FILENAME_PRODUCTS_PRICE_MANAGER, '&products_filter=' . $products_filter) . '">' . zen_image_button('button_products_price_manager.gif', IMAGE_PRODUCTS_PRICE_MANAGER) . '</a><br /><br />' . '<a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . zen_get_parent_category_id($products_filter) . '&pID=' . $products_filter . '&product_type=' . zen_get_products_type($products_filter)) . '">' . zen_image_button('button_details.gif', IMAGE_DETAILS) . '</a> ' . '<a href="' . zen_href_link(FILENAME_CATEGORIES, 'action=new_product' . '&cPath=' . zen_get_parent_category_id($products_filter) . '&pID=' . $products_filter . '&product_type=' . zen_get_products_type($products_filter)) . '">' . zen_image_button('button_edit_product.gif', IMAGE_EDIT_PRODUCT) . '</a>' . '<br /> '); break; } break; } if (zen_not_null($heading) && zen_not_null($contents)) { echo ' <td width="25%" valign="top">' . "\n"; $box = new box(); echo $box->infoBox($heading, $contents); echo ' </td>' . "\n"; } ?> </tr> </td></table> </tr>
?> </td> <td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?> </td> </tr> </table></td> </tr> </table></td> <?php $heading = array(); $contents = array(); if (isset($pInfo) && is_object($pInfo)) { $heading[] = array('text' => '<b>' . $pInfo->products_name . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_CATEGORIES, 'action=new_product' . '&cPath=' . zen_get_products_category_id($pInfo->products_id) . '&pID=' . $pInfo->products_id . '&product_type=' . zen_get_products_type($pInfo->products_id)) . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_INFO_DATE_EXPECTED . ' ' . zen_date_short($pInfo->products_date_available)); } if (zen_not_null($heading) && zen_not_null($contents)) { echo ' <td width="25%" valign="top">' . "\n"; $box = new box(); echo $box->infoBox($heading, $contents); echo ' </td>' . "\n"; } ?> </tr> </table></td> </tr> </table></td> <!-- body_text_eof //--> </tr>
// bof note links // customers note if($nInfo->customers_id > 0) $contents[] = array('text' => '<a href="' . FILENAME_CUSTOMERS . '.php' . '?cID=' . $nInfo->customers_id . '&action=edit' . '"><strong>' . TEXT_INFO_NOTE_CUSTOMER . '</strong></a>'); // orders note if($nInfo->orders_id > 0) $contents[] = array('text' => '<a href="' . FILENAME_ORDERS . '.php' . '?oID=' . $nInfo->orders_id . '&action=edit' . '"><strong>' . TEXT_INFO_NOTE_ORDER . '</strong></a>'); if(zen_not_null($nInfo->categories_id)) $contents[] = array('text' => '<a href="' . FILENAME_CATEGORIES . '.php' . '?cPath=' . $nInfo->categories_id . '"><strong>' . TEXT_INFO_NOTE_CATEGORY . '</strong></a>'); // products note if($nInfo->products_id > 0) $contents[] = array('text' => '<a href="' . FILENAME_PRODUCT . '.php' . '?action=new_product&pID=' . $nInfo->products_id . '&product_type=' . zen_get_products_type($nInfo->products_id) . '&cPath=' . zen_get_products_category_id($nInfo->products_id) . '"><strong>' . TEXT_INFO_NOTE_PRODUCT . '</strong></a>'); // eof note links $contents[] = array('text' => '<br />' . TEXT_INFO_NOTE_TEXT . '<p style="font-weight: bold; ">' . nl2br(stripslashes($nInfo->notes_text)) . '</p>'); $contents[] = array('text' => '<br />' . TEXT_INFO_DATE_CREATED . zen_date_long($nInfo->notes_date_created)); if (zen_not_null($nInfo->notes_date_modified)) $contents[] = array('text' => TEXT_INFO_NOTE_DATE_MODIFIED . ': ' . zen_date_long($nInfo->notes_date_modified)); } break; } if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) { echo ' <td width="25%" valign="top">' . "\n"; $box = new box;
<td class="main" align="center" valign="bottom"> <?php echo zen_image(DIR_WS_IMAGES . 'icon_yellow_on.gif', IMAGE_ICON_LINKED) . ' ' . TEXT_LEGEND_LINKED . ' ' . zen_get_product_is_linked($productsId, 'true'); ?> </td> </tr> <?php } ?> <tr> <td class="main" align="center" valign="bottom"> <?php if ($_GET['products_id'] != '') { echo '<a href="' . zen_href_link_admin(FILENAME_CATEGORIES, 'cPath=' . $current_category_id . '&pID=' . $productsId . '&product_type=' . zen_get_products_type($productsId)) . '">' . zen_image_button('button_details.gif', IMAGE_DETAILS) . '<br />' . TEXT_PRODUCT_DETAILS . '</a>' . ' '; echo '</td><td class="main" align="center" valign="bottom">'; echo '<a href="' . zen_href_link_admin(FILENAME_CATEGORIES, 'action=new_product' . '&cPath=' . $current_category_id . '&pID=' . $productsId . '&product_type=' . zen_get_products_type($productsId)) . '">' . zen_image_button('button_edit_product.gif', IMAGE_EDIT_PRODUCT) . '<br />' . TEXT_PRODUCT_EDIT . '</a>'; echo '</td><td class="main" align="center" valign="bottom">'; echo '<a href="' . zen_href_link_admin(FILENAME_ATTRIBUTES_CONTROLLER, '&products_id=' . $productsId . '¤t_category_id=' . $current_category_id, 'NONSSL') . '">' . zen_image_button('button_edit_attribs.gif', IMAGE_EDIT_ATTRIBUTES) . '<br />' . TEXT_ATTRIBUTE_EDIT . '</a>' . ' '; } ?> </td> </tr> <tr> <td class="smallText" align="center" colspan="3"><?php echo '<a href="' . zen_href_link_admin(FILENAME_PRODUCTS_TO_CATEGORIES, '&products_id=' . $productsId) . '">' . IMAGE_PRODUCTS_TO_CATEGORIES . '</a>'; ?> </td> </tr> </table> </td> </tr>
function zen_active_notes() { global $db, $messageStack; // BOF list active notes $order_by = 'ORDER BY notes_categories_name'; $notes_categories_query = "select * FROM " . TABLE_NOTES_CATEGORIES . " " . $order_by; $notes_categories_results = $db->Execute($notes_categories_query); while (!$notes_categories_results->EOF) { $order_by = 'ORDER BY notes_start_date DESC'; // use CURDATE ? //$notes_active_query = ("select * FROM " . TABLE_NOTES . " n LEFT JOIN " . TABLE_NOTES_CATEGORIES . " nc ON (n.notes_categories_id = nc.notes_categories_id) " . " WHERE (`notes_status` = '1') AND (((`notes_start_date` <= NOW()) AND (`notes_start_date` >= '0001-01-01')) AND ((`notes_end_date` >= NOW()) OR (`notes_end_date` <= '0001-01-01')))" . $order_by); $notes_active_query = "select * FROM " . TABLE_NOTES . " WHERE ((`notes_is_public` = '1' || `admin_id` = '" . (int) $_SESSION['admin_id'] . "') AND ((`notes_categories_id` = '" . $notes_categories_results->fields['notes_categories_id'] . "') AND ((`notes_status` = '1') AND (((`notes_start_date` <= NOW()) AND (`notes_start_date` >= '0001-01-01')) AND ((`notes_end_date` >= NOW()) OR (`notes_end_date` <= '0001-01-01'))))))" . $order_by; $notes_active_results = $db->Execute($notes_active_query); if (count($notes_active_results) > 0) { if (isset($_GET['oID']) && $_GET['oID'] > 0) { // lookup the customer id of the order // so we can show the customer notes when viewing orders ($order is not available yet at this point, we need a query) $notes_customer_query = "select customers_id FROM " . TABLE_ORDERS . " WHERE (`orders_id` = " . (int) $_GET['oID'] . ") LIMIT 1"; $notes_customer_result = $db->Execute($notes_customer_query); } } $messageStackArray = array(); while (!$notes_active_results->EOF) { /* echo '<pre>'; print_r($notes_active_results->fields); echo '</pre>'; */ $note_link = zen_href_link('notes', 'nID=' . $notes_active_results->fields['notes_id']); $notes_active_array = $notes_active_results->fields; $notes_active = new objectInfo($notes_active_array); //print_r($notes_active); switch (true) { case $notes_active->notes_is_special_status == 1: // special products, customers, orders or categories note if (basename($_SERVER['PHP_SELF']) != FILENAME_NOTES) { // do not show on notes page itself if ($notes_active->customers_id > 0 || $notes_active->orders_id > 0 || $notes_active->categories_id > 0 || $notes_active->products_id > 0) { // these notes must only be shown when the customer/order/category/product is viewed by the admin // customers note if (isset($_GET['cID']) && $_GET['cID'] == $notes_active->customers_id || $notes_customer_result->fields['customers_id'] > 0 && $notes_customer_result->fields['customers_id'] == $notes_active->customers_id) { $messageStackArray[] = '<a href="' . $note_link . '&action=view' . '">' . $notes_active_results->fields['notes_title'] . '</a> (Special Customers note)'; } // orders note if (isset($_GET['oID']) && $_GET['oID'] == $notes_active->orders_id) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a> (Special Orders note)'; } // category note if (isset($_GET['cPath']) && $_GET['cPath'] != '' && $_GET['cPath'] == $notes_active->categories_id) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a> (Special Categories note)'; } // products note if (isset($_GET['pID']) && $_GET['pID'] == $notes_active->products_id) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a> (Special Products note)'; } } else { // note is not attached yet if (isset($_GET['pID']) || isset($_GET['cPath']) || isset($_GET['oID']) || isset($_GET['cID'])) { $parameters = ''; $parameters = (isset($_GET['cPath']) ? '&cPath=' . $_GET['cPath'] : '') . (isset($_GET['pID']) ? '&pID=' . (int) $_GET['pID'] : '') . (isset($_GET['oID']) ? '&oID=' . (int) $_GET['oID'] : '') . (isset($_GET['cID']) ? '&cID=' . (int) $_GET['cID'] : ''); $messageStackArray[] = 'Attach this ' . ' note now? ' . '<a href="' . $note_link . '&action=edit' . $parameters . '">' . $notes_active_results->fields['notes_title'] . '</a>'; } } } break; case $notes_active->notes_is_special_status != 1 && ($notes_active->customers_id > 0 || $notes_active->orders_id > 0 || $notes_active->categories_id > 0 || $notes_active->products_id > 0): // non special products, customers, orders or categories note // customers note if ($notes_active->customers_id > 0) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a>' . '| <a href="' . FILENAME_CUSTOMERS . '.php' . '?cID=' . $notes_active->customers_id . '&action=edit' . '">' . 'Edit customer' . '</a>'; } // orders note if ($notes_active->orders_id > 0) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a>' . ' | <a href="' . FILENAME_ORDERS . '.php' . '?oID=' . $notes_active->orders_id . '&action=edit' . '">' . 'Edit order' . '</a>'; } // category note) if (zen_not_null($notes_active->categories_id)) { $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a>' . ' | <a href="' . FILENAME_CATEGORIES . '.php' . '?cPath=' . $notes_active->categories_id . '">' . 'Edit category' . '</a>'; } // products note if ($notes_active->products_id > 0) { //&product_type=1&cPath=1_4&pID=1&action=new_product; $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a>' . ' | <a href="' . FILENAME_PRODUCT . '.php' . '?action=new_product&pID=' . $notes_active->products_id . '&product_type=' . zen_get_products_type($notes_active->products_id) . '&cPath=' . zen_get_products_category_id($notes_active->products_id) . '">' . 'Edit product' . '</a>'; } break; default: // general notes $messageStackArray[] = '<a href="' . $note_link . '">' . $notes_active_results->fields['notes_title'] . '</a>'; break; } if ($notes_active->notes_is_special_status == 1 && basename($_SERVER['PHP_SELF']) != FILENAME_NOTES) { $show_special = true; } if ($notes_active->customers_id > 0 || $notes_active->orders_id > 0 || $notes_active->categories_id > 0 || $notes_active->products_id > 0) { } elseif ($special) { // ask to attach //exit('special attach ' . $notes_active->notes_id); } elseif ($notes_active->notes_is_special_status != 1) { } $notes_active_results->MoveNext(); } if (count($messageStackArray) > 0) { $messageStackNotes = implode('</li><li>', $messageStackArray); $messageStack->add($notes_categories_results->fields['notes_categories_name'] . ' notes:<ul id="notesNotifierList" style="margin: 0.1em;"><li>' . $messageStackNotes . '</li></ul>', 'warning'); } $notes_categories_results->MoveNext(); } // EOF list active notes }
if (EASYPOPULATE_4_CONFIG_EXPORT_URI != '0') { $row['v_html_uri'] = zen_catalog_href_link(FILENAME_DEFAULT, 'cPath=' . zen_get_path($row['v_categories_id']), 'NONSSL'); } } // if ($ep_dltype ... // CATEGORIES EXPORT // chadd - 12-13-2010 - logic change. $max_categories no longer required. better to loop back to root category and // concatenate the entire categories path into one string with $category_delimiter for separater. if ($ep_dltype == 'full' || $ep_dltype == 'category') { // chadd - 12-02-2010 fixed error: missing parenthesis // NEW While-loop for unlimited category depth $category_delimiter = "^"; $thecategory_id = $row['v_categories_id']; // starting category_id if ($ep_dltype == 'full' && EASYPOPULATE_4_CONFIG_EXPORT_URI != '0') { $sql_type = "SELECT type_handler FROM " . TABLE_PRODUCT_TYPES . " WHERE type_id = " . (int) zen_get_products_type($row['v_products_id']); $sql_typename = $db->Execute($sql_type); // $row['v_html_uri'] = zen_href_link(FILENAME_DEFAULT, 'main_page=' . $sql_typename->fields['type_handler'] . '_info&cPath=' . zen_get_generated_category_path_ids($row['v_master_categories_id']) . '&products_id=' . $row['v_products_id'],'NONSSL', false, true, false, true); //This generates an admin folder like link/reference not a catalog version. $row['v_html_uri'] = zen_catalog_href_link($sql_typename->fields['type_handler'] . '_info', 'cPath=' . zen_get_generated_category_path_ids($row['v_master_categories_id']) . '&products_id=' . $row['v_products_id'], 'NONSSL'); //zen_catalog_href_link($page = '', $parameters = '', $connection = 'NONSSL') //FILENAME_DEFAULT . '?main_page=' . zen_get_products_type($row['products_id']) //function zen_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true, $static = false, $use_dir_ws_catalog = true) } // $fullcategory = array(); // this will have the entire category path separated by $category_delimiter // if parent_id is not null ('0'), then follow it up. while (!empty($thecategory_id)) { // mult-lingual categories start - for each language, get category description and name $sql2 = 'SELECT * FROM ' . TABLE_CATEGORIES_DESCRIPTION . ' WHERE categories_id = ' . $thecategory_id . ' ORDER BY language_id'; $result2 = ep_4_query($sql2); while ($row2 = $ep_uses_mysqli ? mysqli_fetch_array($result2) : mysql_fetch_array($result2)) { $lid = $row2['language_id']; $row['v_categories_name_' . $lid] = $row2['categories_name'] . $category_delimiter . $row['v_categories_name_' . $lid];
function _dispatchProduct($map, $data) { $product_id = $data->fields['products_id']; $value = '<a href="' . zen_href_link(FILENAME_CATEGORIES, '&action=new_product' . '&cPath=' . zen_get_product_path($data->fields['products_id'], 'override') . '&pID=' . $data->fields['products_id'] . '&product_type=' . zen_get_products_type($data->fields['products_id'])) . '">' . $data->fields['products_name'] . '</a>'; #$value = $data->fields['products_name']; return $value; }
function delete_category($categories_id) { global $db, $zc_products; // future cat specific deletion $delete_linked = 'true'; if ($_POST['delete_linked'] == 'delete_linked_no') { $delete_linked = 'false'; } else { $delete_linked = 'true'; } // delete category and products $categories_id = zen_db_prepare_input($categories_id); // create list of any subcategories in the selected category, $categories = zen_get_category_tree($categories_id, '', '0', '', true); zen_set_time_limit(600); // loop through this cat and subcats for delete-processing. for ($i = 0, $n = sizeof($categories); $i < $n; $i++) { $sql = "select products_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id='" . $categories[$i]['id'] . "'"; $category_products = $db->Execute($sql); while (!$category_products->EOF) { // determine product-type-specific override script for this product $product_type = zen_get_products_type($category_products->fields['products_id']); // now loop thru the delete_product_confirm script for each product in the current category if (file_exists(DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php')) { require DIR_WS_MODULES . $zc_products->get_handler($product_type) . '/delete_product_confirm.php'; } else { require DIR_WS_MODULES . 'delete_product_confirm.php'; } // THIS LINE COMMENTED BECAUSE IT'S DONE ALREADY DURING DELETE_PRODUCT_CONFIRM.PHP: //zen_remove_product($category_products->fields['products_id'], $delete_linked); $category_products->MoveNext(); } zen_remove_category($categories[$i]['id']); } // end for loop }