Exemple #1
0
     while ($categories = xos_db_fetch_array($categories_query)) {
         $categories_string .= " or p2c.categories_or_pages_id = '" . $categories['categories_or_pages_id'] . "'";
         $categories_string = xos_get_categories_string($categories['categories_or_pages_id'], '', $categories_string);
     }
     return $categories_string;
 }
 $javascript = '<script type="text/JavaScript">' . "\n" . '/* <![CDATA[ */' . "\n" . '  function cOn(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#CCCCCC";' . "\n" . '    }' . "\n" . '  }' . "\n\n" . '  function cOnA(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#CCFFFF";' . "\n" . '    }' . "\n" . '  }' . "\n\n" . '  function cOut(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#DFE4F4";' . "\n" . '    }' . "\n" . '  }' . "\n" . '/* ]]> */' . "\n" . '</script>' . "\n";
 require DIR_WS_INCLUDES . 'html_header.php';
 require DIR_WS_INCLUDES . 'header.php';
 require DIR_WS_INCLUDES . 'column_left.php';
 require DIR_WS_INCLUDES . 'footer.php';
 if (!$_GET['sort'] && !$_POST['run_update']) {
     if ($_GET['page'] == '') {
         $_GET['page'] = '1';
     }
     $smarty->assign(array('set_filter' => true, 'form_begin_filter_xsell_products' => xos_draw_form('filter_xsell_products', FILENAME_XSELL_PRODUCTS, $_GET['first_entrance'] ? '' : xos_get_all_get_params(), 'get'), 'pull_down_menu_categories_or_pages_id' => xos_draw_pull_down_menu('categories_or_pages_id', xos_get_category_tree(), $categories_or_pages_id), 'pull_down_menu_manufacturers_id' => xos_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $manufacturers_id), 'pull_down_menu_max_rows' => xos_draw_pull_down_menu('max_rows', $max_display_xsell_results_array, $_GET['max_rows'], 'style="width: 75px;"'), 'hidden_field_add_related_product_ID' => xos_draw_hidden_field('add_related_product_ID', $_GET['add_related_product_ID'])));
     if (SESSID) {
         $smarty->assign('hidden_field_session', xos_draw_hidden_field(xos_session_name(), xos_session_id()));
     }
 }
 //////////////////////////////////////////////////////////////////////////////////
 if (!$_GET['add_related_product_ID'] && !$_GET['first_entrance']) {
     if ($categories_or_pages_id) {
         $includes_categories = xos_get_categories_string($categories_or_pages_id, true);
     }
     $products_query_raw = "select distinct a.products_id, b.products_name, a.products_model, a.products_status from " . TABLE_PRODUCTS . " a, " . TABLE_PRODUCTS_DESCRIPTION . " b, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where b.products_id = a.products_id and b.products_id = p2c.products_id and b.language_id = '" . (int) $_SESSION['used_lng_id'] . "'" . ($categories_or_pages_id ? " and (" . $includes_categories . ")" : "") . ($manufacturers_id ? " and a.manufacturers_id ='" . $manufacturers_id . "'" : "") . " ORDER BY b.products_name";
     $products_split = new splitPageResults($_GET['page'], $_GET['max_rows'], $products_query_raw, $products_query_numrows, 'a.products_id');
     $products_query = xos_db_query($products_query_raw);
     if ($products_query_numrows > 0) {
         /* now we will query the DB for existing related items */
         $products_array = array();
     $categories_query = xos_db_query("select c.categories_or_pages_id, cpd.categories_or_pages_name, c.parent_id from " . TABLE_CATEGORIES_OR_PAGES . " c, " . TABLE_CATEGORIES_OR_PAGES_DATA . " cpd where c.categories_or_pages_id = cpd.categories_or_pages_id and cpd.language_id = '" . (int) $_SESSION['used_lng_id'] . "' and c.parent_id = '" . (int) $parent_id . "' order by c.sort_order, cpd.categories_or_pages_name");
     while ($categories = xos_db_fetch_array($categories_query)) {
         $categories_string .= " or p2c.categories_or_pages_id = '" . $categories['categories_or_pages_id'] . "'";
         $categories_string = xos_get_categories_string($categories['categories_or_pages_id'], '', $categories_string);
     }
     return $categories_string;
 }
 $javascript = '<script type="text/javascript">' . "\n" . '/* <![CDATA[ */' . "\n\n" . 'function toggle() {' . "\n" . '  if (document.getElementById("options").style.display == "none"){' . "\n" . '    document.getElementById("filter").style.display="none";' . "\n" . '    document.getElementById("no-filter").style.display="";' . "\n" . '    document.getElementById("options").style.display="";' . "\n" . '    document.getElementById("attributes").style.display="none";' . "\n" . '  } else {' . "\n" . '    document.getElementById("filter").style.display="";' . "\n" . '    document.getElementById("no-filter").style.display="none";' . "\n" . '    document.getElementById("options").style.display="none";' . "\n" . '    document.getElementById("attributes").style.display="";' . "\n" . '  }' . "\n" . '}' . "\n\n" . '/* ]]> */' . "\n" . '</script>' . "\n";
 require DIR_WS_INCLUDES . 'html_header.php';
 require DIR_WS_INCLUDES . 'header.php';
 require DIR_WS_INCLUDES . 'column_left.php';
 require DIR_WS_INCLUDES . 'footer.php';
 if ($pID) {
     $smarty->assign(array('single_product' => true, 'text_new_product' => sprintf(TEXT_NEW_PRODUCT_3, $form_action == 'insert_product' ? TEXT_NEW_PRODUCT_1 : TEXT_NEW_PRODUCT_2, xos_output_generated_category_path($current_category_id)), 'link_back_to_product_list' => xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pID), 'form_begin_filter_products_attributes' => xos_draw_form('filter_products_attributes', FILENAME_PRODUCTS_ATTRIBUTES, '', 'get'), 'pull_down_menu_max_rows' => xos_draw_pull_down_menu('max_rows', $max_display_rows_array, $_GET['max_rows'], 'style="width: 75px;"'), 'hidden_fields_page_info' => xos_draw_hidden_field('pID', $pID) . xos_draw_hidden_field('cPath', $cPath) . xos_draw_hidden_field('selected_tax_rate_id', $_GET['selected_tax_rate_id']) . xos_draw_hidden_field('option_page', $_GET['option_page']) . xos_draw_hidden_field('value_page', $_GET['value_page']) . xos_draw_hidden_field('attribute_page', $_GET['attribute_page']), 'form_end_filter' => '</form>'));
 } else {
     $smarty->assign(array('form_begin_filter_products_attributes' => xos_draw_form('filter_products_attributes', FILENAME_PRODUCTS_ATTRIBUTES, '', 'get'), 'pull_down_menu_categories_or_pages_id' => xos_draw_pull_down_menu('categories_or_pages_id', xos_get_category_tree(), $categories_or_pages_id), 'pull_down_menu_manufacturers_id' => xos_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $manufacturers_id), 'pull_down_menu_max_rows' => xos_draw_pull_down_menu('max_rows', $max_display_rows_array, $_GET['max_rows'], 'style="width: 75px;"'), 'pull_down_menu_max_products' => xos_draw_pull_down_menu('max_products_in_pullwown', $max_display_products_in_pulldown_array, $_GET['max_products_in_pullwown'], 'style="width: 155px;"'), 'hidden_fields_page_info' => xos_draw_hidden_field('selected_tax_rate_id', $_GET['selected_tax_rate_id']) . xos_draw_hidden_field('option_page', $_GET['option_page']) . xos_draw_hidden_field('value_page', $_GET['value_page']) . xos_draw_hidden_field('attribute_page', $_GET['attribute_page']), 'form_end_filter' => '</form>'));
 }
 if (SESSID) {
     $smarty->assign('hidden_field_session', xos_draw_hidden_field(xos_session_name(), xos_session_id()));
 }
 $js_init_style = '<script type="text/javascript">' . "\n" . '/* <![CDATA[ */' . "\n\n";
 if ($_GET['first_entrance']) {
     $js_init_style .= '    document.getElementById("filter").style.display="";' . "\n" . '    document.getElementById("no-filter").style.display="none";' . "\n" . '    document.getElementById("options").style.display="none";' . "\n" . '    document.getElementById("attributes").style.display="none";' . "\n\n";
 } elseif ($_GET['options_page']) {
     $js_init_style .= '    document.getElementById("filter").style.display="none";' . "\n" . '    document.getElementById("no-filter").style.display="";' . "\n" . '    document.getElementById("options").style.display="";' . "\n" . '    document.getElementById("attributes").style.display="none";' . "\n\n";
 } else {
     $js_init_style .= '    document.getElementById("filter").style.display="";' . "\n" . '    document.getElementById("no-filter").style.display="none";' . "\n" . '    document.getElementById("options").style.display="none";' . "\n" . '    document.getElementById("attributes").style.display="";' . "\n\n";
 }
 $js_init_style .= '/* ]]> */' . "\n" . '</script>' . "\n";
 $smarty->assign('js_init_style', $js_init_style);
 if (!$_GET['first_entrance']) {
     return $categories_string;
 }
 if ($_GET['product_ID']) {
     $javascript = '<script type="text/javascript" src="' . DIR_WS_ADMIN_IMAGES . ADMIN_TPL . '/' . $_SESSION['language'] . '/jquery.ui.datepicker-language.min.js"></script>' . "\n";
 } else {
     $javascript = '<script type="text/JavaScript">' . "\n" . '/* <![CDATA[ */' . "\n" . '  function cOn(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#cccccc";' . "\n" . '    }' . "\n" . '  }' . "\n\n" . '  function cOnA(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#ccffff";' . "\n" . '    }' . "\n" . '  }' . "\n\n" . '  function cOut(td) {' . "\n" . '    if(document.getElementById||(document.all && !(document.getElementById))) {' . "\n" . '      td.style.backgroundColor="#ebebff";' . "\n" . '    }' . "\n" . '  }' . "\n" . '/* ]]> */' . "\n" . '</script>' . "\n";
 }
 require DIR_WS_INCLUDES . 'html_header.php';
 require DIR_WS_INCLUDES . 'header.php';
 require DIR_WS_INCLUDES . 'column_left.php';
 require DIR_WS_INCLUDES . 'footer.php';
 if (!$_GET['product_ID']) {
     if ($_GET['page'] == '') {
         $_GET['page'] = '1';
     }
     $smarty->assign(array('set_filter' => true, 'form_begin_filter_update_products_prices' => xos_draw_form('filter_update_products_prices', FILENAME_UPDATE_PRODUCTS_PRICES, $_GET['first_entrance'] ? '' : xos_get_all_get_params(), 'get'), 'pull_down_menu_categories_or_pages_id' => xos_draw_pull_down_menu('categories_or_pages_id', xos_get_category_tree(), $categories_or_pages_id), 'pull_down_menu_manufacturers_id' => xos_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $manufacturers_id), 'pull_down_menu_max_rows' => xos_draw_pull_down_menu('max_rows', $max_display_update_prices_results_array, $_GET['max_rows'], 'style="width: 75px;"'), 'checkbox_specials_only' => xos_draw_checkbox_field('specials_only', '', $_GET['specials_only'])));
     if (SESSID) {
         $smarty->assign('hidden_field_session', xos_draw_hidden_field(xos_session_name(), xos_session_id()));
     }
 }
 if (!$_GET['product_ID'] && !$_GET['first_entrance']) {
     if ($categories_or_pages_id) {
         $includes_categories = xos_get_categories_string($categories_or_pages_id, true);
     }
     if ($_GET['specials_only']) {
         $products_query_raw = "select distinct a.products_id, b.products_name, a.products_model, a.products_price, a.products_status, a.products_tax_class_id from " . TABLE_PRODUCTS . " a, " . TABLE_PRODUCTS_DESCRIPTION . " b, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_SPECIALS . " s where b.products_id = a.products_id and b.products_id = p2c.products_id and b.products_id = s.products_id and s.error = '0' and b.language_id = '" . (int) $_SESSION['used_lng_id'] . "'" . ($categories_or_pages_id ? " and (" . $includes_categories . ")" : "") . ($manufacturers_id ? " and a.manufacturers_id ='" . $manufacturers_id . "'" : "") . " ORDER BY b.products_name";
     } else {
         $products_query_raw = "select distinct a.products_id, b.products_name, a.products_model, a.products_price, a.products_status, a.products_tax_class_id from " . TABLE_PRODUCTS . " a, " . TABLE_PRODUCTS_DESCRIPTION . " b, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where b.products_id = a.products_id and b.products_id = p2c.products_id and b.language_id = '" . (int) $_SESSION['used_lng_id'] . "'" . ($categories_or_pages_id ? " and (" . $includes_categories . ")" : "") . ($manufacturers_id ? " and a.manufacturers_id ='" . $manufacturers_id . "'" : "") . " ORDER BY b.products_name";
     }
     $products_split = new splitPageResults($_GET['page'], $_GET['max_rows'], $products_query_raw, $products_query_numrows, 'a.products_id');
     $products_query = xos_db_query($products_query_raw);
Exemple #4
0
function xos_get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false)
{
    if (!is_array($category_tree_array)) {
        $category_tree_array = array();
    }
    if (sizeof($category_tree_array) < 1 && $exclude != '0') {
        $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP);
    }
    if ($include_itself) {
        $category_query = xos_db_query("select cpd.categories_or_pages_name, c.categories_or_pages_status from " . TABLE_CATEGORIES_OR_PAGES . " c, " . TABLE_CATEGORIES_OR_PAGES_DATA . " cpd where c.categories_or_pages_id = cpd.categories_or_pages_id and c.is_page = 'false' and cpd.language_id = '" . (int) $_SESSION['used_lng_id'] . "' and cpd.categories_or_pages_id = '" . (int) $parent_id . "'");
        $category = xos_db_fetch_array($category_query);
        $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_or_pages_name']);
    }
    $categories_query = xos_db_query("select c.categories_or_pages_id, cpd.categories_or_pages_name, c.parent_id, c.categories_or_pages_status from " . TABLE_CATEGORIES_OR_PAGES . " c, " . TABLE_CATEGORIES_OR_PAGES_DATA . " cpd where c.categories_or_pages_id = cpd.categories_or_pages_id and c.is_page = 'false' and cpd.language_id = '" . (int) $_SESSION['used_lng_id'] . "' and c.parent_id = '" . (int) $parent_id . "' order by c.sort_order, cpd.categories_or_pages_name");
    while ($categories = xos_db_fetch_array($categories_query)) {
        if ($exclude != $categories['categories_or_pages_id']) {
            $category_tree_array[] = array('id' => $categories['categories_or_pages_id'], 'text' => $spacing . $categories['categories_or_pages_name'], 'params' => $categories['categories_or_pages_status'] == 0 ? 'style="color: red;"' : '');
        }
        $category_tree_array = xos_get_category_tree($categories['categories_or_pages_id'], $spacing . '&nbsp;&nbsp;&nbsp;', $exclude, $category_tree_array);
    }
    return $category_tree_array;
}
         $categories_or_pages_id = xos_db_prepare_input($_POST['categories_or_pages_id']);
         $new_parent_id = xos_db_prepare_input($_POST['move_to_category_id']);
         $path = explode('_', xos_get_generated_category_path_ids($new_parent_id));
         if (in_array($categories_or_pages_id, $path)) {
             $messageStack->add_session('header', ERROR_CANNOT_MOVE_CATEGORY_TO_PARENT, 'error');
             xos_redirect(xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cpID=' . $categories_or_pages_id));
         } elseif (xos_children_in_category_count($new_parent_id) == 0 && xos_products_in_category_count($new_parent_id) > 0) {
             $messageStack->add_session('header', ERROR_CANNOT_MOVE_CATEGORY_TO_CATEGORY_CONTAINING_PRODUCTS, 'error');
             xos_redirect(xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cpID=' . $categories_or_pages_id));
         } else {
             xos_db_query("update " . TABLE_CATEGORIES_OR_PAGES . " set parent_id = '" . (int) $new_parent_id . "', last_modified = now() where categories_or_pages_id = '" . (int) $categories_or_pages_id . "'");
             if ($new_parent_id > '0') {
                 $categories_query = xos_db_query("select categories_or_pages_status from " . TABLE_CATEGORIES_OR_PAGES . " where categories_or_pages_id = '" . (int) $new_parent_id . "'");
                 $categories = xos_db_fetch_array($categories_query);
                 if ($categories['categories_or_pages_status'] == '0') {
                     $tree = xos_get_category_tree($new_parent_id);
                     for ($i = 1; $i < sizeof($tree); $i++) {
                         xos_db_query("update " . TABLE_CATEGORIES_OR_PAGES . " set categories_or_pages_status = '0', last_modified = now() where categories_or_pages_id = '" . $tree[$i]['id'] . "'");
                     }
                 }
             }
             $smarty_cache_control->clearAllCache();
             xos_redirect(xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $new_parent_id . '&cpID=' . $categories_or_pages_id));
         }
     }
     break;
 case 'move_product_confirm':
     $products_id = xos_db_prepare_input($_POST['products_id']);
     $new_parent_id = xos_db_prepare_input($_POST['move_to_category_id']);
     if (xos_children_in_category_count($new_parent_id) > 0) {
         $messageStack->add_session('header', ERROR_CANNOT_MOVE_PRODUCT_TO_TOP_OR_TO_CATEGORY_CONTAINS_SUBCATEGORIES, 'error');
            // find out the rating average from customer reviews
            $reviews_query = xos_db_query("select (avg(reviews_rating) / 5 * 100) as average_rating from " . TABLE_REVIEWS . " where products_id = '" . (int) $products['products_id'] . "'");
            $reviews = xos_db_fetch_array($reviews_query);
            $pInfo_array = array_merge((array) $products, (array) $reviews);
            $pInfo = new objectInfo($pInfo_array);
        }
        $products_array[] = array('selected' => isset($pInfo) && is_object($pInfo) && $products['products_id'] == $pInfo->products_id ? true : false, 'status' => $products['products_status'] == '1' ? true : false, 'name' => $products['products_name'], 'sort_order' => $products['products_sort_order'], 'icon_status_green' => xos_image(DIR_WS_ADMIN_IMAGES . ADMIN_TPL . '/icon_status_green.gif', ICON_TITLE_STATUS_GREEN), 'icon_status_red' => xos_image(DIR_WS_ADMIN_IMAGES . ADMIN_TPL . '/icon_status_red.gif', ICON_TITLE_STATUS_RED), 'icon_status_green_light' => xos_image(DIR_WS_ADMIN_IMAGES . ADMIN_TPL . '/icon_status_green_light.gif', ICON_TITLE_STATUS_GREEN_LIGHT), 'icon_status_red_light' => xos_image(DIR_WS_ADMIN_IMAGES . ADMIN_TPL . '/icon_status_red_light.gif', ICON_TITLE_STATUS_RED_LIGHT), 'link_filename_categories_flag_0' => xos_href_link(FILENAME_CATEGORIES, 'action=setflag&flag=0&pID=' . $products['products_id'] . '&cPath=' . $cPath), 'link_filename_categories_flag_1' => xos_href_link(FILENAME_CATEGORIES, 'action=setflag&flag=1&pID=' . $products['products_id'] . '&cPath=' . $cPath), 'link_filename_categories_action_product_preview' => xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id'] . '&action=product_preview&read=only'), 'link_filename_categories_cpath_cpath_pid' => xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id']));
    }
    $cPath_back = '';
    $category_path = xos_generate_category_path($current_category_id);
    for ($i = sizeof($category_path[0]) - 1; $i > 0; $i--) {
        $current_category_id != $category_path[0][$i]['id'] ? $cPath_back .= $category_path[0][$i]['id'] . '_' : '';
    }
    $cPath_back = substr($cPath_back, 0, -1);
    $cPath_back = xos_not_null($cPath_back) ? 'cPath=' . $cPath_back . '&' : '';
    if (isset($_GET['search'])) {
        $smarty->assign('link_filename_categories_back', xos_href_link(FILENAME_CATEGORIES));
    } elseif ($current_category_id > 0) {
        $smarty->assign('link_filename_categories_back', xos_href_link(FILENAME_CATEGORIES, $cPath_back . 'cpID=' . $current_category_id));
    }
    if (!isset($_GET['search'])) {
        $smarty->assign(array('link_filename_categories_action_new_category' => xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&action=new_category'), 'link_filename_categories_action_new_product' => xos_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&action=new_product')));
    }
    if (SESSID) {
        $smarty->assign('hidden_field_session', xos_draw_hidden_field(xos_session_name(), xos_session_id()));
    }
    $smarty->assign(array('categories' => $categories_array, 'products' => $products_array, 'categories_count' => $categories_count, 'products_count' => $products_count, 'is_level_top' => $current_category_id == 0 ? true : false, 'form_begin_search' => xos_draw_form('search', FILENAME_CATEGORIES, '', 'get'), 'input_search' => xos_draw_input_field('search'), 'form_begin_goto' => xos_draw_form('goto', FILENAME_CATEGORIES, '', 'get'), 'pull_down_categories' => xos_draw_pull_down_menu('cPath', xos_get_category_tree(), $current_category_id, 'onchange="this.form.submit();"'), 'form_end' => '</form>'));
    require DIR_WS_BOXES . 'infobox_categories.php';
    $smarty->configLoad('languages/' . $_SESSION['language'] . '.conf', 'categories');
    $output_categories_and_products = $smarty->fetch(ADMIN_TPL . '/includes/modules/categories_and_products.tpl');
}