Jump to content

Dnj1964

♥Ambassador
  • Content count

    213
  • Joined

  • Last visited

Profile Information

  • Real Name
    Doug
  • Gender
    Male
  • Location
    Ontario, Canada

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Phoenix 1.0.7.10 Using the css below creates the button color .btn-success { font-size: .75rem; font-weight: 800; color: #FDE6FD; background-color: #B62285; border-color: #B62285; } Using the code below creates the mouse-over or hover color .btn-success:hover { font-size: .75rem; font-weight: 800; color: #B62285; background-color: #FDE6FD; border-color: #B62285; } Looking for code to use to change the green when add to cart is clicked, only shows for a second but would like to change it. Tried :focus but didn't work. Any help would be greatly appreciated, all other buttons would change as well with the basic css. Thanks, Doug
  2. @burt Thanks. Using a browser with a white background is a total washout. No issue, just idiot operating the keyboard.
  3. This is how my site looks in Firefox, displays correctly. The background is forced black as I have really bad cataracts and this about the only way I can see anything. Just downloaded Chrome and for some reason it pushes new products below left column.
  4. Dnj1964

    Header Tags SEO

    This is posted in the wrong support.... Should be in Header Tags SEO 3 Using Phoenix 1.0.7.9 Was hoping it may work, but applying the changes - code not found The /catalog/admin/maufacturers.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2020 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); $action = $_GET['action'] ?? ''; $OSCOM_Hooks->call('manufacturers', 'preAction'); if (tep_not_null($action)) { switch ($action) { case 'insert': case 'save': if (isset($_GET['mID'])) $manufacturers_id = tep_db_prepare_input($_GET['mID']); $manufacturers_name = tep_db_prepare_input($_POST['manufacturers_name']); $sql_data_array = ['manufacturers_name' => $manufacturers_name]; if ($action == 'insert') { $insert_sql_data = ['date_added' => 'now()']; $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform('manufacturers', $sql_data_array); $manufacturers_id = tep_db_insert_id(); } elseif ($action == 'save') { $update_sql_data = ['last_modified' => 'now()']; $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform('manufacturers', $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "'"); } $manufacturers_image = new upload('manufacturers_image'); $manufacturers_image->set_destination(DIR_FS_CATALOG . 'images/'); if ($manufacturers_image->parse() && $manufacturers_image->save()) { tep_db_query("update manufacturers set manufacturers_image = '" . tep_db_input($manufacturers_image->filename) . "' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } $languages = tep_get_languages(); for ($i=0, $n=count($languages); $i<$n; $i++) { $manufacturers_url_array = $_POST['manufacturers_url']; /*** Begin Header Tags SEO ***/ $manufacturers_seo_keywords_array = $_POST['manufacturers_seo_keywords']; $manufacturers_htc_title_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag']); $manufacturers_htc_title_alt_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag_alt']); $manufacturers_htc_title_url_array = $_POST['manufacturers_htc_title_tag_url']; $manufacturers_htc_desc_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_desc_tag']); $manufacturers_htc_keywords_array = $_POST['manufacturers_htc_keywords_tag']; $manufacturers_htc_description_array = $_POST['manufacturers_htc_description']; $manufacturers_htc_breadcrumb_array = $_POST['manufacturers_htc_breadcrumb_text']; /*** End Header Tags SEO ***/ $language_id = $languages[$i]['id']; $sql_data_array = ['manufacturers_url' => tep_db_prepare_input($manufacturers_url_array[$language_id])]; /*** Begin Header Tags SEO ***/ $sql_data_array['manufacturers_seo_keywords'] = tep_db_prepare_input($manufacturers_seo_keywords_array[$language_id]); $sql_data_array['manufacturers_htc_title_tag'] = (tep_not_null($manufacturers_htc_title_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_alt'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_alt_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_url'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_url_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_desc_tag'] = (tep_not_null($manufacturers_htc_desc_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_desc_array[$language_id]) : $manufacturers_name); $sql_data_array['manufacturers_htc_keywords_tag'] = (tep_not_null($manufacturers_htc_keywords_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_keywords_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_description'] = tep_db_prepare_input($manufacturers_htc_description_array[$language_id]); $sql_data_array['manufacturers_htc_breadcrumb_text'] = (tep_not_null($manufacturers_htc_breadcrumb_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_breadcrumb_array[$language_id])) : strip_tags($manufacturers_name)); /*** End Header Tags SEO ***/ if ($action == 'insert') { $insert_sql_data = ['manufacturers_id' => $manufacturers_id, 'languages_id' => $language_id]; $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform('manufacturers_info', $sql_data_array); } elseif ($action == 'save') { tep_db_perform('manufacturers_info', $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); } } $OSCOM_Hooks->call('manufacturers', 'insertSaveAction'); tep_redirect(tep_href_link('manufacturers.php', (isset($_GET['page']) ? 'page=' . (int)$_GET['page'] . '&' : '') . 'mID=' . $manufacturers_id)); break; case 'deleteconfirm': $manufacturers_id = tep_db_prepare_input($_GET['mID']); if (isset($_POST['delete_image']) && ($_POST['delete_image'] == 'on')) { $manufacturer_query = tep_db_query("select manufacturers_image from manufacturers where manufacturers_id = '" . (int)$manufacturers_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); $image_location = DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG . 'images/' . $manufacturer['manufacturers_image']; if (file_exists($image_location)) @unlink($image_location); } tep_db_query("delete from manufacturers where manufacturers_id = '" . (int)$manufacturers_id . "'"); tep_db_query("delete from manufacturers_info where manufacturers_id = '" . (int)$manufacturers_id . "'"); if (isset($_POST['delete_products']) && ($_POST['delete_products'] == 'on')) { $products_query = tep_db_query("select products_id from products where manufacturers_id = '" . (int)$manufacturers_id . "'"); while ($products = tep_db_fetch_array($products_query)) { tep_remove_product($products['products_id']); } } else { tep_db_query("update products set manufacturers_id = '' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } $OSCOM_Hooks->call('manufacturers', 'deleteConfirmAction'); tep_redirect(tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'])); break; } } $OSCOM_Hooks->call('manufacturers', 'postAction'); require('includes/template_top.php'); ?> <div class="row"> <div class="col"> <h1 class="display-4 mb-2"><?php echo HEADING_TITLE; ?></h1> </div> <div class="col text-right align-self-center"> <?php if (empty($action)) { echo tep_draw_bootstrap_button(BUTTON_INSERT_NEW_MANUFACTURER, 'fas fa-id-card', tep_href_link('manufacturers.php', 'action=new'), null, null, 'btn-danger'); } else { echo tep_draw_bootstrap_button(IMAGE_BACK, 'fas fa-angle-left', tep_href_link('manufacturers.php'), null, null, 'btn-light'); } ?> </div> </div> <div class="row no-gutters"> <div class="col-12 col-sm-8"> <div class="table-responsive"> <table class="table table-striped table-hover"> <thead class="thead-dark"> <tr> <th><?php echo TABLE_HEADING_MANUFACTURERS; ?></th> <th class="text-right"><?php echo TABLE_HEADING_ACTION; ?></th> </tr> </thead> <tbody> <?php $manufacturers_query_raw = "select * from manufacturers order by manufacturers_name"; $manufacturers_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $manufacturers_query_raw, $manufacturers_query_numrows); $manufacturers_query = tep_db_query($manufacturers_query_raw); while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { if ((!isset($_GET['mID']) || (isset($_GET['mID']) && ($_GET['mID'] == $manufacturers['manufacturers_id']))) && !isset($mInfo) && (substr($action, 0, 3) != 'new')) { $manufacturer_products_query = tep_db_query("select count(*) as products_count from products where manufacturers_id = '" . (int)$manufacturers['manufacturers_id'] . "'"); $manufacturer_products = tep_db_fetch_array($manufacturer_products_query); $mInfo_array = array_merge($manufacturers, $manufacturer_products); $mInfo = new objectInfo($mInfo_array); } if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo '<tr class="table-active" onclick="document.location.href=\'' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$manufacturers['manufacturers_id'] . '&action=edit') . '\'">'; } else { echo '<tr onclick="document.location.href=\'' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$manufacturers['manufacturers_id']) . '\'">'; } ?> <td><?php echo $manufacturers['manufacturers_name']; ?></td> <td class="text-right"><?php if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo '<i class="fas fa-chevron-circle-right text-info"></i>'; } else { echo '<a href="' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $manufacturers['manufacturers_id']) . '"><i class="fas fa-info-circle text-muted"></i></a>'; } ?></td> </tr> <?php } ?> </tbody> </table> </div> <div class="row my-1"> <div class="col"><?php echo $manufacturers_split->display_count($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_MANUFACTURERS); ?></div> <div class="col text-right mr-2"><?php echo $manufacturers_split->display_links($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></div> </div> </div> <?php $heading = []; $contents = []; switch ($action) { case 'new': $heading[] = ['text' => TEXT_HEADING_NEW_MANUFACTURER]; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'action=insert', 'post', 'enctype="multipart/form-data"')]; $contents[] = ['text' => TEXT_NEW_INTRO]; $contents[] = ['text' => TEXT_MANUFACTURERS_NAME . '<br>' . tep_draw_input_field('manufacturers_name')]; $contents[] = ['text' => TEXT_MANUFACTURERS_IMAGE . '<br><div class="custom-file mb-2">' . tep_draw_input_field('manufacturers_image', '', 'id="inputManufacturersImage"', 'file', null, 'class="form-control-input"') . '<label class="custom-file-label" for="inputManufacturersImage">' . TEXT_MANUFACTURERS_IMAGE_LABEL . '</label></div>']; $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']') . '</div>'; $manufacturer_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10') . '</div>'; $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10') . '</div>'; $manufacturer_seo_title_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']') . '</div>'; } $contents[] = ['text' => TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_SAVE, 'fas fa-save', null, 'primary', null, 'btn-success mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php'), null, null, 'btn-light')]; break; case 'edit': $heading[] = ['text' => TEXT_HEADING_EDIT_MANUFACTURER . ' <small>' . TEXT_EDIT_INTRO . '</small>']; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=save', 'post', 'enctype="multipart/form-data"')]; $contents[] = ['text' => TEXT_EDIT_INTRO]; $contents[] = ['text' => TEXT_MANUFACTURERS_NAME . '<br>' . tep_draw_input_field('manufacturers_name', $mInfo->manufacturers_name)]; $contents[] = ['text' => TEXT_MANUFACTURERS_IMAGE . '<br><div class="custom-file mb-2">' . tep_draw_input_field('manufacturers_image', '', 'id="inputManufacturersImage"', 'file', null, 'class="form-control-input"') . '<label class="custom-file-label" for="inputManufacturersImage">' . $mInfo->manufacturers_image . '</label></div>']; $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_url($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_seo_title_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']', tep_get_manufacturer_seo_title($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_seo_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; } $contents[] = ['text' => TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_SAVE, 'fas fa-save', null, 'primary', null, 'btn-success mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$mInfo->manufacturers_id), null, null, 'btn-light')]; break; case 'delete': $heading[] = ['text' => TEXT_HEADING_DELETE_MANUFACTURER]; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=deleteconfirm')]; $contents[] = ['text' => TEXT_DELETE_INTRO]; $contents[] = ['text' => '<strong>' . $mInfo->manufacturers_name . '</strong>']; $contents[] = ['text' => '<div class="custom-control custom-switch">' . tep_draw_selection_field('delete_image', 'checkbox', 'on', null, 'class="custom-control-input" id="mDeleteImg"') . '<label for="mDeleteImg" class="custom-control-label text-muted"><small>' . TEXT_DELETE_IMAGE . '</small></label></div>']; if ($mInfo->products_count > 0) { $contents[] = ['text' => '<div class="custom-control custom-switch">' . tep_draw_selection_field('delete_products', 'checkbox', 'on', null, 'class="custom-control-input" id="mDeleteProducts"') . '<label for="mDeleteProducts" class="custom-control-label text-muted"><small>' . TEXT_DELETE_PRODUCTS . '</small></label></div>']; $contents[] = ['text' => sprintf(TEXT_DELETE_WARNING_PRODUCTS, $mInfo->products_count)]; } $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_DELETE, 'fas fa-trash', null, 'primary', null, 'btn-danger mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id), null, null, 'btn-light')]; break; default: if (isset($mInfo) && is_object($mInfo)) { $heading[] = ['text' => $mInfo->manufacturers_name]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_EDIT, 'fas fa-cogs', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=edit'), null, null, 'btn-warning mr-2') . tep_draw_bootstrap_button(IMAGE_DELETE, 'fas fa-trash', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=delete'), null, null, 'btn-danger')]; $contents[] = ['text' => sprintf(TEXT_DATE_ADDED, tep_date_short($mInfo->date_added))]; if (tep_not_null($mInfo->last_modified)) $contents[] = ['text' => sprintf(TEXT_LAST_MODIFIED, tep_date_short($mInfo->last_modified))]; $contents[] = ['text' => tep_info_image($mInfo->manufacturers_image, $mInfo->manufacturers_name)]; $contents[] = ['text' => sprintf(TEXT_PRODUCTS, $mInfo->products_count)]; } break; } if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) { echo '<div class="col-12 col-sm-4">'; $box = new box; echo $box->infoBox($heading, $contents); echo '</div>'; } ?> </div> <script>$(document).on('change', '#inputManufacturersImage', function (event) { $(this).next('.custom-file-label').html(event.target.files[0].name); });</script> <?php require('includes/template_bottom.php'); require('includes/application_bottom.php'); ?> Instructions for changes - this and all code beyond has been changed in the file FIND (around line 87 and again around line 125): if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } Make the following changes to admin/manufacturers.php FIND (about line 53): $manufacturers_description_array = $_POST['manufacturers_description']; $manufacturers_seo_description_array = $_POST['manufacturers_seo_description']; $manufacturers_seo_title_array = $_POST['manufacturers_seo_title']; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturers_seo_keywords_array = $_POST['manufacturers_seo_keywords']; $manufacturers_htc_title_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag']); $manufacturers_htc_title_alt_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag_alt']); $manufacturers_htc_title_url_array = $_POST['manufacturers_htc_title_tag_url']; $manufacturers_htc_desc_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_desc_tag']); $manufacturers_htc_keywords_array = $_POST['manufacturers_htc_keywords_tag']; $manufacturers_htc_description_array = $_POST['manufacturers_htc_description']; $manufacturers_htc_breadcrumb_array = $_POST['manufacturers_htc_breadcrumb_text']; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 63): $sql_data_array['manufacturers_description'] = tep_db_prepare_input($manufacturers_description_array[$language_id]); $sql_data_array['manufacturers_seo_description'] = tep_db_prepare_input($manufacturers_seo_description_array[$language_id]); $sql_data_array['manufacturers_seo_title'] = tep_db_prepare_input($manufacturers_seo_title_array[$language_id]); REPLACE WITH: /*** Begin Header Tags SEO ***/ $sql_data_array['manufacturers_seo_keywords'] = tep_db_prepare_input($manufacturers_seo_keywords_array[$language_id]); $sql_data_array['manufacturers_htc_title_tag'] = (tep_not_null($manufacturers_htc_title_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_alt'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_alt_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_url'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_url_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_desc_tag'] = (tep_not_null($manufacturers_htc_desc_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_desc_array[$language_id]) : $manufacturers_name); $sql_data_array['manufacturers_htc_keywords_tag'] = (tep_not_null($manufacturers_htc_keywords_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_keywords_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_description'] = tep_db_prepare_input($manufacturers_htc_description_array[$language_id]); $sql_data_array['manufacturers_htc_breadcrumb_text'] = (tep_not_null($manufacturers_htc_breadcrumb_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_breadcrumb_array[$language_id])) : strip_tags($manufacturers_name)); /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 87 and again around line 125): if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } ADD BENEATH: /*** Begin Header Tags SEO ***/ if (HEADER_TAGS_ENABLE_CACHE != 'None') { require_once(DIR_WS_FUNCTIONS . 'header_tags.php'); ResetCache_HeaderTags('index.php', 'm_' . $manufacturers_id); } /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 156): $manufacturers_query_raw = "select manufacturers_id, manufacturers_name, manufacturers_image, date_added, last_modified from manufacturers order by manufacturers_name"; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturers_query_raw = "select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, m.date_added, m.last_modified, mi.manufacturers_htc_title_tag, mi.manufacturers_htc_title_tag_alt, mi.manufacturers_htc_title_tag_url from manufacturers m LEFT JOIN manufacturers_info mi on m.manufacturers_id = mi.manufacturers_id where mi.languages_id = '".$languages_id ."' order by m.manufacturers_name"; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 213): $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_keywords_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); $manufacturer_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); $manufacturer_seo_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); $manufacturer_seo_title_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']', NULL, 'style="width: 300px;"'); REPLACE WITH: $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); /*** Begin Header Tags SEO ***/ $manufacturer_seo_keywords_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_seo_keywords[' . $languages[$i]['id'] . ']', NULL, 'style="width: 300px;" placeholder="' . PLACEHOLDER_COMMA_SEPARATION . '"'); $manufacturer_htc_title_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_title_alt_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag_alt[' . $languages[$i]['id'] . ']'); $manufacturer_htc_title_url_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag_url[' . $languages[$i]['id'] . ']'); $manufacturer_htc_breadcrumb_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_breadcrumb_text[' . $languages[$i]['id'] . ']'); $manufacturer_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_desc_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_keywords_tag[' . $languages[$i]['id'] . ']'); if (HEADER_TAGS_ENABLE_HTML_EDITOR == 'No Editor' || HEADER_TAGS_ENABLE_EDITOR_MANUFACTURERS == 'false') { $manufacturer_htc_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); } else { $manufacturer_htc_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_ckeditor('manufacturers_description[' . $languages[$i]['id'] . ']', '80', '10'); } /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 235): $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string); $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string); $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string); REPLACE WITH: /*** Begin Header Tags SEO ***/ $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_KEYWORDS . $manufacturer_seo_keywords_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title' . $manufacturer_htc_title_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title Alt' . $manufacturer_htc_title_alt_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title URL' . $manufacturer_htc_title_url_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Breadcrumb' . $manufacturer_htc_breadcrumb_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Description' . $manufacturer_htc_desc_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Keywords' . $manufacturer_htc_keywords_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Description' . $manufacturer_htc_description_string); /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 254): $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_keywords_string = $manufacturer_seo_title_string = ''; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 254): $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_seo_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; ADD BENEATH: /*** Begin Header Tags SEO ***/ $manufacturer_seo_keywords_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_keywords[' . $languages[$i]['id'] . ']', tep_get_manufacturer_seo_keywords($mInfo->manufacturers_id, $languages[$i]['id']), 'placeholder="' . PLACEHOLDER_COMMA_SEPARATION . '"') . '</div>'; $manufacturer_htc_title_alt_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_title_tag_alt[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_title_alt($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_htc_title_url_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_title_tag_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_title_url($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_htc_breadcrumb_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_breadcrumb_text[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_breadcrumb($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 276): $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; ADD BENEATH: /*** Begin Header Tags SEO ***/ $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_KEYWORDS . $manufacturer_seo_keywords_string]; $contents[] = ['text' => TEXT_HEADERTAGS_TITLE_ALT . $manufacturer_htc_title_alt_string]; $contents[] = ['text' => TEXT_HEADERTAGS_TITLE_URL . $manufacturer_htc_title_url_string]; $contents[] = ['text' => TEXT_HEADERTAGS_BREADCRUMB . $manufacturer_htc_breadcrumb_string]; /*** End Header Tags SEO ***/ =================================================================== That's all ;-) =================================================================== TROUBLESHOOTING: 1 - The tools in the admin section have to be able to write to the include/header_tags.php file. In order to do that, the permissions for that file must be set correctly. If Header Tags thinks the permissions are not set correctly, it will display a warning message with what it thinks are the proper permissions. You will need to change those permissions using an ftp program (right click and choose chmod) or by using your hosts control panel. The permissions should, typically, be set to 755 (777 for some servers). If you do not know what this is or how to do it, ask your host to help you. 2 - Some hosts restrict a function used in catalog/admin/includes/functions/header_tags.php. If you get an error regarding the chmod() php function in this file, like: Warning: chmod(): Operation not permitted in ... Cannot change the mode of file (../includes/header_tags.php) and you have addressed the file permissions settings as stated above, you may have to comment out the function. To do that, OPEN: admin/includes/functions/header_tags.php Around line 201 you find this code: if (!is_writable($filename)) { if (!chmod($filename, 0666)) { echo "Cannot change the mode of file ($filename)"; exit; } } Replace that with the following code: if (!is_writable($filename)) { echo "The file isn't writable"; exit; /* if (!chmod($filename, 0666)) { echo "Cannot change the mode of file ($filename)"; exit; } */ }
  5. Dnj1964

    Article Manager v1.0

    Using Phoenix 1.0.7.9 Was hoping it may work, but applying the changes - code not found The /catalog/admin/maufacturers.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2020 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); $action = $_GET['action'] ?? ''; $OSCOM_Hooks->call('manufacturers', 'preAction'); if (tep_not_null($action)) { switch ($action) { case 'insert': case 'save': if (isset($_GET['mID'])) $manufacturers_id = tep_db_prepare_input($_GET['mID']); $manufacturers_name = tep_db_prepare_input($_POST['manufacturers_name']); $sql_data_array = ['manufacturers_name' => $manufacturers_name]; if ($action == 'insert') { $insert_sql_data = ['date_added' => 'now()']; $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform('manufacturers', $sql_data_array); $manufacturers_id = tep_db_insert_id(); } elseif ($action == 'save') { $update_sql_data = ['last_modified' => 'now()']; $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform('manufacturers', $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "'"); } $manufacturers_image = new upload('manufacturers_image'); $manufacturers_image->set_destination(DIR_FS_CATALOG . 'images/'); if ($manufacturers_image->parse() && $manufacturers_image->save()) { tep_db_query("update manufacturers set manufacturers_image = '" . tep_db_input($manufacturers_image->filename) . "' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } $languages = tep_get_languages(); for ($i=0, $n=count($languages); $i<$n; $i++) { $manufacturers_url_array = $_POST['manufacturers_url']; /*** Begin Header Tags SEO ***/ $manufacturers_seo_keywords_array = $_POST['manufacturers_seo_keywords']; $manufacturers_htc_title_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag']); $manufacturers_htc_title_alt_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag_alt']); $manufacturers_htc_title_url_array = $_POST['manufacturers_htc_title_tag_url']; $manufacturers_htc_desc_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_desc_tag']); $manufacturers_htc_keywords_array = $_POST['manufacturers_htc_keywords_tag']; $manufacturers_htc_description_array = $_POST['manufacturers_htc_description']; $manufacturers_htc_breadcrumb_array = $_POST['manufacturers_htc_breadcrumb_text']; /*** End Header Tags SEO ***/ $language_id = $languages[$i]['id']; $sql_data_array = ['manufacturers_url' => tep_db_prepare_input($manufacturers_url_array[$language_id])]; /*** Begin Header Tags SEO ***/ $sql_data_array['manufacturers_seo_keywords'] = tep_db_prepare_input($manufacturers_seo_keywords_array[$language_id]); $sql_data_array['manufacturers_htc_title_tag'] = (tep_not_null($manufacturers_htc_title_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_alt'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_alt_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_url'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_url_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_desc_tag'] = (tep_not_null($manufacturers_htc_desc_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_desc_array[$language_id]) : $manufacturers_name); $sql_data_array['manufacturers_htc_keywords_tag'] = (tep_not_null($manufacturers_htc_keywords_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_keywords_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_description'] = tep_db_prepare_input($manufacturers_htc_description_array[$language_id]); $sql_data_array['manufacturers_htc_breadcrumb_text'] = (tep_not_null($manufacturers_htc_breadcrumb_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_breadcrumb_array[$language_id])) : strip_tags($manufacturers_name)); /*** End Header Tags SEO ***/ if ($action == 'insert') { $insert_sql_data = ['manufacturers_id' => $manufacturers_id, 'languages_id' => $language_id]; $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform('manufacturers_info', $sql_data_array); } elseif ($action == 'save') { tep_db_perform('manufacturers_info', $sql_data_array, 'update', "manufacturers_id = '" . (int)$manufacturers_id . "' and languages_id = '" . (int)$language_id . "'"); } } $OSCOM_Hooks->call('manufacturers', 'insertSaveAction'); tep_redirect(tep_href_link('manufacturers.php', (isset($_GET['page']) ? 'page=' . (int)$_GET['page'] . '&' : '') . 'mID=' . $manufacturers_id)); break; case 'deleteconfirm': $manufacturers_id = tep_db_prepare_input($_GET['mID']); if (isset($_POST['delete_image']) && ($_POST['delete_image'] == 'on')) { $manufacturer_query = tep_db_query("select manufacturers_image from manufacturers where manufacturers_id = '" . (int)$manufacturers_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); $image_location = DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG . 'images/' . $manufacturer['manufacturers_image']; if (file_exists($image_location)) @unlink($image_location); } tep_db_query("delete from manufacturers where manufacturers_id = '" . (int)$manufacturers_id . "'"); tep_db_query("delete from manufacturers_info where manufacturers_id = '" . (int)$manufacturers_id . "'"); if (isset($_POST['delete_products']) && ($_POST['delete_products'] == 'on')) { $products_query = tep_db_query("select products_id from products where manufacturers_id = '" . (int)$manufacturers_id . "'"); while ($products = tep_db_fetch_array($products_query)) { tep_remove_product($products['products_id']); } } else { tep_db_query("update products set manufacturers_id = '' where manufacturers_id = '" . (int)$manufacturers_id . "'"); } $OSCOM_Hooks->call('manufacturers', 'deleteConfirmAction'); tep_redirect(tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'])); break; } } $OSCOM_Hooks->call('manufacturers', 'postAction'); require('includes/template_top.php'); ?> <div class="row"> <div class="col"> <h1 class="display-4 mb-2"><?php echo HEADING_TITLE; ?></h1> </div> <div class="col text-right align-self-center"> <?php if (empty($action)) { echo tep_draw_bootstrap_button(BUTTON_INSERT_NEW_MANUFACTURER, 'fas fa-id-card', tep_href_link('manufacturers.php', 'action=new'), null, null, 'btn-danger'); } else { echo tep_draw_bootstrap_button(IMAGE_BACK, 'fas fa-angle-left', tep_href_link('manufacturers.php'), null, null, 'btn-light'); } ?> </div> </div> <div class="row no-gutters"> <div class="col-12 col-sm-8"> <div class="table-responsive"> <table class="table table-striped table-hover"> <thead class="thead-dark"> <tr> <th><?php echo TABLE_HEADING_MANUFACTURERS; ?></th> <th class="text-right"><?php echo TABLE_HEADING_ACTION; ?></th> </tr> </thead> <tbody> <?php $manufacturers_query_raw = "select * from manufacturers order by manufacturers_name"; $manufacturers_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $manufacturers_query_raw, $manufacturers_query_numrows); $manufacturers_query = tep_db_query($manufacturers_query_raw); while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { if ((!isset($_GET['mID']) || (isset($_GET['mID']) && ($_GET['mID'] == $manufacturers['manufacturers_id']))) && !isset($mInfo) && (substr($action, 0, 3) != 'new')) { $manufacturer_products_query = tep_db_query("select count(*) as products_count from products where manufacturers_id = '" . (int)$manufacturers['manufacturers_id'] . "'"); $manufacturer_products = tep_db_fetch_array($manufacturer_products_query); $mInfo_array = array_merge($manufacturers, $manufacturer_products); $mInfo = new objectInfo($mInfo_array); } if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo '<tr class="table-active" onclick="document.location.href=\'' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$manufacturers['manufacturers_id'] . '&action=edit') . '\'">'; } else { echo '<tr onclick="document.location.href=\'' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$manufacturers['manufacturers_id']) . '\'">'; } ?> <td><?php echo $manufacturers['manufacturers_name']; ?></td> <td class="text-right"><?php if (isset($mInfo) && is_object($mInfo) && ($manufacturers['manufacturers_id'] == $mInfo->manufacturers_id)) { echo '<i class="fas fa-chevron-circle-right text-info"></i>'; } else { echo '<a href="' . tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $manufacturers['manufacturers_id']) . '"><i class="fas fa-info-circle text-muted"></i></a>'; } ?></td> </tr> <?php } ?> </tbody> </table> </div> <div class="row my-1"> <div class="col"><?php echo $manufacturers_split->display_count($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_MANUFACTURERS); ?></div> <div class="col text-right mr-2"><?php echo $manufacturers_split->display_links($manufacturers_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></div> </div> </div> <?php $heading = []; $contents = []; switch ($action) { case 'new': $heading[] = ['text' => TEXT_HEADING_NEW_MANUFACTURER]; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'action=insert', 'post', 'enctype="multipart/form-data"')]; $contents[] = ['text' => TEXT_NEW_INTRO]; $contents[] = ['text' => TEXT_MANUFACTURERS_NAME . '<br>' . tep_draw_input_field('manufacturers_name')]; $contents[] = ['text' => TEXT_MANUFACTURERS_IMAGE . '<br><div class="custom-file mb-2">' . tep_draw_input_field('manufacturers_image', '', 'id="inputManufacturersImage"', 'file', null, 'class="form-control-input"') . '<label class="custom-file-label" for="inputManufacturersImage">' . TEXT_MANUFACTURERS_IMAGE_LABEL . '</label></div>']; $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']') . '</div>'; $manufacturer_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10') . '</div>'; $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10') . '</div>'; $manufacturer_seo_title_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']') . '</div>'; } $contents[] = ['text' => TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string]; $contents[] = ['text' => TEXT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_SAVE, 'fas fa-save', null, 'primary', null, 'btn-success mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php'), null, null, 'btn-light')]; break; case 'edit': $heading[] = ['text' => TEXT_HEADING_EDIT_MANUFACTURER . ' <small>' . TEXT_EDIT_INTRO . '</small>']; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=save', 'post', 'enctype="multipart/form-data"')]; $contents[] = ['text' => TEXT_EDIT_INTRO]; $contents[] = ['text' => TEXT_MANUFACTURERS_NAME . '<br>' . tep_draw_input_field('manufacturers_name', $mInfo->manufacturers_name)]; $contents[] = ['text' => TEXT_MANUFACTURERS_IMAGE . '<br><div class="custom-file mb-2">' . tep_draw_input_field('manufacturers_image', '', 'id="inputManufacturersImage"', 'file', null, 'class="form-control-input"') . '<label class="custom-file-label" for="inputManufacturersImage">' . $mInfo->manufacturers_image . '</label></div>']; $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_url($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_seo_title_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']', tep_get_manufacturer_seo_title($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_seo_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; } $contents[] = ['text' => TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string]; $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_SAVE, 'fas fa-save', null, 'primary', null, 'btn-success mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . (int)$mInfo->manufacturers_id), null, null, 'btn-light')]; break; case 'delete': $heading[] = ['text' => TEXT_HEADING_DELETE_MANUFACTURER]; $contents = ['form' => tep_draw_form('manufacturers', 'manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=deleteconfirm')]; $contents[] = ['text' => TEXT_DELETE_INTRO]; $contents[] = ['text' => '<strong>' . $mInfo->manufacturers_name . '</strong>']; $contents[] = ['text' => '<div class="custom-control custom-switch">' . tep_draw_selection_field('delete_image', 'checkbox', 'on', null, 'class="custom-control-input" id="mDeleteImg"') . '<label for="mDeleteImg" class="custom-control-label text-muted"><small>' . TEXT_DELETE_IMAGE . '</small></label></div>']; if ($mInfo->products_count > 0) { $contents[] = ['text' => '<div class="custom-control custom-switch">' . tep_draw_selection_field('delete_products', 'checkbox', 'on', null, 'class="custom-control-input" id="mDeleteProducts"') . '<label for="mDeleteProducts" class="custom-control-label text-muted"><small>' . TEXT_DELETE_PRODUCTS . '</small></label></div>']; $contents[] = ['text' => sprintf(TEXT_DELETE_WARNING_PRODUCTS, $mInfo->products_count)]; } $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_DELETE, 'fas fa-trash', null, 'primary', null, 'btn-danger mr-2') . tep_draw_bootstrap_button(IMAGE_CANCEL, 'fas fa-times', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id), null, null, 'btn-light')]; break; default: if (isset($mInfo) && is_object($mInfo)) { $heading[] = ['text' => $mInfo->manufacturers_name]; $contents[] = ['class' => 'text-center', 'text' => tep_draw_bootstrap_button(IMAGE_EDIT, 'fas fa-cogs', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=edit'), null, null, 'btn-warning mr-2') . tep_draw_bootstrap_button(IMAGE_DELETE, 'fas fa-trash', tep_href_link('manufacturers.php', 'page=' . (int)$_GET['page'] . '&mID=' . $mInfo->manufacturers_id . '&action=delete'), null, null, 'btn-danger')]; $contents[] = ['text' => sprintf(TEXT_DATE_ADDED, tep_date_short($mInfo->date_added))]; if (tep_not_null($mInfo->last_modified)) $contents[] = ['text' => sprintf(TEXT_LAST_MODIFIED, tep_date_short($mInfo->last_modified))]; $contents[] = ['text' => tep_info_image($mInfo->manufacturers_image, $mInfo->manufacturers_name)]; $contents[] = ['text' => sprintf(TEXT_PRODUCTS, $mInfo->products_count)]; } break; } if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) { echo '<div class="col-12 col-sm-4">'; $box = new box; echo $box->infoBox($heading, $contents); echo '</div>'; } ?> </div> <script>$(document).on('change', '#inputManufacturersImage', function (event) { $(this).next('.custom-file-label').html(event.target.files[0].name); });</script> <?php require('includes/template_bottom.php'); require('includes/application_bottom.php'); ?> Instructions for changes - this and all code beyond has been changed in the file FIND (around line 87 and again around line 125): if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } Make the following changes to admin/manufacturers.php FIND (about line 53): $manufacturers_description_array = $_POST['manufacturers_description']; $manufacturers_seo_description_array = $_POST['manufacturers_seo_description']; $manufacturers_seo_title_array = $_POST['manufacturers_seo_title']; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturers_seo_keywords_array = $_POST['manufacturers_seo_keywords']; $manufacturers_htc_title_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag']); $manufacturers_htc_title_alt_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_title_tag_alt']); $manufacturers_htc_title_url_array = $_POST['manufacturers_htc_title_tag_url']; $manufacturers_htc_desc_array = str_replace('"', '&quot;',$_POST['manufacturers_htc_desc_tag']); $manufacturers_htc_keywords_array = $_POST['manufacturers_htc_keywords_tag']; $manufacturers_htc_description_array = $_POST['manufacturers_htc_description']; $manufacturers_htc_breadcrumb_array = $_POST['manufacturers_htc_breadcrumb_text']; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 63): $sql_data_array['manufacturers_description'] = tep_db_prepare_input($manufacturers_description_array[$language_id]); $sql_data_array['manufacturers_seo_description'] = tep_db_prepare_input($manufacturers_seo_description_array[$language_id]); $sql_data_array['manufacturers_seo_title'] = tep_db_prepare_input($manufacturers_seo_title_array[$language_id]); REPLACE WITH: /*** Begin Header Tags SEO ***/ $sql_data_array['manufacturers_seo_keywords'] = tep_db_prepare_input($manufacturers_seo_keywords_array[$language_id]); $sql_data_array['manufacturers_htc_title_tag'] = (tep_not_null($manufacturers_htc_title_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_alt'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_alt_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_title_tag_url'] = (tep_not_null($manufacturers_htc_title_alt_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_title_url_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_desc_tag'] = (tep_not_null($manufacturers_htc_desc_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_desc_array[$language_id]) : $manufacturers_name); $sql_data_array['manufacturers_htc_keywords_tag'] = (tep_not_null($manufacturers_htc_keywords_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_keywords_array[$language_id])) : strip_tags($manufacturers_name)); $sql_data_array['manufacturers_htc_description'] = tep_db_prepare_input($manufacturers_htc_description_array[$language_id]); $sql_data_array['manufacturers_htc_breadcrumb_text'] = (tep_not_null($manufacturers_htc_breadcrumb_array[$language_id]) ? tep_db_prepare_input(strip_tags($manufacturers_htc_breadcrumb_array[$language_id])) : strip_tags($manufacturers_name)); /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 87 and again around line 125): if (USE_CACHE == 'true') { tep_reset_cache_block('manufacturers'); } ADD BENEATH: /*** Begin Header Tags SEO ***/ if (HEADER_TAGS_ENABLE_CACHE != 'None') { require_once(DIR_WS_FUNCTIONS . 'header_tags.php'); ResetCache_HeaderTags('index.php', 'm_' . $manufacturers_id); } /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 156): $manufacturers_query_raw = "select manufacturers_id, manufacturers_name, manufacturers_image, date_added, last_modified from manufacturers order by manufacturers_name"; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturers_query_raw = "select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, m.date_added, m.last_modified, mi.manufacturers_htc_title_tag, mi.manufacturers_htc_title_tag_alt, mi.manufacturers_htc_title_tag_url from manufacturers m LEFT JOIN manufacturers_info mi on m.manufacturers_id = mi.manufacturers_id where mi.languages_id = '".$languages_id ."' order by m.manufacturers_name"; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 213): $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_keywords_string = $manufacturer_seo_title_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); $manufacturer_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); $manufacturer_seo_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); $manufacturer_seo_title_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_seo_title[' . $languages[$i]['id'] . ']', NULL, 'style="width: 300px;"'); REPLACE WITH: $manufacturer_inputs_string = ''; $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); /*** Begin Header Tags SEO ***/ $manufacturer_seo_keywords_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_seo_keywords[' . $languages[$i]['id'] . ']', NULL, 'style="width: 300px;" placeholder="' . PLACEHOLDER_COMMA_SEPARATION . '"'); $manufacturer_htc_title_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_title_alt_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag_alt[' . $languages[$i]['id'] . ']'); $manufacturer_htc_title_url_string .= '<br />' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_title_tag_url[' . $languages[$i]['id'] . ']'); $manufacturer_htc_breadcrumb_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_breadcrumb_text[' . $languages[$i]['id'] . ']'); $manufacturer_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_desc_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('manufacturers_htc_keywords_tag[' . $languages[$i]['id'] . ']'); if (HEADER_TAGS_ENABLE_HTML_EDITOR == 'No Editor' || HEADER_TAGS_ENABLE_EDITOR_MANUFACTURERS == 'false') { $manufacturer_htc_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_field('manufacturers_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10'); } else { $manufacturer_htc_description_string .= '<br />' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '&nbsp;' . tep_draw_textarea_ckeditor('manufacturers_description[' . $languages[$i]['id'] . ']', '80', '10'); } /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 235): $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_TITLE . $manufacturer_seo_title_string); $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_DESCRIPTION . $manufacturer_description_string); $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string); REPLACE WITH: /*** Begin Header Tags SEO ***/ $contents[] = array('text' => '<br />' . TEXT_MANUFACTURERS_SEO_KEYWORDS . $manufacturer_seo_keywords_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title' . $manufacturer_htc_title_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title Alt' . $manufacturer_htc_title_alt_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Title URL' . $manufacturer_htc_title_url_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Breadcrumb' . $manufacturer_htc_breadcrumb_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Description' . $manufacturer_htc_desc_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Keywords' . $manufacturer_htc_keywords_string); $contents[] = array('text' => '<br />' . 'Header Tags Manufacturer Description' . $manufacturer_htc_description_string); /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 254): $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_title_string = ''; REPLACE WITH: /*** Begin Header Tags SEO ***/ $manufacturer_inputs_string = $manufacturer_description_string = $manufacturer_seo_description_string = $manufacturer_seo_keywords_string = $manufacturer_seo_title_string = ''; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 254): $manufacturer_seo_description_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name'], '', '', 'style="vertical-align: top;"') . '</span></div>' . tep_draw_textarea_field('manufacturers_seo_description[' . $languages[$i]['id'] . ']', 'soft', '80', '10', tep_get_manufacturer_seo_description($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; ADD BENEATH: /*** Begin Header Tags SEO ***/ $manufacturer_seo_keywords_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_seo_keywords[' . $languages[$i]['id'] . ']', tep_get_manufacturer_seo_keywords($mInfo->manufacturers_id, $languages[$i]['id']), 'placeholder="' . PLACEHOLDER_COMMA_SEPARATION . '"') . '</div>'; $manufacturer_htc_title_alt_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_title_tag_alt[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_title_alt($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_htc_title_url_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_title_tag_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_title_url($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; $manufacturer_htc_breadcrumb_string .= '<div class="input-group"><div class="input-group-prepend"><span class="input-group-text">' . tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']) . '</span></div>' . tep_draw_input_field('manufacturers_htc_breadcrumb_text[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_breadcrumb($mInfo->manufacturers_id, $languages[$i]['id'])) . '</div>'; /*** End Header Tags SEO ***/ ------------------------------------------------------------------------------- FIND (around line 276): $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_DESCRIPTION . $manufacturer_seo_description_string]; ADD BENEATH: /*** Begin Header Tags SEO ***/ $contents[] = ['text' => TEXT_EDIT_MANUFACTURERS_SEO_KEYWORDS . $manufacturer_seo_keywords_string]; $contents[] = ['text' => TEXT_HEADERTAGS_TITLE_ALT . $manufacturer_htc_title_alt_string]; $contents[] = ['text' => TEXT_HEADERTAGS_TITLE_URL . $manufacturer_htc_title_url_string]; $contents[] = ['text' => TEXT_HEADERTAGS_BREADCRUMB . $manufacturer_htc_breadcrumb_string]; /*** End Header Tags SEO ***/ =================================================================== That's all ;-) =================================================================== TROUBLESHOOTING: 1 - The tools in the admin section have to be able to write to the include/header_tags.php file. In order to do that, the permissions for that file must be set correctly. If Header Tags thinks the permissions are not set correctly, it will display a warning message with what it thinks are the proper permissions. You will need to change those permissions using an ftp program (right click and choose chmod) or by using your hosts control panel. The permissions should, typically, be set to 755 (777 for some servers). If you do not know what this is or how to do it, ask your host to help you. 2 - Some hosts restrict a function used in catalog/admin/includes/functions/header_tags.php. If you get an error regarding the chmod() php function in this file, like: Warning: chmod(): Operation not permitted in ... Cannot change the mode of file (../includes/header_tags.php) and you have addressed the file permissions settings as stated above, you may have to comment out the function. To do that, OPEN: admin/includes/functions/header_tags.php Around line 201 you find this code: if (!is_writable($filename)) { if (!chmod($filename, 0666)) { echo "Cannot change the mode of file ($filename)"; exit; } } Replace that with the following code: if (!is_writable($filename)) { echo "The file isn't writable"; exit; /* if (!chmod($filename, 0666)) { echo "Cannot change the mode of file ($filename)"; exit; } */ }
  6. When clicking on a filename to edit the contents. Link shows as: https://www.aaa.com/admin/define_language.php?lngdir=english&amp;filename=english/products_new.php but doesn't open file, reloads the define languages page. Going into catalog/includes/languages/english to manually edit files and looking at say conditions, privacy, shipping the files are the original uploaded files while the changes added through admin -> tools -> infopages is obviously not added to the respective files. Any help is greatly appreciated. Phoenix 1.0.7.9 PHP 7.4 s06e01 d49 d48 d47 d46 d45 d44 d43 d41 d18 d40 d24 d39 d14 d17 d16 d34 d33 d26 d35A Price d38 d08 & d09 d19 d25 d28 d37 d31 d30 d04 s06e02 d29 d21 removed - breaks admin
  7. Copied all updates to pull request #939 Got this error. Guessing it is because I haven't run the corresponding sql updates 1327 - Undeclared variable: MODULE_BOXES_WHATS_NEW_MAX_RANDOM_SELECT_NEW select p.*, pd.*, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price, p.products_quantity as in_stock, if(s.status, 1, 0) as is_special from products_description pd, products p left join specials s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by products_date_added desc limit MODULE_BOXES_WHATS_NEW_MAX_RANDOM_SELECT_NEW [TEP STOP]
  8. Thanks for the suggestions. Somehow copied over an old .htaccess file, removed the invalid entries and working. Thanks again
  9. Just installed a copy of Phoenix 1.0.5.0 Uploaded all old image files. Copied over database with no errors. Uploading a logo pointing to the proper location but no image shows.
  10. Dnj1964

    Article Manager v1.0

    Thanks for input.
  11. Dnj1964

    Article Manager v1.0

    Awesome! Bought a package deal from a competing store locally that was going out of business - 3 Zen Theme Templates and 64 Zen Modules. We'll see how it goes, haven't installed it yet.
  12. Dnj1964

    Article Manager v1.0

    I realize that the version that I have working in 2.3.4.1 isn't for Phoenix. Was just relaying my experience in trying to add it to Phoenix. oscommerce is and was my first choice. Currently a Phoenix Supporter and that won't change. At least not until I decide which platform is right for my needs. And switching using Cart2Cart or other available software to migrate db makes it easy and relatively cost effective.
  13. Dnj1964

    Article Manager v1.0

    Not all configuration settings open to show the edit option. Yes the box module was installed. Wish I was at least somewhat comfortable programming but I'm not not. Think I am going to abandon oscommerce and give PrestaShop a try and leave the programming to the programmers and just pay for the modules that I want in my store functionality. Thanks again!
×