Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Befehl Ereg decreased

Frage Entwicklung PHP

Mitglied: 91863

91863 (Level 2)

08.12.2013, aktualisiert 09.12.2013, 1692 Aufrufe, 18 Kommentare, 1 Danke

Hallo,

ab 5.3 PHP ist der Befehl Ereg decreased Veraltet.
Weiss wer , wie die Zeile
01.
if (ereg('^GIFT', addslashes($gv_result['products_model']))) { 
neu aussehen muss. Komme bei der Beschreibung vom PHP nicht zurecht-

Gruss
Ralf
Mitglied: LordGurke
08.12.2013 um 15:36 Uhr
"deprecated" ist das Wort,. was du suchst

Was versuchst du denn zu matchen? Falls es dir darum geht, dass die Zeichenkette "GIFT" am Anfang des Strings steht, musst du nicht ändern - außer dass du ggf. delimiter an Anfang und Ende des Ausdrucks stellen musst.

Also als Beispiel:

01.
if ( preg_match('/^GIFT/', $gv_result['products_model']) )
Bei den PREG-Funktionen musst du die Eingabezeichenkette eigentlich nicht mehr escapen, deshalb habe ich das hier mal direkt weggelassen.
Bitte warten ..
Mitglied: 91863
08.12.2013 um 15:49 Uhr
Hoi,

danke. Damit schein es zu gehen. Habe nur nun wo anderst ein Fehler Muss schauen.

Gruss
Ralf
Bitte warten ..
Mitglied: 91863
08.12.2013, aktualisiert 09.12.2013
Weisst Du zufällig wie die Zeile noch in PHP 5.3 aussehen muss ? Dann würde bei mir wieder alles gehen
01.
 if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax']; 
02.
if ($this->include_shipping == 'false') $order_total=$order_total-$order->info['shipping_cost']; 
03.
return $order_total;
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 16:04 Uhr
An der Syntax sollte sich eigentlich nichts geändert haben....?
Was funktioniert denn nicht?

Schalte ggf. mal brachiale Fehlermeldungen ein, a.k.a.
error_reporting(E_ALL);
am Beginn des Scripts.

Vielleicht werden irgendwo irgendwelche Variablen nicht richtig gesetzt, weil auf register_globals zurückgegriffen wird?
Bitte warten ..
Mitglied: 91863
08.12.2013 um 16:43 Uhr
Da bringt er nur die gleiche Meldung.

Gruss
Rlaf
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 16:45 Uhr
Könntest du die Meldung einmal hier posten? So ganz ohne ist halt stochern im Nebel
Bitte warten ..
Mitglied: 91863
08.12.2013 um 16:47 Uhr
Hallo,

ok klar. War gar nicht gepostet ;)
Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in C:\xampp\htdocs\includes\modules\order_total\ot_modul_spesen.php on line 111

Gruss
Ralf
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 16:54 Uhr
Welches von den beiden IF ist denn in Zeile 111?
Bei solchen Fehlermeldungen liegt der Fehler normalerweise eine Zeile über dem, was angeblich falsch ist...
Bitte warten ..
Mitglied: 91863
08.12.2013, aktualisiert 09.12.2013
111 ist das hier :

01.
  if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax'];
obendran steht noc eine }

Gruss
Ralf
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 16:59 Uhr
Kannst du die letzten 5 Codezeilen über der Zeile 111 bitte einmal posten?
Irgendwas lässt PHP glauben du willst nicht "IF" sondern "function ...." schreiben - das dürfte bedeuten, dass die geschweifte Klammer an der falschen Stelle oder überzählig ist und du damit versehentlich die aktuelle "function"-Definition beendest.
Bitte warten ..
Mitglied: 91863
08.12.2013, aktualisiert 09.12.2013
Hoi,

habe mal paar Zeilen mehr, die unterste ist 111

01.
 for ($i=0; $i<sizeof($products); $i++) { 
02.
        $t_prid = tep_get_prid($products[$i]['id']); 
03.
        $gv_query = tep_db_query("select products_price, products_tax_class_id, products_model from " . TABLE_PRODUCTS . " where products_id = '" . $t_prid . "'"); 
04.
        $gv_result = tep_db_fetch_array($gv_query); 
05.
        if ( preg_match('/^GIFT/', $gv_result['products_model']) ) 
06.
        $qty = $cart->get_quantity($t_prid); 
07.
          $products_tax = tep_get_tax_rate($gv_result['products_tax_class_id']); 
08.
          if ($this->include_tax =='false') { 
09.
            $gv_amount = $gv_result['products_price'] * $qty; 
10.
          } else { 
11.
            $gv_amount = ($gv_result['products_price'] + tep_calculate_tax($gv_result['products_price'],$products_tax)) * $qty; 
12.
13.
          $order_total=$order_total - $gv_amount; 
14.
15.
      if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax'];
Gruss
Ralf
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 17:10 Uhr
Hm....
ich kann da jetzt keinen echten Fehler oder überzählige Klammern sehen
Aber dieser Fehler deutet definitiv darauf hin, dass da irgendwo eine geschweifte Klammer steht, wo keine hingehört.

Sind diese Anweisungen innerhalb einer "function" und diese innerhalb einer Klasse?
Bitte warten ..
Mitglied: 91863
08.12.2013, aktualisiert 09.12.2013
ICh weiss nicht. Ist einfach mein Webshop der nicht mehr lauft, weil PHP nun aktueller ist.

das ist die gesamte Datei
01.
*/ 
02.
    class ot_modul_spesen { 
03.
   var $title, $output; 
04.
     
05.
    function ot_modul_spesen() { 
06.
      global $payment; 
07.
       
08.
      $this->code = 'ot_modul_spesen'; 
09.
      $this->title = MODULE_MODUL_SPESEN_TITLE; 
10.
      $this->description = MODULE_MODUL_SPESEN_DESCRIPTION; 
11.
      // bol ct: dynamic title/description of fee 
12.
      if (isset($payment)) { 
13.
        $table = preg_split("/[:,]/" , MODULE_MODUL_SPESEN_TYPE_DESCRIPTION); 
14.
        for ($i = 0; $i < count($table); $i+=2) { 
15.
          if ($payment == $table[$i]) { 
16.
            $this->title = $table[$i+1]; 
17.
            $this->description = $table[$i+1]; 
18.
19.
20.
21.
      // eol ct: dynamic title/description of fee 
22.
      $this->enabled = MODULE_MODUL_SPESEN_STATUS; 
23.
      $this->sort_order = MODULE_MODUL_SPESEN_SORT_ORDER; 
24.
      $this->type = MODULE_MODUL_SPESEN_TYPE; 
25.
      $this->tax_class = MODULE_MODUL_SPESEN_TAX_CLASS; 
26.
      $this->output = array(); 
27.
28.
 
29.
    function process() { 
30.
      global $order, $ot_subtotal, $currencies; 
31.
       
32.
      $od_amount = $this->calculate_charge($this->get_order_total()); 
33.
      if ($od_amount != 0) { 
34.
        $this->deduction = $od_amount; 
35.
        $this->output[] = array('title' => $this->title . ':', 
36.
                                'text' => $currencies->format($od_amount), 
37.
                                'value' => $od_amount); 
38.
	      $order->info['total'] = $order->info['total'] + $od_amount; 
39.
        if ($this->sort_order < $ot_subtotal->sort_order) { 
40.
          $order->info['subtotal'] = $order->info['subtotal'] - $od_amount; 
41.
42.
43.
44.
 
45.
    function calculate_charge($amount) { 
46.
      global $order, $customer_id, $payment; 
47.
      $od_amount=0; 
48.
      $table = preg_split("/[:,]/" , MODULE_MODUL_SPESEN_TYPE); 
49.
      for ($i = 0; $i < count($table); $i+=2) { 
50.
        if ($payment == $table[$i]) { 
51.
          $od_am=$table[$i+1]; 
52.
           
53.
          // use either a fixed amount or percentage of total incl. shipping 
54.
          if (substr($od_am,0,1) == '%') { 
55.
            $od_am=substr($od_am, 1); 
56.
            $od_am=round($amount/100*$od_am,1); // choose the decimal position for rounding 
57.
58.
           
59.
          if (MODULE_MODUL_SPESEN_TAX_CLASS > 0) { 
60.
            $tod_rate = tep_get_tax_rate(MODULE_MODUL_SPESEN_TAX_CLASS); 
61.
            $tod_description = tep_get_tax_description(MODULE_MODUL_SPESEN_TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']); 
62.
            $tod_amount =  tep_calculate_tax($od_am, $tod_rate); 
63.
            $order->info['tax'] += $tod_amount; 
64.
            $order->info['tax_groups'][$tod_description] += tep_calculate_tax($table[$i+1], $tod_rate); 
65.
66.
           
67.
          if (DISPLAY_PRICE_WITH_TAX) {  
68.
            $od_amount = $od_am + $tod_amount; 
69.
          } else {        
70.
            $od_amount = $od_am; 
71.
            $order->info['total'] += $tod_amount; 
72.
73.
74.
75.
      return $od_amount; 
76.
77.
 
78.
    function get_order_total() { 
79.
      global  $order, $cart; 
80.
      $order_total = $order->info['total']; 
81.
      // Check if gift voucher is in cart and adjust total 
82.
      $products = $cart->get_products(); 
83.
      for ($i=0; $i<sizeof($products); $i++) { 
84.
        $t_prid = tep_get_prid($products[$i]['id']); 
85.
        $gv_query = tep_db_query("select products_price, products_tax_class_id, products_model from " . TABLE_PRODUCTS . " where products_id = '" . $t_prid . "'"); 
86.
        $gv_result = tep_db_fetch_array($gv_query); 
87.
        if ( preg_match('/^GIFT/', $gv_result['products_model']) ) 
88.
        $qty = $cart->get_quantity($t_prid); 
89.
          $products_tax = tep_get_tax_rate($gv_result['products_tax_class_id']); 
90.
          if ($this->include_tax =='false') { 
91.
            $gv_amount = $gv_result['products_price'] * $qty; 
92.
          } else { 
93.
            $gv_amount = ($gv_result['products_price'] + tep_calculate_tax($gv_result['products_price'],$products_tax)) * $qty; 
94.
95.
          $order_total=$order_total - $gv_amount; 
96.
97.
      if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax']; 
98.
      if ($this->include_shipping == 'false') $order_total=$order_total-$order->info['shipping_cost']; 
99.
      return $order_total; 
100.
101.
 
102.
    function check() { 
103.
      if (!isset($this->check)) { 
104.
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_MODUL_SPESEN_STATUS'"); 
105.
        $this->check = tep_db_num_rows($check_query); 
106.
107.
       
108.
      return $this->check; 
109.
110.
 
111.
    function keys() { 
112.
      return array('MODULE_MODUL_SPESEN_STATUS', 'MODULE_MODUL_SPESEN_SORT_ORDER', 'MODULE_MODUL_SPESEN_TYPE', 'MODULE_MODUL_SPESEN_TYPE_DESCRIPTION', 'MODULE_MODUL_SPESEN_TAX_CLASS'); 
113.
114.
 
115.
    function install() { 
116.
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zeige Modul-Spesen', 'MODULE_MODUL_SPESEN_STATUS', 'true', 'Möchten Sie die Modul-Spesen anzeigen?', '6', '1','tep_cfg_select_option(array(\'true\', \'false\'), ', now())"); 
117.
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sortierung', 'MODULE_MODUL_SPESEN_SORT_ORDER', '79', 'Sortierreihenfolge.', '6', '2', now())"); 
118.
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zahlungsweisen', 'MODULE_MODUL_SPESEN_TYPE', 'nachnahme:15,rechnung:%3', 'Spezifische Zahlungsweisen welche belastet werden.', '6', '2', now())"); 
119.
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zahlungsweisen Beschreibung', 'MODULE_MODUL_SPESEN_TYPE_DESCRIPTION', 'nachnahme:Nachnahme-Gebühren,rechnung:3% Rechnungs-Spesen', 'Spezifische Beschreibung zu jeder Zahlungsweise.', '6', '3', now())"); 
120.
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Steuer Klasse', 'MODULE_MODUL_SPESEN_TAX_CLASS', '0', 'Folgende Steuer-Klasse mit Modul-Spesen verwenden.', '6', '6', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())"); 
121.
122.
 
123.
    function remove() { 
124.
      $keys = ''; 
125.
      $keys_array = $this->keys(); 
126.
      for ($i=0; $i<sizeof($keys_array); $i++) { 
127.
        $keys .= "'" . $keys_array[$i] . "',"; 
128.
129.
      $keys = substr($keys, 0, -1); 
130.
 
131.
      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")"); 
132.
133.
  }   
?>
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 17:22 Uhr
Bei mir unter PHP 5.3.3 läuft die Datei ohne Probleme - und da das ein Parse-Error ist, müsste der sofort auftreten wenn man versucht diese Datei auszuführen - unabhängig davon welche Werte man welchen Methoden übergibt.
Kannst du sicherstellen, dass die Datei die den Fehler wirft auch wirklich den selben Inhalt hat, den sie haben sollte?
Evtl. ist da irgendeine Synchronisation (z.B. per FTP) fehlgeschlagen und die Datei ist beschädigt bzw. unvollständig übertragen worden.
Bitte warten ..
Mitglied: 91863
08.12.2013 um 17:28 Uhr
Hallo,

die Datei liegt noch lokal auf meinem PC. Ich baue meinen alten Shop über Xamp local neu auf.

Gruss
Ralf
Bitte warten ..
Mitglied: 91863
08.12.2013 um 17:31 Uhr
ich habe mal die Datei neu abgespeichert. Nun geht nur eine andere Dati mit Fehler auf

Fatal error: Call to undefined function tep_remove_order() in C:\xampp\htdocs\includes\modules\payment\bitpay.php on line 119
Da steht
tep_remove_order($insert_id, $restock = true);

Gruss
Ralf
Bitte warten ..
Mitglied: LordGurke
08.12.2013 um 17:34 Uhr
Das riecht doch sehr danach als wäre das mehreren Dateien wiederfahren...
Vermutlich sind mehrere Dateien nicht korrekt auf dem Server gelandet, synchronisiere am Besten mal *alle* Dateien neu.
Bitte warten ..
Mitglied: 91863
12.12.2013 um 16:13 Uhr
Hallo,

das Problem ist in Luft aufgegangen. Testet man das im Xampp geht es nicht. aBer Online JA

Danlke und Gruss
Ralf
Bitte warten ..
Ähnliche Inhalte
PHP
Function ereg() is deprecated
gelöst Frage von 91863PHP6 Kommentare

Hallo, ich bekomme die Meldung: Die Zeile ist Wei muss die Richtig lauten, das die das PHP kennt ? ...

PHP
Funktion Ereg replace is deprecated
gelöst Frage von 91863PHP4 Kommentare

Hallo, kann mir wer sagen wie die Zeile $schema = ereg_replace("\n#", "\n".'\#', $schema); neu aussehen muss, das es in ...

Batch & Shell
BATCH BEFEHL
gelöst Frage von zarazamBatch & Shell9 Kommentare

Hi Liebe Gemeinde, ich brauche einen Batch Befehl. Soll folgender Inhalt sein: ich habe 4 Gruppen im AD. Gruppe ...

Batch & Shell
CMD:FTP Befehle
gelöst Frage von BoogiemanBatch & Shell11 Kommentare

Hallo, ich bins mal wieder Ich möchte jetzt per Batch auf den Server connecten und von da eine Datei ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 12 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 14 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...