Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

NekoSign

Archived
  • Posts

    3
  • Joined

  • Last visited

Profile Information

NekoSign's Achievements

  1. can you help me there is no prompt for my admin sign in if i have forgotten my password for my admin. help please

  2. I give you my code of admin/includes/languages/english/modules/newsletters/newsletter_products.php <?php /* $Id: newsletter_products.php,v 2.0 2007/05/17 scottyb Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License //newsletter products */ class newsletter_products { function newsletter_products($title, $content, $products, $template) { $this->title = $title; $this->content = $content; $this->products = $products; $this->template = $template; } function choose_products() { global $HTTP_GET_VARS, $languages_id; //first let's get the products that have been added to newsletter if($HTTP_GET_VARS['nID']){ $newsletter_products_query = tep_db_query("select products_id from " . TABLE_NEWSLETTERS_TO_PRODUCTS . " where newsletters_id ='" . $HTTP_GET_VARS['nID'] . "'"); $newsletter_products_string = ''; while($newsletter_products = tep_db_fetch_array($newsletter_products_query)){ $newsletter_products_string .= $newsletter_products['products_id'] . ', '; } $newsletter_products_string = trim($newsletter_products_string, ', '); //$newsletter_products_string = tep_db_result($newsletter_products_query, 0, $newsletter_products_query['products']); $current_products_query = "select pd.products_id, pd.products_name, p.products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.language_id = '" . $languages_id . "' and pd.products_id = p.products_id and p.products_status = '1'"; if($newsletter_products_string) $current_products_query .= " and pd.products_id in(" . $newsletter_products_string . ")"; $current_products_query .= " order by pd.products_name"; $current_products_query = tep_db_query($current_products_query); } if($newsletter_products_string){ $current_products_array = array(); while ($current_products = tep_db_fetch_array($current_products_query)){ $current_products_array[] = array('id' => $current_products['products_id'], 'text' => $current_products['products_name'] . ' - ' . $current_products['products_model']); } } $products_query = "select pd.products_id, pd.products_name, p.products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.language_id = '" . $languages_id . "' and pd.products_id = p.products_id and p.products_status = '1'"; if($newsletter_products_string) $products_query .= " and pd.products_id not in(" . $newsletter_products_string . ")"; $products_query .= " order by pd.products_name"; $products_array = array(); $products_query = tep_db_query($products_query); while ($products = tep_db_fetch_array($products_query)) { $products_array[] = array('id' => $products['products_id'], 'text' => $products['products_name'] . ' - ' . $products['products_model']); } $choose_products_string = '<script language="javascript"><!-- function mover(move) { if (move == \'remove\') { for (x=0; x<(document.newsletter.products.length); x++) { if (document.newsletter.products.options[x].selected) { with(document.newsletter.elements[\'chosen[]\']) { options[options.length] = new Option(document.newsletter.products.options[x].text,document.newsletter.products.options[x].value); } document.newsletter.products.options[x] = null; x = -1; } } } if (move == \'add\') { for (x=0; x<(document.newsletter.elements[\'chosen[]\'].length); x++) { if (document.newsletter.elements[\'chosen[]\'].options[x].selected) { with(document.newsletter.products) { options[options.length] = new Option(document.newsletter.elements[\'chosen[]\'].options[x].text,document.newsletter.elements[\'chosen[]\'].options[x].value); } document.newsletter.elements[\'chosen[]\'].options[x] = null; x = -1; } } } return true; } function selectAll(FormName, SelectBox) { temp = "document." + FormName + ".elements[\'" + SelectBox + "\']"; Source = eval(temp); for (x=0; x<(Source.length); x++) { Source.options[x].selected = "true"; } } //--></script>'; $choose_products_string .= '<table border="0" width="100%" cellspacing="0" cellpadding="2">' . "\n" . ' <tr>' . "\n" . ' <td align="center" class="main"><b>' . TEXT_PRODUCTS . '</b><br>' . tep_draw_pull_down_menu('products', $products_array, '', 'size="20" style="width: 32em;" multiple') . '</td>' . "\n" . ' <td align="center" class="main"> <br><br><input type="button" value="' . BUTTON_SELECT . '" style="width: 8em;" onClick="mover(\'remove\');"><br><br><input type="button" value="' . BUTTON_UNSELECT . '" style="width: 8em;" onClick="mover(\'add\');"></td>' . "\n" . ' <td align="center" class="main"><b>' . TEXT_SELECTED_PRODUCTS . '</b><br>' . tep_draw_pull_down_menu('chosen[]', $current_products_array, '', 'size="20" style="width: 25em;" multiple') . '</td>' . "\n" . ' </tr>' . "\n" . '</table>'; return $choose_products_string; } function productInfo(){ global $languages_id; $this->productInfo = array(); $p_string = ''; for($i=0, $n=sizeof($this->products); $i<$n; $i++){ $p_string .= $this->products[$i] . ', '; } $p_string = trim($p_string, ', '); $product_query = tep_db_query("select p.products_id, pd.products_name, p.products_image, p.products_price, p.products_tax_class_id, if(s.status, s.specials_new_products_price, NULL) as specials_price from products p INNER JOIN products_description pd left join specials s on p.products_id = s.products_id where pd.products_id = p.products_id and p.products_id in(" . $p_string . ") and pd.language_id=" . $languages_id); //$this->productsInfo = array(); while($product = tep_db_fetch_array($product_query)){ $this->productsInfo[] = array('products_id' => $product['products_id'], 'products_name' => $product['products_name'], 'products_image' => $product['products_image'], 'products_price' => $product['products_price'], 'specials_price' => $product['specials_price'], 'products_tax_class_id' => $product['products_tax_class_id']); } } function html_content() { global $currencies, $languages_id; //create HTML string containing links & pics //define product columns here define('COLS', 3); $width = intval(100/COLS); $html_content = '<table border="0" width="100%" cellpadding="" cellspacing="3"><tr>'; $col = 0; $this->productInfo(); //change html body styles here $cssPrice = 'color: #000000;'; $cssSale = 'color: #ff0000;'; $cssMarkdown = 'color: #000000; text-decoration: line-through'; $cssLink = 'color: #000000; text-decoration: none; font-weight: bold;'; for($i=0, $n=sizeof($this->productsInfo); $i<$n; $i++){ if($col > COLS-1){ $html_content .= '</tr><tr><td align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . '" style="' . $cssLink . '">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . $this->productsInfo[$i]['products_image'], $this->productsInfo[$i]['products_name']) . '<br>' . $this->productsInfo[$i]['products_name'] . '</a><br></td>'; $col = 0; }else{ $html_content .= '<td align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . '" style="' . $cssLink . '">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . $this->productsInfo[$i]['products_image'], $this->productsInfo[$i]['products_name']) . '<br>' . $this->productsInfo[$i]['products_name'] . '</a><br></td>'; } $col++; } //uncomment & create your unsubscribe link in your includes/languages/YOUR LANGUAGE/modules/newsletters/newsletter_products.php $html_content .= '</tr></table>'; if(tep_not_null($this->template)){ //HTML page from template //$content = join('', file(DIR_WS_TEMPLATES . $this->template)); $content = file_get_contents(DIR_WS_TEMPLATES . $this->template); //remove all line breaks and spaces in template to ensure no spaces resulting from email class $content = str_replace("\n", '', $content); $content = str_replace("\r", '', $content); //$content = str_replace('> ', '>', $content); $content = addslashes($content); $email_title = $this->title; $email_message = nl2br($this->content); eval ("\$content = \"$content\";"); $html_content = $content; } return $html_content; } function text_content(){ global $currencies, $languages_id; $text_content = $this->content . "\r\n\r\n"; //var_dump($this->productsInfo); for($i=0, $n=sizeof($this->productsInfo); $i<$n; $i++){ $text_content .= $this->productsInfo[$i]['products_name'] . ' '; $price = ($this->productsInfo[$i]['specials_price']) ? 'Sale Price: ' . $currencies->display_price($this->productsInfo[$i]['specials_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) . ' Down from: ' . $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])) : $currencies->display_price($this->productsInfo[$i]['products_price'], tep_get_tax_rate($this->productsInfo[$i]['products_tax_class_id'])); $text_content .= $price . "\n"; $text_content .= tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $this->productsInfo[$i]['products_id']) . "\r\r"; } //uncomment & create your unsubscribe link in your includes/languages/YOUR LANGUAGE/modules/newsletters/newsletter_products.php $text_content .= "\r\r" . TEXT_UNSUBSCRIBE; return $text_content; } function confirm() { global $HTTP_GET_VARS; $mail_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'"); $mail = tep_db_fetch_array($mail_query); $confirm_string = '<table border="0" cellspacing="0" cellpadding="2">' . "\n" . ' <tr>' . "\n" . ' <td class="main"><font color="#ff0000"><b>' . sprintf(TEXT_COUNT_CUSTOMERS, $mail['count']) . '</b></font></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main"><b>' . $this->title . '</b></td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td class="main">' . $this->html_content() . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td>' . tep_draw_separator('pixel_trans.gif', '1', '10') . '</td>' . "\n" . ' </tr>' . "\n" . ' <tr>' . "\n" . ' <td align="right"><a href="' . tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID'] . '&action=confirm_send') . '">' . tep_image_button('button_send.gif', IMAGE_SEND) . '</a> <a href="' . tep_href_link(FILENAME_NEWSLETTERS, 'page=' . $HTTP_GET_VARS['page'] . '&nID=' . $HTTP_GET_VARS['nID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a></td>' . "\n" . ' </tr>' . "\n" . '</table>'; return $confirm_string; } function send($newsletter_id) { $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'"); //create id for current mailing $messageId = "Message-Id: <" . time() . "@" . $_SERVER['SERVER_NAME'] . ">"; $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer', $messageId)); //$mimemessage->add_text($this->content); //$text = $this->text_content(); $mimemessage->add_html($this->html_content(), $this->text_content(), HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES); $mimemessage->build_message(); while ($mail = tep_db_fetch_array($mail_query)) { $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title); } $newsletter_id = tep_db_prepare_input($newsletter_id); tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'"); } } ?>
  3. I have the same problem, Anyone find the solution ?
  4. You must change "products_image2" by "products_image" in admin/includes/modules/newsletter/newsletter_products.php : $product_query = tep_db_query("select p.products_id, pd.products_name, p.products_image2 by $product_query = tep_db_query("select p.products_id, pd.products_name, p.products_image and in a few lines after 'products_image' => $product['products_image2'], by 'products_image' => $product['products_image'], ;)
×
×
  • Create New...