Jump to content

YePix

Members
  • Content count

    311
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by YePix

  1. YePix

    [Addon] Store Times BS

    what is so difficult to understand? did you install the addon "store times"?
  2. YePix

    [Addon] Store Times BS

    that's how you do it
  3. YePix

    [Addon] Store Times BS

    small bugfix for "stort times" replace the following code in header tags to disable forwarding when the module is deactivated catalog/includes/modules/header_tags/ht_store_times.php osCommerce 2.3.4-1 EDGE find: if (defined('MOD_CON_HDR_STORE_TIMES_DIVERT_PAGES') && MOD_CON_HDR_STORE_TIMES_DIVERT_PAGES == 'True') { if (tep_not_null(MOD_CON_HDR_STORE_TIMES_CLOSE_PAGES)) { $pages_array = array(); foreach (explode(';', MOD_CON_HDR_STORE_TIMES_CLOSE_PAGES) as $page) { $page = trim($page); if (!empty($page)) { $pages_array[] = $page; } } if (in_array(basename($PHP_SELF), $pages_array)) { $store_status = sew_is_store_open(); if ($store_status <> 'open' && $store_status <> 'open-override') tep_redirect('store_times.php'); } } } } replace with: if (MODULE_CONTENT_HEADER_STORE_TIMES_STATUS == 'True') { if (defined('MOD_CON_HDR_STORE_TIMES_DIVERT_PAGES') && MOD_CON_HDR_STORE_TIMES_DIVERT_PAGES == 'True') { if (tep_not_null(MOD_CON_HDR_STORE_TIMES_CLOSE_PAGES)) { $pages_array = array(); foreach (explode(';', MOD_CON_HDR_STORE_TIMES_CLOSE_PAGES) as $page) { $page = trim($page); if (!empty($page)) { $pages_array[] = $page; } } if (in_array(basename($PHP_SELF), $pages_array)) { $store_status = sew_is_store_open(); if ($store_status <> 'open' && $store_status <> 'open-override') tep_redirect('store_times.php'); } } } } } Thus, the header_tag module does not need to be turned off
  4. Es wäre hilfreich, wenn du schildern könntest wie du das Problem gelöst hast.
  5. Hat die Seite mit allen Zahlungsmethoden mal funktioniert oder ist der Fehler erst nach dem ein Zahlungsmodul installiert wurde aufgetretten ? Schalte mal eine Versandmethode hinzu und prüffe ob es anschliessend mit der Zahlungsart funktioniert
  6. Dann lade die Dateien einzeln wieder auf den Server ohne diese zu vereinen und schau es funktioniert. Ich denke du hast die checkout_payment und die checkout_shipping zusammen gefasst oder ?
  7. Hi, setz die seite erstmal aus dem iframe raus und probiers obs ohne funktioniert.
  8. YePix

    SMTP Authentication and OSCommerce

    Whether it's good is not important. Important is why are all email addresses included in the header?
  9. YePix

    SMTP Authentication and OSCommerce

    Hello guys, I have a big problem. When I send e-mails to all customers or newsletters, the e-mail arrives, but the header displays all the e-mail addresses of all customers. Do you have an aura, what goes wrong?
  10. Hi, könnte hier jemand mal nachsehen was da falsch läuft ? Die Angabe Lieferzeiten funzt nur für Deutschland also bei 81 mit 3 bis 7 Tage Kunden aus dem Ausland bekommen die gleiche Angabe 3 bis 7 Tage anstelle von 5 bis 10 Tage general.php // Lieferzeiten start function get_lieferzeitraum($yp_ausland) { // Die Routine geht von 3 Tagen für Lieferdatum_von und 5 Tagen Lieferdatum bis aus. Sollten andere Werte benötigt werden, // // dann die Konstanten c__von und c__bis ändern // Konstanten Inland $c__von_i = 3; // Lieferdatum von in Tagen // $c__bis_i = 7; // Lieferdatum bis in Tagen // $c__heimatland = 81 ; // 81 = Deutschland // wie bereits erwähnt, findet man die Zahlu in der Datenbank // Konstanten Ausland $c__von_a = 5; // Lieferdatum von in Tagen // $c__bis_a = 10; // Lieferdatum bis in Tagen // if ($yp_ausland == $c__heimatland) { // es ist Deutschland // $c__von = $c__von_i; $c__bis = $c__bis_i; } else { $c__von = $c__von_a; $c__bis = $c__bis_a; } $y_von_day = $c__von . ' day'; $lieferdatum_von = strtotime(" . $y_von_day . "); $wochentag_von = strftime("%u",$lieferdatum_von); $y_dazu = 0; if ($wochentag_von == 0) { // es ist ein Sonntag => +1 Tag dazu // $y_dazu = 1; } elseif ($wochentag_von == 6) { // es ist ein Samstag => +2 Tage dazu // $y_dazu = 2; } $y_von_neu = $c__von + $y_dazu; $y_von_neu_day = $y_von_neu . ' day'; $lieferdatum_von = strtotime(" . $y_von_neu_day . "); // Wenn das "Lieferdatum von" schon ein Wochenende war, dann die Anzahl der zu verschiebenen Tage auf das "Lieferdatum bis" hinzuaddieren // $y_bis_start = $c__bis + $y_dazu; $y_bis_day = $y_bis_start . ' day'; $lieferdatum_bis = strtotime(" . $y_bis_day . "); // Überprüfen, ob das "Lieferdatum bis" auf ein Wochenende fällt // $wochentag_bis = strftime("%u",$lieferdatum_bis); $y_dazu=0; if ($wochentag_bis == 0) { // es ist ein Sonntag => +1 Tag dazu // $y_dazu = 1; } elseif ($wochentag_bis == 6) { // es ist ein Samstag => +2 Tage dazu // $y_dazu = 2; } $y_bis_neu = $y_bis_start + $y_dazu; $y_bis_neu_day = $y_bis_neu . ' day'; $lieferdatum_bis = strtotime(" . $y_bis_neu_day . "); $lieferdatum_von = date('d.m.',$lieferdatum_von); $lieferdatum_bis = date('d.m.',$lieferdatum_bis) ; return array($lieferdatum_von, $lieferdatum_bis) ; } // Lieferzeiten ende product_info.php <?php $c__heimatland = 81; // 81 = Deutschland // mit der Zahl kann man sein Heimatland angeben. Das findet mach am Besten in der Datenbank list($lieferdatum_von,$lieferdatum_bis) = get_lieferzeitraum($c__heimatland); $pls_shippingtime = '<span class="pls_basePrice">' . TEXT_LIEFERUNG_PI . $lieferdatum_von . "-" . $lieferdatum_bis . '</span>'; ?>
  11. in der Tabelle PRODUCTS siehst du die products_id und diese muss der Tabelle PRODUCTS_TO_CATEGORIES entsprechen.
  12. wenn du dein backup hast, musst du nur die Verbindung von Produkten zu den entsprechenden Kategorien überprüfen. Vergleiche die Tabellenstruktur ob eventuel etwas anders aufgebaut ist.
  13. Wenn ich mir das Bild so ansehe muss ich feststellen, dass du der nächster bist der erst macht, dann heult und dann handelt. osCommerce ist nicht für den sofortigen Einsatz nach der Installation geeignet !!!!!! Bevor Ihr on-Line geht macht euch ein genaueres Bild davon was alles vom Gesetz vorgeschrieben ist um ein Shop betreiben zu dürfen.
  14. hast du ei Beckup der alten DB gemacht ?
  15. YePix

    SMTP Authentication and OSCommerce

    For those who want or need to send their emails with smtp through authentication. Email not suitable for gmail accounts !!! **************************************************** Step 1. BACKUP ALL FILES BEFORE CHANGE !!! **************************************************** Step 2. Download: www.pl-systeme.de/free_download/PHPMailer.zip transferred to: catalog/ext/modules/PHPMailer **************************************************** Step 3. change class files: catalog/includes/classes.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce */ require_once 'ext/modules/PHPMailer/class.phpmailer.php'; $phpMail = new PHPMailer(); class email { var $html; var $text; var $html_text; var $lf; var $debug = 0; var $debug_output = 'error_log'; function email($headers = '') { global $phpMail; $phpMail->XMailer = 'osCommerce ' . tep_get_version(); $phpMail->SMTPDebug = $this->debug; $phpMail->Debugoutput = $this->debug_output; $phpMail->CharSet = CHARSET; $phpMail->WordWrap = 998; if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } } function add_text($text = '') { global $phpMail; $phpMail->IsHTML(false); $this->text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); } function add_html($html, $text = NULL, $images_dir = NULL) { global $phpMail; $phpMail->IsHTML(true); $this->html = tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br />', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->html = $phpMail->msgHTML($this->html, $images_dir); } function add_attachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') { global $phpMail; $phpMail->AddAttachment($path, $name, $encoding, $type, $disposition); } function build_message() { //out of work function } function send($to_name, $to_addr, $from_name, $from_addr, $subject = '', $reply_to = false) { global $phpMail; if ((strstr($to_name, "\n") != false) || (strstr($to_name, "\r") != false)) { return false; } if ((strstr($to_addr, "\n") != false) || (strstr($to_addr, "\r") != false)) { return false; } if ((strstr($subject, "\n") != false) || (strstr($subject, "\r") != false)) { return false; } if ((strstr($from_name, "\n") != false) || (strstr($from_name, "\r") != false)) { return false; } if ((strstr($from_addr, "\n") != false) || (strstr($from_addr, "\r") != false)) { return false; } $phpMail->From = $from_addr; $phpMail->FromName = $from_name; $phpMail->AddAddress($to_addr, $to_name); if ($reply_to) { $phpMail->AddReplyTo(EMAIL_SMTP_REPLYTO, STORE_NAME); } else { $phpMail->AddReplyTo($from_addr, $from_name); } $phpMail->Subject = $subject; if (!empty($this->html)) { $phpMail->Body = $this->html; $phpMail->AltBody = $this->html_text; } else { $phpMail->Body = $this->text; } if (EMAIL_TRANSPORT == 'smtp' || EMAIL_TRANSPORT == 'gmail') { $phpMail->IsSMTP(); $phpMail->Host = EMAIL_SMTP_HOSTS; $phpMail->SMTPAuth = EMAIL_SMTP_AUTHENTICATION; $phpMail->Username = EMAIL_SMTP_USER; $phpMail->Password = EMAIL_SMTP_PASSWORD; if (EMAIL_TRANSPORT == 'gmail') { $phpMail->Port = 465; $phpMail->SMTPSecure = 'ssl'; } } else { $phpMail->isSendmail(); } if (!$phpMail->Send()) { return false; } return true; } } /* ** Altered for Mail Manager ** */ // eliminate line feeds as <br> class emailMailManager extends email { function add_html($html, $text = NULL, $images_dir = NULL) { $this->html = $html; //tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br>', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->find_html_images($images_dir); } } /* ** EOF alterations for Mail Manager ** */ ?> catalog/admin/includes/classes.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce Released under the GNU General Public License */ require_once '../ext/modules/PHPMailer/class.phpmailer.php'; $phpMail = new PHPMailer(); class email { var $html; var $text; var $html_text; var $lf; var $debug = 0; var $debug_output = 'error_log'; function email($headers = '') { global $phpMail; $phpMail->XMailer = 'osCommerce ' . tep_get_version(); $phpMail->SMTPDebug = $this->debug; $phpMail->Debugoutput = $this->debug_output; $phpMail->CharSet = CHARSET; $phpMail->WordWrap = 998; if (EMAIL_LINEFEED == 'CRLF') { $this->lf = "\r\n"; } else { $this->lf = "\n"; } } function add_text($text = '') { global $phpMail; $phpMail->IsHTML(false); $this->text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); } function add_html($html, $text = NULL, $images_dir = NULL) { global $phpMail; $phpMail->IsHTML(true); $this->html = tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br />', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->html = $phpMail->msgHTML($this->html, $images_dir); } function add_attachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') { global $phpMail; $phpMail->AddAttachment($path, $name, $encoding, $type, $disposition); } function build_message() { //out of work function } function send($to_name, $to_addr, $from_name, $from_addr, $subject = '', $reply_to = false) { global $phpMail; if ((strstr($to_name, "\n") != false) || (strstr($to_name, "\r") != false)) { return false; } if ((strstr($to_addr, "\n") != false) || (strstr($to_addr, "\r") != false)) { return false; } if ((strstr($subject, "\n") != false) || (strstr($subject, "\r") != false)) { return false; } if ((strstr($from_name, "\n") != false) || (strstr($from_name, "\r") != false)) { return false; } if ((strstr($from_addr, "\n") != false) || (strstr($from_addr, "\r") != false)) { return false; } $phpMail->From = $from_addr; $phpMail->FromName = $from_name; $phpMail->AddAddress($to_addr, $to_name); if ($reply_to) { $phpMail->AddReplyTo(EMAIL_SMTP_REPLYTO, STORE_NAME); } else { $phpMail->AddReplyTo($from_addr, $from_name); } $phpMail->Subject = $subject; if (!empty($this->html)) { $phpMail->Body = $this->html; $phpMail->AltBody = $this->html_text; } else { $phpMail->Body = $this->text; } if (EMAIL_TRANSPORT == 'smtp' || EMAIL_TRANSPORT == 'gmail') { $phpMail->IsSMTP(); $phpMail->Host = EMAIL_SMTP_HOSTS; $phpMail->SMTPAuth = EMAIL_SMTP_AUTHENTICATION; $phpMail->Username = EMAIL_SMTP_USER; $phpMail->Password = EMAIL_SMTP_PASSWORD; if (EMAIL_TRANSPORT == 'gmail') { $phpMail->Port = 465; $phpMail->SMTPSecure = 'ssl'; } } else { $phpMail->isSendmail(); } if (!$phpMail->Send()) { return false; } return true; } } /* ** Altered for Mail Manager ** */ // eliminate line feeds as <br> class emailMailManager extends email { function add_html($html, $text = NULL, $images_dir = NULL) { $this->html = $html; //tep_convert_linefeeds(array("\r\n", "\n", "\r"), '<br>', $html); $this->html_text = tep_convert_linefeeds(array("\r\n", "\n", "\r"), $this->lf, $text); if (isset($images_dir)) $this->find_html_images($images_dir); } } /* ** EOF alterations for Mail Manager ** */ ?> **************************************************** Step 4. catalog/admin/functions/general.php find: //// // Sets the status of a product function tep_set_product_status($products_id, $status) { if ($status == '1') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '1', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } elseif ($status == '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } else { return -1; } } add below: //// // Sets the password function for db function tep_cfg_password($password) { return preg_replace("|.|", "*", $password); } function tep_cfg_input_password($password) { return tep_draw_password_field('configuration_value', $password); } **************************************************** Step 5. Import sql: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP hosts', 'EMAIL_SMTP_HOSTS', '', 'Assign SMTP host senders', '12', '6', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('SMTP authentication', 'EMAIL_SMTP_AUTHENTICATION', 'true', 'Do you want authenticated SMTP server?', '12', '7', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) VALUES ('SMTP Password', 'EMAIL_SMTP_PASSWORD', '', 'Add SMTP Password for SMTP protocol', '12', '8', 'tep_cfg_password', 'tep_cfg_input_password(', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP User', 'EMAIL_SMTP_USER', '', 'Add SMTP user for SMTP protocol', '12', '9', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('SMTP Reply To', 'EMAIL_SMTP_REPLYTO', '', 'Add SMTP reply to address', '12', '10', now()); **************************************************** Step 6. go to: http://www.yourDomain.com/admin/configuration.php?gID=12 change the new SMTP email settings and set the email transport method to smtp **************************************************** Step 7. finished.
  16. YePix

    SMTP Authentication and OSCommerce

    So first thanks to @raiwa and @Tsimi. With a few suggestions you helped me a lot. Special thanks to @tgely for his challenging work! The instructions for bootstrap with all changes and source code I will put in soon for other users. The email-class has to be changed, the general.php in the admin has to be provided with a function and the corresponding php-mailer comes as a download.
  17. YePix

    SMTP Authentication and OSCommerce

    I do not know what it should bring but even if the mails were classified as spam, they would arrive. I tested it with gmail and outlook. Emails do not arrive. but still thank you. could someone help me?
  18. Im Adminmenü findest du es auch nicht. Es muss direkt in der Datei create_account.php bearbeitet werden.
  19. das ist der code für newsletter: <tr> <td class="fieldKey"><?php echo ENTRY_NEWSLETTER; ?></td> <td class="fieldValue"><?php echo tep_draw_checkbox_field('newsletter', '1') . '&nbsp;' . (tep_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="inputRequirement">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?></td> </tr>
  20. das ist der Abschnitt der für das Feld Telefonnummer zuständig ist: if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR); } <tr> <td class="fieldKey"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> <td class="fieldValue"><?php echo tep_draw_input_field('telephone') . '&nbsp;' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td> </tr>
  21. Also bei dem Wissen über osCommerce ist es schon mal sehr schlecht überhaupt in Erwägung zu ziehen einen Online-Shop frei ins Netz zu stellen. (Sorry nicht böse gemeint) Bevor du dir Gedanken über eventuelle Angabefelder machst, solltest du dir lieber Gedanken über die rechtliche Situation, was das Betreiben eines Shops im Netz angeht machen. Eine Abmahnung wegen fehlender bzw. falscher Angaben kann sehr, sehr teuer werden. (Das nehmen viel zu viele hier leider auf die leichte Schulter) und dann ist das Gehäule gross ! Die besten Ausreden sind immer, Ich möchte nicht viel investieren, da es nur ein kleiner Shop ist und und und..... Es ist ganz egal wie gross der Shop werden soll, auch wen nur ein Produkt verkauft wird. Gesetz ist Gesetz und die Straffen sind sehr hoch bei Verstössen. Ist der Shop irgendwann Abmahnsicher, so kannst du an Verschönerung und Anpassung bestimmter Details denken die du haben möchtest. Nichts für ungut aber denk über meine Worte nach, kann viel Ärger ersparen.
  22. Um die Telefonnummer zu entfernen muss die create_account.php im catalog so wie die customers.php im admin bearbeitet werden. Hierbei alle Abfragen und das Eingabefeld entfernen. Etwas schöner wre eine DB-Abfrage zu installieren um das Telefonfeld über die Administration ab bzw. ein zu schalten.
  23. YePix

    Entscheidungsfindung

    Du brauchst noch den Lieferkostenvermerk in unmittelbarer Nähe zum Preis. Nicht vergessen, die Versandkosten müssen inkl. MwSt. gelten. Bestätigung der AGB, Widerruf und Datenschutzrichtlinien. Die DSGVO Angaben müssen jedem Kunden zugänglich sein. Kontrollkästchen mit Bestätigung der Privatsphere vor dem Versenden des Kontaktformulars. Und, und, und..... An deiner Stelle würde ich erstmal genauer prüffen was alles noch fehlt was rechtlich vorgeschrieben ist bevor der Shop On-Line geht. (kann sehr teuer werden.) PS. Die anderen Shops die im Netz zu finden sind, sind auch nicht ganz ohne und müssen an die Gesetzvorgaben angepasst werden.
  24. YePix

    QTPro BS

    I have located the error. I do not know why but it was the field name. From "cart_quantity" I did "quantityfield" and everything works again. I thank you anyway.
  25. YePix

    QTPro BS

    My buy now button with quantity field: echo ' <div class="pls_margin"><span class="text">' . TEXT_ENTER_QUANTITY . ' ' . tep_draw_input_field('cart_quantity', '1', 'style="width: 70px;" min="0"', 'number') . '</span> ' . tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'fa fa-shopping-cart', null, 'primary', array('params' => 'data-has-attributes="' . (($products_attributes['total'] > 0) ? '1' : '0') . '" data-in-stock="' . (int)$product_info['products_quantity'] . '" data-product-id="' . (int)$product_info['products_id'] . '"'), 'btn btn-success btn-block btn-lg') .'</div>';
×