Jump to content


  • Content count

  • Joined

  • Last visited

Posts posted by gulshesh

  1. Here's my problem...


    I've added a new attribute to TABLE_PRODUCTS called products_shipping -> decimal (5,2) / NULL

    I've altered the /admin/categories.php accordingly, so I't will read the values from TABLE_PRODUCTS and also write them to TABLE_PRODUCTS...

    no problem what so ever... easy going...


    The shop is set to calculate the shiping costs (only one type offered) according to its weight (0-4.9 kg = 6.9 € ; >=5 kg = 10,- €)


    The thing I wanna achieve now, is to alter the /includes/modules/shipping/table.php function quote() in such a fashion that it'll

    check if one of the products in the shoping cart has an individual shipping price saved in the Database,

    and if it's higher than the standard shipping costs, it'll replace the standard shipping costs.


    Therefore We can decide to set special shipping prices for extremely heavy or bulky items.

    For example an item thats lighter than the 5kg but still is so bulky we'd have to charge extra extra (15,- € for example)


    Now where must I set my routine to check on the database, compare the values and change the value of the shipping costs if the DB value exceeds the standard value ???


    I hope this explanation aint to confusing :)

  2. thank you for the reply


       $image_new = "images/logo.jpg";
    $attachment = fread(fopen($image_new, "r"), filesize($image_new));
    $mail->add_attachment("$attachment", $image_new, "image/jpeg");


    i am looking for something like the above code,

    but it adds the images as a attachment... but to stop the message about unsecure blocked items in mail it needs to be embedded like if you insert images in outlook...


    did not work for me ;(





    Well, It worked marvelously for me...


    I'm designing a Shop for handelds/cellular phones.

    So a customer can buy a handheld with or without a contract.

    IF the customer chooses a contract then he receives the contract formular(s) as pdf in his confirmation email... so the following things ive altered:




    go to ->

    // lets start with the email confirmation


    1st I had to create a function to check IF there's been a contract chosen within the shopping cart:


    $antrag_count = 0;

    $send_antrag_array = array();


    aprox at line 224, beneath this code line:

    		} else {
    	  $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix

    within the else { } brackets I've inserted:


    if($order->products[$i]['attributes'][$j]['option_id'] == '40' && $order->products[$i]['attributes'][$j]['value_id'] != 160) {

    $send_antrag_array[$antrag_count] = $order->products[$i]['attributes'][$j]['value_id'];




    In this case option_id = '40' is the ID for that attribute (Simlock contract)

    and value_id != 160 is the ID for the value of the attribute (160 is 'without contract' and all others therefore are with a contract)


    later on ive added this code where the email text gets generated:

    	if(count($send_antrag_array) >0) { 
    		 for($i=0; $i<=count($send_antrag_array)-1; $i++) {
    			 ... extract pdf url path and name via SQL queries...
    	array_push($pdf_url_array, $antrag_pdf_result['antrag_pdf_url']);
    	array_push($pdf_name_array, $antrag_name_result['products_options_values_name']);
    if(count($pdf_url_array)>0) {  // if there are pdf urls within that array send to MODIFIED function
      tep_mail_attachment($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $pdf_url_array, $pdf_name_array);
     else { //send to ORIGINAL function
      tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


    Now within /includes/function/general.php copy the tep_mail function, rename it to tep_mail_attachment and alter it accordingly:


    //! Send email WITH the required Tarif-PDFs (text/html) using MIME in the order confirmation mail
    // This is the central mail function. The SMTP Server should be configured
    // correct in php.ini
    // Parameters:
    // $to_name		   The name of the recipient, e.g. "Jan Wildeboer"
    // $to_email_address  The eMail address of the recipient,
    //					e.g. jan.wildeboer@gmx.de
    // $email_subject	 The subject of the eMail
    // $email_text		The text of the eMail, may contain HTML entities
    // $from_email_name   The name of the sender, e.g. Shop Administration
    // $from_email_adress The eMail address of the sender,
    //					e.g. info@mytepshop.com
    // $pdf_url			  ADDED : The array with the urls to the desired PDFs
    // $pdf_name		  ADDED : The array with the names of the desired PDFs
     function tep_mail_attachment($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address, $pdf_url, $pdf_name) {
    if (SEND_EMAILS != 'true') return false;
    // Instantiate a new mail object
    $message = new email(array('X-Mailer: osCommerce Mailer'));
    // Build the text version
    $text = strip_tags($email_text);
    if (EMAIL_USE_HTML == 'true') {
      $message->add_html($email_text, $text);
    } else {
    if(count($pdf_url)>0) { //Errorhandling : Only execute IF there's been URL transmitted
    	for($i=0; $i<=count($pdf_url)-1; $i++) {
    		//Errorhandling : IF /catalog/ is within the url string, remove it, and add it afterwards (to ensure consistency)
    		if(stristr($pdf_url[$i], 'catalog/')) $explode_pdf_url_string = explode("catalog/", $pdf_url[$i]);
    		else $explode_pdf_url_string[1] = $pdf_url[$i];
    		$pdf_file = DIR_FS_CATALOG.$explode_pdf_url_string[1]; //set absollute path to the file using the global DIR_FS_CATALOG variable
    		if(file_exists($pdf_file)) { //Errorhandling : Only execute IF the file really exists
    			$attachment = fread(fopen($pdf_file, "r"), filesize($pdf_file));
    			$message->add_attachment("$attachment", $pdf_name[$i], "application/pdf"); // ('file', 'name of file', 'content type')
    // Send message
    $message->send($to_name, $to_email_address, $from_email_name, $from_email_address, $email_subject);



    Notice that the url of the pdf and the name of the contract have been transmitted to the function (as array)

    It works great for me!

  3. Ive implemented the script without problems into my ver 2.2 RC 2a...


    regarding following steps:




    $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING . "\n" . "\n"; etc...


    DO NOT delete the 1st sentence, but replace it in the following step... so its a slight error in the readme file...





    array('title' => REPORTS_ORDERS, 'link' => tep_href_link(FILENAME_STATS_CUSTOMERS, 'selected_box=reports'))));


    you are right, it does not exist, looking for reports_orders or filename_stats_customers with a full-text-search-engine tells me it doesn't exist in ANY of the original files, so I just ignored it...




    do everything else as told, (also updating the SQL DB was without errors) and activate the mod in the admin panel...


    It works flawlessly... added new customer, couldn't login without activation, activated it, and logged in...