Joomladay francophone 2018 à Paris 18 et 19 mai

Erreur Liste des commandes

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Erreur Liste des commandes

    Bonjour,
    Petit souci, quand je suis dans La liste des commandes et quand je clic sur un des N° de commande, j'obtiens cette erreur :
    Fatal error: Call to undefined static function: ps_order:rder_print_navigation() in /homepages/28/d235794657/htdocs/balkal/administrator/components/com_virtuemart/html/order.order_print.php on line 35
    savez pourquoi ?
    D'avance, merci.
    Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

  • #2
    Envoyé par joombo Voir le message
    Bonjour,
    Petit souci, quand je suis dans La liste des commandes et quand je clic sur un des N° de commande, j'obtiens cette erreur :
    savez pourquoi ?
    D'avance, merci.
    s'il vous plait ? une aide !
    Merci
    Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

    Commentaire


    • #3
      A mon avis, il manque un "o" à la ligne 35.
      La fonction doit s'appeller "order_print_navigation" et non "rder_print_navigation".

      Commentaire


      • #4
        Envoyé par Squall161 Voir le message
        A mon avis, il manque un "o" à la ligne 35.
        La fonction doit s'appeller "order_print_navigation" et non "rder_print_navigation".

        Bonjour Squall,
        J'ai corrige la faute mais il y a toujours l'erreur :
        Fatal error: Call to undefined function: order_print_navigation() in /homepages/28/d235794657/htdocs/balkal/administrator/components/com_virtuemart/html/order.order_print.php on line 35
        j'ai aussi cette erreur dans information de commande, est ce que c'est lié ? :
        Information de Commande
        Fatal error: Call to undefined method: ps_order->list_order() in /homepages/28/d235794657/htdocs/balkal/administrator/components/com_virtuemart/html/account.index.php on line 62
        Merci de votre aide.
        Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

        Commentaire


        • #5
          Bizarre en effet. Il n'arrive pas à trouver les fonctions appellées.

          Est-ce que tu n'aurais pas touché au code du fichier suivant :
          administrator/components/com_virtuemart/classes/ps_order.php

          Commentaire


          • #6
            1er partie

            Heu, non j'y ai pas touché voici mon fichier ps_order.php
            Code:
            <?php
            defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
            class ps_order {
            	var $classname = "ps_order";
            	var $error;
            	function order_status_update(&$d) {
            		global $mosConfig_offset;
            		
            		$db = new ps_DB;
            		$timestamp = time() + ($mosConfig_offset*60*60);
            		$mysqlDatetime = date("Y-m-d G:i:s",$timestamp);
            
            		if( empty($_REQUEST['include_comment'])) {
            			$include_comment="N";
            		}
            
            		// get the current order status
            		$curr_order_status = @$d["current_order_status"];
            		$notify_customer = empty($d['notify_customer']) ? "N" : $d['notify_customer'];
            		if( $notify_customer=="Y" ) {
            			$notify_customer=1;
            		}
            		else {
            			$notify_customer=0;
            		}
            
            		$d['order_comment'] = empty($d['order_comment']) ? "" : $d['order_comment'];
            		if( $curr_order_status=="P" && $d["order_status"]=="C") {
            			$q = "SELECT order_number,payment_class,order_payment_trans_id FROM #__{vm}_payment_method,#__{vm}_order_payment,#__{vm}_orders WHERE ";
            			$q .= "#__{vm}_order_payment.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_orders.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_order_payment.payment_method_id=#__{vm}_payment_method.payment_method_id";
            			$db->query( $q );
            			$db->next_record();
            			$payment_class = $db->f("payment_class");
            			if( $payment_class=="ps_authorize" ) {
            				require_once( CLASSPATH."payment/ps_authorize.cfg.php");
            				if( AN_TYPE == 'AUTH_ONLY' ) {
            					require_once( CLASSPATH."payment/ps_authorize.php");
            					$authorize =& new ps_authorize();
            					$d["order_number"] = $db->f("order_number");
            					if( !$authorize->capture_payment( $d )) {
            						return false;
            					}
            				}
            			}
            		}
            		if( ($curr_order_status=="P" || $curr_order_status=="C") && $d["order_status"]=="S") {
            			$q = "SELECT order_number,payment_class,order_payment_trans_id FROM #__{vm}_payment_method,#__{vm}_order_payment,#__{vm}_orders WHERE ";
            			$q .= "#__{vm}_order_payment.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_orders.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_order_payment.payment_method_id=#__{vm}_payment_method.payment_method_id";
            			$db->query( $q );
            			$db->next_record();
            			$payment_class = $db->f("payment_class");
            			if( $payment_class=="ps_pfp" ) {
            				require_once( CLASSPATH."payment/ps_pfp.cfg.php");
            				if( PFP_TYPE == 'A' ) {
            					require_once( CLASSPATH."payment/ps_pfp.php");
            					$pfp =& new ps_pfp();
            					$d["order_number"] = $db->f("order_number");
            					if( !$pfp->capture_payment( $d )) {
            						return false;
            					}
            				}
            			}
            		}
            
            		if( $curr_order_status=="P" && $d["order_status"]=="X") {
            			$q = "SELECT order_number,payment_class,order_payment_trans_id FROM #__{vm}_payment_method,#__{vm}_order_payment,#__{vm}_orders WHERE ";
            			$q .= "#__{vm}_order_payment.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_orders.order_id='".$d['order_id']."' ";
            			$q .= "AND #__{vm}_order_payment.payment_method_id=#__{vm}_payment_method.payment_method_id";
            			$db->query( $q );
            			$db->next_record();
            			$payment_class = $db->f("payment_class");
            			if( $payment_class=="ps_pfp" ) {
            				require_once( CLASSPATH."payment/ps_pfp.cfg.php");
            				if( PFP_TYPE == 'A' ) {
            					require_once( CLASSPATH."payment/ps_pfp.php");
            					$pfp =& new ps_pfp();
            					$d["order_number"] = $db->f("order_number");
            					if( !$pfp->void_authorization( $d )) {
            						return false;
            					}
            				}
            			}
            		}
            
            		$q = "UPDATE #__{vm}_orders SET";
            		$q .= " order_status='" . $d["order_status"] . "' ";
            		$q .= ", mdate='" . $timestamp . "' ";
            		$q .= "WHERE order_id='" . $d["order_id"] . "'";
            		$db->query($q);
            
            $q = "INSERT INTO #__{vm}_order_history ";
            $q .= "(order_id,order_status_code,date_added,customer_notified,comments,colissimo) VALUES (";
            $q .= "'".$d["order_id"] . "', '" . $d["order_status"] . "', '$mysqlDatetime', '$notify_customer', '".$d['order_comment']."', '".$d['order_colissimo']."')";
            $db->query($q);
            		if( ($d["order_status"] == "X" || $d["order_status"]=="R" ||
            			$d["order_status"] == "x" || $d["order_status"]=="r") &&
            			//CHECK_STOCK == '1' &&
            			$curr_order_status != $d["order_status"]
            			) {
            			$q = "SELECT product_id, product_quantity FROM #__{vm}_order_item WHERE order_id='".$d["order_id"]."'";
            			$db->query( $q );
            			$dbu = new ps_DB;
            			// Now update each ordered product
            			while( $db->next_record() ) {
            				$q = "UPDATE #__{vm}_product SET product_in_stock=product_in_stock+".$db->f("product_quantity")
            				.",product_sales=product_sales-".$db->f("product_quantity")." WHERE product_id='".$db->f("product_id")."'";
            				$dbu->query( $q );
            			}
            		}
            		// Update the Order Items' status
            		$q = "SELECT order_item_id FROM #__{vm}_order_item WHERE order_id=".$d['order_id'];
            		$db->query($q);
            		$dbu = new ps_DB;
            		while ($db->next_record()) {
            			$item_id = $db->f("order_item_id");
            			$q  = "UPDATE #__{vm}_order_item SET order_status='".$d["order_status"]."'"
            			. "\n, mdate='" . $timestamp . "' "
            			. "\n WHERE order_item_id=".$item_id;
            			$dbu->query( $q );
            		}
            		
            		if (ENABLE_DOWNLOADS == '1') {
            			$this->mail_download_id( $d );
            		}
            
            		if( !empty($notify_customer) ) {
            			$this->notify_customer( $d );
            		}
            		return true;
            	}
            	function mail_download_id( &$d ){
            
            		global $mosConfig_live_site, $mosConfig_absolute_path, $db, $sess,
            		$VM_LANG, $mosConfig_smtpauth, $mosConfig_mailer, $vmLogger,
            		$mosConfig_smtpuser, $mosConfig_smtppass, $mosConfig_smtphost;
            
            		// modif
            		if(is_null($sess)){
            			$url = $mosConfig_live_site."/index.php?option=com_virtuemart&page=shop.downloads&Itemid=1";
            		} else {
            			$url = $mosConfig_live_site."/index.php?option=com_virtuemart&page=shop.downloads&Itemid=".$sess->getShopItemid();
            		}
            		
            		if ($d["order_status"]==ENABLE_DOWNLOAD_STATUS) {
            			$dbw = new ps_DB;
            			$dbw_2 = new ps_DB;
            			$q = "SELECT * FROM #__{vm}_product_download WHERE";
            			$q .= " order_id = '" . $d["order_id"] . "'";
            			$dbw->query($q);
            			$dbw->next_record();
            			$userid = $dbw->f("user_id");
            			$download_id = $dbw->f("download_id");
            			$datei=$dbw->f("file_name");
            			$dbw_2->query($q);
            
            			if ($download_id) {
            
            				$dbv = new ps_DB;
            				$q = "SELECT * FROM #__{vm}_vendor ";
            				$q .= "WHERE vendor_id='1'";
            				$dbv->query($q);
            				$dbv->next_record();
            
            				$db = new ps_DB;
            				$q="SELECT first_name,last_name, user_email FROM #__{vm}_user_info WHERE user_id = '$userid' AND address_type='BT'";
            				$db->query($q);
            				$db->next_record();
            
            				$message = $VM_LANG->_HI.' ' . $db->f("first_name") . ($db->f("middle_name")?' '.$db->f("middle_name") : '' ). ' ' . $db->f("last_name") . "\n\n";
            				$message .= $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_1.".\n";
            				$message .= $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_2."\n\n";
            
            				while($dbw_2->next_record()) {
            					$message .= $dbw_2->f("file_name").": ".$dbw_2->f("download_id")
            					. "\n$url&download_id=".$dbw_2->f("download_id")."\n\n";
            				}
            
            				$message .= $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_3 . DOWNLOAD_MAX."\n";
            				$expire = ((DOWNLOAD_EXPIRE / 60) / 60) / 24;
            				$message .= str_replace("{expire}", $expire, $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_4);
            				$message .= "\n\n____________________________________________________________\n";
            				$message .= $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_5."\n";
            				$message .= $dbv->f("vendor_name") . " \n" . $mosConfig_live_site."\n\n".$dbv->f("contact_email") . "\n";
            				$message .= "____________________________________________________________\n";
            				$message .= $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG_6 . $dbv->f("vendor_name");
            
            
            				$mail_Body = $message;
            				$mail_Subject = $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_SUBJ;
            
            				$result = vmMail( $dbv->f("contact_email"), $dbv->f("vendor_name"),
            				$db->f("user_email"), $mail_Subject, $mail_Body, '' );
            Merci
            Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

            Commentaire


            • #7
              2eme partie

              Code:
              				//modif
              				if(!is_null($sess)){
              					if ($result) {
              						$vmLogger->info( $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG. " ". $db->f("first_name") . " " . $db->f("last_name") . " ".$db->f("user_email") );
              					}
              
              					else {
              						$vmLogger->warning( $VM_LANG->_PHPSHOP_DOWNLOADS_ERR_SEND." ". $db->f("first_name") . " " . $db->f("last_name") . ", ".$db->f("user_email")." (". $mail->ErrorInfo.")" );
              					}
              				}
              			}
              		}
              
              		##---------------------------updated 03/28/2004-----------------------------------
              
              		elseif ($d["order_status"]==DISABLE_DOWNLOAD_STATUS) {
              			$db = new ps_DB;
              			$q = "DELETE FROM #__{vm}_product_download WHERE order_id=" . $d["order_id"];
              			$db->query($q);
              			$db->next_record();
              		}
              
              		return true;
              	}
              
              	function notify_customer( &$d ){
              		global $mosConfig_live_site, $mosConfig_absolute_path, $sess, $ps_vendor_id,
              		$VM_LANG, $mosConfig_smtpauth, $mosConfig_mailer, $vmLogger,
              		$mosConfig_smtpuser, $mosConfig_smtppass, $mosConfig_smtphost;
              		// modif
              		if(is_null($sess)){
              			$Itemid = 1;
              		} else {
              			$Itemid = $sess->getShopItemid();
              		}
              
              		$url = $mosConfig_live_site."/index.php?option=com_virtuemart&page=account.order_details&order_id=".$d["order_id"]."&Itemid=$Itemid";
              
              		$db = new ps_DB;
              		$dbv = new ps_DB;
              		$q = "SELECT vendor_name,contact_email FROM #__{vm}_vendor ";
              		$q .= "WHERE vendor_id=$ps_vendor_id";
              		$dbv->query($q);
              		$dbv->next_record();
              
              		$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
              		$q .= "WHERE #__{vm}_orders.order_id = '".$d["order_id"]."' ";
              		$q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
              		$q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
              		$q .= "AND order_status = order_status_code ";
              		$db->query($q);
              		$db->next_record();
              
              		/* MAIL BODY */
              		$message = $VM_LANG->_HI. ' ' . $db->f("first_name") .($db->f("middle_name")?' '.$db->f("middle_name") : '' ). ' '  . $db->f("last_name") . ",\n\n";
              		$message .= $VM_LANG->_PHPSHOP_ORDER_STATUS_CHANGE_SEND_MSG_1."\n\n";
              
              		if( !empty($d['include_comment']) && !empty($d['order_comment']) ) {
              			$message .= $VM_LANG->_PHPSHOP_ORDER_HISTORY_COMMENT_EMAIL.":\n";
              			if( get_magic_quotes_gpc() ) {
              				$d['order_comment'] = stripslashes( $d['order_comment'] );
              			}
              			$message .= $d['order_comment'];
              
              $message .= $VM_LANG->_PHPSHOP_ORDER_STATUS_CHANGE_SEND_MSG_2."\n";
              $message .= "____________________________________________________________\n\n";
              $message .= $db->f("order_status_name");
              $message .= "\n____________________________________________________________\n\n";
               
              if( !empty($d['include_colissimo']) && !empty($d['order_colissimo']) ) {
              $urlcolissimo = "http://www.coliposte.net/particulier/suivi_particulier.jsp?colispart=".$d["order_colissimo"];
               
              $message .= $VM_LANG->_PHPSHOP_ORDER_HISTORY_COLISSIMO_EMAIL." :\n";
              $message .= stripslashes( $d['order_colissimo'] );
              $message .= "\n";
              $message .= $VM_LANG->_PHPSHOP_ORDER_HISTORY_COLISSIMO_EMAIL_LIEN." :\n";
              $message .= $urlcolissimo;
              $message .= "\n____________________________________________________________\n\n";
              }
               
              $message .= $VM_LANG->_PHPSHOP_ORDER_STATUS_CHANGE_SEND_MSG_3."\n";
              $message .= $url;
              $message .= "\n\n____________________________________________________________\n";
              $message .= $dbv->f("vendor_name") . " \n";
              $message .= $mosConfig_live_site."\n";
              $message .= $dbv->f("contact_email");
              		$message = str_replace( "{order_id}", $d["order_id"], $message );
              
              		$mail_Body = html_entity_decode($message);
              		$mail_Subject = str_replace( "{order_id}", $d["order_id"], html_entity_decode($VM_LANG->_PHPSHOP_ORDER_STATUS_CHANGE_SEND_SUBJ));
              
              
              		$result = vmMail( $dbv->f("contact_email"),  $dbv->f("vendor_name"),
              		$db->f("user_email"), $mail_Subject, $mail_Body, '' );
              
              		/* Send the email */
              		//modif
              		if(!is_null($sess)){
              			if ($result) {
              				$vmLogger->info( $VM_LANG->_PHPSHOP_DOWNLOADS_SEND_MSG. " ". $db->f("first_name") . " " . $db->f("last_name") . ", ".$db->f("user_email") );
              			} else {
              				$vmLogger->warning( $VM_LANG->_PHPSHOP_DOWNLOADS_ERR_SEND.' '. $db->f("first_name") . " " . $db->f("last_name") . ", ".$db->f("user_email")." (". $result->ErrorInfo.")" );
              			}
              		}
              	}
              	function download_request(&$d) {
              		global  $return_success, $download_id, $VM_LANG, $vmLogger;
              		$auth  = $_SESSION['auth'];
              
              		$db = new ps_DB;
              		$download_id = strip_tags( $d["download_id"] );
              
              		$q = "SELECT * FROM #__{vm}_product_download WHERE";
              		$q .= " download_id = '$download_id'";
              
              		$db->query($q);
              		$db->next_record();
              
              		$download_id = $db->f("download_id");
              		$file_name = $db->f("file_name");
              		$download_max = $db->f("download_max");
              		$end_date = $db->f("end_date");
              		$zeit=time();
              
              		if (!$download_id) {
              			$vmLogger->err( $VM_LANG->_PHPSHOP_DOWNLOADS_ERR_INV );
              			return false;
              			//mosRedirect("index.php?option=com_virtuemart&page=shop.downloads", $d["error"]);
              		}
              
              		elseif ($download_max=="0") {
              			$q ="DELETE FROM #__{vm}_product_download";
              			$q .=" WHERE download_id = '" . $d["download_id"] . "'";
              			$db->query($q);
              			$db->next_record();
              			$vmLogger->err( $VM_LANG->_PHPSHOP_DOWNLOADS_ERR_MAX );
              			return false;
              Merci
              Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

              Commentaire


              • #8
                3eme partie

                Code:
                			//mosRedirect("index.php?option=com_virtuemart&page=shop.downloads", $d["error"]);
                		}
                
                		elseif ($end_date=="0") {
                			$end_date=time(u) + DOWNLOAD_EXPIRE;
                			$q ="UPDATE #__{vm}_product_download SET";
                			$q .=" end_date=$end_date";
                			$q .=" WHERE download_id = '" . $d["download_id"] . "'";
                			$db->query($q);
                			$db->next_record();
                		}
                
                		elseif ($zeit > $end_date) {
                			$q ="DELETE FROM #__{vm}_product_download";
                			$q .=" WHERE download_id = '" . $d["download_id"] . "'";
                			$db->query($q);
                			$db->next_record();
                			$vmLogger->err( $VM_LANG->_PHPSHOP_DOWNLOADS_ERR_EXP );
                			return false;
                			//mosredirect("index.php?option=com_virtuemart&page=shop.downloads", $d["error"]);
                		}
                
                		$dl_max = $download_max - 1;
                
                		$q ="UPDATE #__{vm}_product_download SET";
                		$q .=" download_max=$dl_max";
                		$q .=" WHERE download_id = '" . $d["download_id"] . "'";
                		$db->query($q);
                		$db->next_record();
                
                		$datei = DOWNLOADROOT . $file_name;
                
                		// Check, if file path is correct
                		// and file is
                		if ( file_exists( $datei ) ){
                			if ( is_readable( $datei ) ) {
                				if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'])) {
                					$UserBrowser = "Opera";
                				}
                				elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT'])) {
                					$UserBrowser = "IE";
                				} else {
                					$UserBrowser = '';
                				}
                				$mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream';
                
                				// dump anything in the buffer
                				@ob_end_clean();
                
                				header('Content-Type: ' . $mime_type);
                				header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
                				header('Content-Length: ' . filesize($datei) );
                
                				if ($UserBrowser == 'IE') {
                					header('Content-Disposition: attachment; filename="' . $file_name . '"');
                					header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                					header('Pragma: public');
                				} else {
                					header('Content-Disposition: attachment; filename="' . $file_name . '"');
                					header('Pragma: no-cache');
                				}
                				/*** Now send the file!! ***/
                				vmReadFileChunked( $datei );
                
                				exit();
                			}
                			else {
                				$vmLogger->err( "Sorry, but the requested file can't be read from the Server" );
                				return false;
                				//mosRedirect("index.php?option=com_virtuemart&page=shop.downloads", $d["error"]);
                			}
                		}
                		else {
                			$vmLogger->err( "Sorry, but the requested file wasn't found. Possible Cause: Wrong path" );
                			return false;
                			//mosRedirect("index.php?option=com_virtuemart&page=shop.downloads", $d["error"]);
                		}
                	}
                	function list_order($order_status='A', $secure=0 ) {
                		global $VM_LANG, $CURRENCY_DISPLAY, $sess, $limit, $limitstart, $keyword, $mm_action_url;
                
                		$ps_vendor_id = $_SESSION["ps_vendor_id"];
                		$auth = $_SESSION['auth'];
                		require_once( CLASSPATH .'htmlTools.class.php');
                		require_once( CLASSPATH .'pageNavigation.class.php');
                		$db = new ps_DB;
                		$dbs = new ps_DB;
                		$i = 0;
                		$listfields = 'cdate,order_total,order_status,order_id';
                		$countfields = 'count(*) as num_rows';
                		$count = "SELECT $countfields FROM #__{vm}_orders ";
                		$list = "SELECT $listfields FROM #__{vm}_orders ";
                		$q = "WHERE vendor_id='$ps_vendor_id' ";
                		if ($order_status != "A") {
                			$q .= "AND order_status='$order_status' ";
                		}
                		if ($secure) {
                			$q .= "AND user_id='" . $auth["user_id"] . "' ";
                		}
                		if( !empty( $keyword )) {
                			$q .= "AND (order_id LIKE '%".$keyword."%' ";
                			$q .= "OR order_number LIKE '%".$keyword."%' ";
                			$q .= "OR order_total LIKE '%".$keyword."%') ";
                		}
                		$q .= "ORDER BY cdate DESC";
                		$count .= $q;
                
                		$db->query($count);
                		$db->next_record();
                		$num_rows = $db->f('num_rows');
                		if( $num_rows == 0 ) {
                			echo "<span style=\"font-style:italic;\">".$VM_LANG->_PHPSHOP_ACC_NO_ORDERS."</span>\n";
                			return;
                		}
                		$pageNav = new vmPageNav( $num_rows, $limitstart, $limit );
                
                		$list .= $q .= " LIMIT ".$pageNav->limitstart.", $limit ";
                		$db->query( $list );
                
                		$listObj = new listFactory( $pageNav );
                
                		if( $num_rows > 0 ) {
                			// print out the search field and a list heading
                			$listObj->writeSearchHeader( '', '', 'account', 'index');
                		}
                		// start the list table
                		$listObj->startTable();
                
                		$listObj->writeTableHeader( 3 );
                
                		while ($db->next_record()) {
                			$dbs->query( "SELECT order_status_name FROM #__{vm}_order_status WHERE order_status_code='".$db->f("order_status")."'");
                			$dbs->next_record();
                			$order_status = $dbs->f("order_status_name");
                
                			$listObj->newRow();
                
                			$tmp_cell = "<a href=\"". $sess->url( $mm_action_url."index.php?page=account.order_details&order_id=".$db->f("order_id") )."\">\n";
                			$tmp_cell .= "<img src=\"".IMAGEURL."ps_image/goto.png\" height=\"32\" width=\"32\" align=\"middle\" border=\"0\" alt=\"".$VM_LANG->_PHPSHOP_ORDER_LINK."\" />&nbsp;".$VM_LANG->_PHPSHOP_VIEW."</a><br />";
                			$listObj->addCell( $tmp_cell );
                
                			$tmp_cell = "<strong>".$VM_LANG->_PHPSHOP_ORDER_PRINT_PO_DATE.":</strong> " . strftime("%d. %B %Y", $db->f("cdate"));
                			$tmp_cell .= "<br /><strong>".$VM_LANG->_PHPSHOP_ORDER_PRINT_TOTAL.":</strong> " . $CURRENCY_DISPLAY->getFullValue($db->f("order_total"));
                			$listObj->addCell( $tmp_cell );
                
                			$tmp_cell = "<strong>".$VM_LANG->_PHPSHOP_ORDER_PRINT_PO_STATUS.":</strong> ".$order_status;
                			$tmp_cell .= "<br /><strong>".$VM_LANG->_PHPSHOP_ORDER_PRINT_PO_NUMBER.":</strong> " . sprintf("%08d", $db->f("order_id"));
                			$listObj->addCell( $tmp_cell );
                		}
                		$listObj->writeTable();
                		$listObj->endTable();
                		if( $num_rows > 0 ) {
                			$listObj->writeFooter( $keyword, '&Itemid='.$sess->getShopItemid() );
                		}
                
                	}
                	function validate_delete($order_id) {
                
                		$db = new ps_DB;
                
                		if(empty( $order_id )) {
                			$this->error = "Unable to delete without the order id.";
                			return False;
                		}
                		$q = "SELECT product_id, product_quantity FROM #__{vm}_order_item WHERE order_id='$order_id'";
                		$db->query( $q );
                		$dbu = new ps_DB;
                		// Now update each ordered product
                		while( $db->next_record() ) {
                			$q = "UPDATE #__{vm}_product SET product_in_stock=product_in_stock+".$db->f("product_quantity")
                			.",product_sales=product_sales-".$db->f("product_quantity")." WHERE product_id='".$db->f("product_id")."'";
                			$dbu->query( $q );
                		}
                
                		return True;
                	}
                
                	function delete(&$d) {
                
                		$record_id = $d["order_id"];
                
                		if( is_array( $record_id)) {
                			foreach( $record_id as $record) {
                				if( !$this->delete_record( $record, $d ))
                				return false;
                			}
                			return true;
                		}
                		else {
                			return $this->delete_record( $record_id, $d );
                		}
                	}
                	function delete_record( $record_id, &$d ) {
                		global $db;
                
                		if ($this->validate_delete($record_id)) {
                			$q = "DELETE from #__{vm}_orders where order_id='$record_id'";
                			$db->query($q);
                
                			$q = "DELETE from #__{vm}_order_item where order_id='$record_id'";
                			$db->query($q);
                
                			$q = "DELETE from #__{vm}_order_payment where order_id='$record_id'";
                			$db->query($q);
                
                			$q = "DELETE from #__{vm}_product_download where order_id='$record_id'";
                			$db->query($q);
                			
                			$q = "DELETE from #__{vm}_order_history where order_id='$record_id'";
                			$db->query($q);
                			
                			$q = "DELETE from #__{vm}_order_user_info where order_id='$record_id'";
                			$db->query($q);
                			return True;
                		}
                		else {
                			return False;
                		}
                	}
                
                	function order_print_navigation( $order_id=1 ) {
                		global $sess, $modulename, $VM_LANG;
                
                		$navi_db =& new ps_DB;
                
                		$navigation = "<br /><div align=\"center\">\n<strong>\n";
                		$q = "SELECT order_id FROM #__{vm}_orders WHERE ";
                		$q .= "order_id < '$order_id' ORDER BY order_id DESC";
                		$navi_db->query($q);
                		$navi_db->next_record();
                		if ($navi_db->f("order_id")) {
                			$url = $_SERVER['PHP_SELF'] . "?page=$modulename.order_print&order_id=";
                			$url .= $navi_db->f("order_id");
                			$navigation .= "<a class=\"pagenav\" href=\"" . $sess->url($url) . "\">" .$VM_LANG->_ITEM_PREVIOUS."</a> | ";
                		} else
                		$navigation .= "<span class=\"pagenav\">" .$VM_LANG->_ITEM_PREVIOUS." | </span>";
                
                		$q = "SELECT order_id FROM #__{vm}_orders WHERE ";
                		$q .= "order_id > '$order_id' ORDER BY order_id";
                		$navi_db->query($q);
                		$navi_db->next_record();
                		if ($navi_db->f("order_id")) {
                			$url = $_SERVER['PHP_SELF'] . "?page=$modulename.order_print&order_id=";
                			$url .= $navi_db->f("order_id");
                			$navigation .= "<a class=\"pagenav\" href=\"" . $sess->url($url) ."\">". $VM_LANG->_ITEM_NEXT."</a>";
                		} else
                		$navigation .= "<span class=\"pagenav\">".$VM_LANG->_ITEM_NEXT."</span>";
                
                		$navigation .= "\n</strong>\n</div>\n";
                
                		return $navigation;
                	}
                
                $ps_order = new ps_order;}
                }
                ?>
                D'avance Merci beaucoup
                Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

                Commentaire


                • #9
                  C'est bizarre. Tu dis ne pas y avoir touché et pourtant, vu les messages d'erreurs (ainsi que celui que t'as posté dans ton autre post), il y a l'air d'avoir un problème avec ta classe ps_order. Mais quel problème exactement, ça je ne sais pas trop.
                  A tout hasard, t'as vérifié les droits d'accès du fichier ps_order.php ?
                  Et au niveau des autres classes (type ps_product par exemple), t'as pas de problèmes ?

                  Commentaire


                  • #10
                    J'ai peut-être trouvé.
                    Les 4 dernières lignes de ton fichier sont :

                    Code:
                    $ps_order = new ps_order;}
                    }
                    ?>
                    Dans mon fichier, j'ai
                    Code:
                    }
                    $ps_order = new ps_order;
                    
                    ?>
                    Ca doit venir de là. Tu as une accolade en trop et l'autre est mal placée. Du coup, ton objet "ps_order" n'est pas créé.
                    Ainsi, lorsque tu fais appel à tes méthodes par des appels du type "ps_order->list_order()", il te renvoit un message d'erreur car l'objet "ps_order" n'existe pas.

                    Commentaire


                    • #11
                      D'abord je tiens à te remercier beaucoup pour tes aides parce que je ne connais pas grand choses en codes.
                      Je te joins les 3 fichiers qui posent problemes (en RAR).
                      Merci encore.
                      Fichiers joints
                      Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

                      Commentaire


                      • #12
                        Tu as essayé la dernière solution que je t'ai proposée ? (dernier message de la page 1)

                        Commentaire


                        • #13
                          Envoyé par Squall161 Voir le message
                          Tu as essayé la dernière solution que je t'ai proposée ? (dernier message de la page 1)
                          oui, j'ai essayé et j'ai
                          Parse error: syntax error, unexpected $end in /homepages/28/d235794657/htdocs/balkal/administrator/components/com_virtuemart/classes/ps_order.php on line 719
                          J'en ai marrre !
                          Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

                          Commentaire


                          • #14
                            probleme toujours pas resolu

                            Bonjour,
                            J'ai beau chercher et essayer plusieurs choses toujours rien !
                            J'ai cette erreur quand je selectionne un numero de commande dans Admin->composant->virtuemart->commande->lister les commandes :
                            Fatal error: Call to undefined static function: ps_order:rder_print_navigation() in /homepages/28/d235794657/htdocs/balkal/administrator/components/com_virtuemart/html/order.order_print.php on line 35
                            S'il vous plait une aide !
                            Merci
                            Joomla! 2.5.19 - Template ja_elastica - Virtuemart 2.6

                            Commentaire

                            Annonce

                            Réduire
                            1 sur 2 < >

                            C'est [Réglé] et on n'en parle plus ?

                            A quoi ça sert ?
                            La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                            Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                            Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                            Comment ajouter la mention [Réglé] à votre discussion ?
                            1 - Aller sur votre discussion et éditer votre premier message :


                            2 - Cliquer sur la liste déroulante Préfixe.

                            3 - Choisir le préfixe [Réglé].


                            4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                            2 sur 2 < >

                            Assistance au forum - Outil de publication d'infos de votre site

                            Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                            Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                            Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                            UTILISER À VOS PROPRES RISQUES :
                            L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                            Problèmes connus :
                            FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                            Installation :

                            1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                            Archive zip : https://github.com/AFUJ/FPA/zipball/master

                            2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                            3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                            4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                            5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                            6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                            et remplacer www. votresite .com par votre nom de domaine


                            Exemples:
                            Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/
                            Pour executer le script: http://www..com/fpa-fr.php

                            Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/cms/
                            Pour executer le script: http://www..com/cms/fpa-fr.php

                            En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                            Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                            Voir plus
                            Voir moins
                            Travaille ...
                            X