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

Mitglied: 91863

91863 (Level 2)

08.12.2013, aktualisiert 09.12.2013, 1778 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
Installation
Auto IT Befehl
gelöst Frage von mrcljnffInstallation4 Kommentare

Hallo Leute, ich suche einen Befehl bzw. eine Funktion für AutoIT, die mir ein Nachrichtenfenster mit dem Inhalt für ...

Switche und Hubs
Cisco Befehl Status
gelöst Frage von Florian961988Switche und Hubs16 Kommentare

Hallo, ich google mich tot und finde nicht das was ich suche! Wir sind am bauen und in dem ...

Datenbanken
Oracle Insert Befehl
gelöst Frage von MarabuntaDatenbanken4 Kommentare

Hallo, ich habe eine Datenbank, die etwa so aussieht: Jetzt soll mit einem Insert Befehl folgendes passieren: Also habe ...

Batch & Shell

Ping-Befehl mit FIND-Pipe in IF-Befehl einbauen

gelöst Frage von ThraexBatch & Shell3 Kommentare

Schöne Grüße an die Community,, derzeit bereitet mir eine simple Anforderung arge Probleme. Ich hoffe mit dem Wissen aus ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 2 TagenDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 2 TagenSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 3 TagenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 3 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
Router & Routing
Lancom-VPN-Client
Frage von FM28880Router & Routing15 Kommentare

Hallo zusammen, ich habe heute zwei Rechner mit einem Lancom VPN-Client eingerichtet. Die VPN-Verbindung wird aufgebaut und steht. Jedoch ...

Hyper-V
Hyper-V Manager startet, jedoch keine VM
Frage von NaleorHyper-V13 Kommentare

Hallo zusammen, auf meinem Windows 10 (Build 1703) Notebook von der Arbeit scheint Hyper-V plötzliche nicht mehr zu funktionieren. ...

Windows Server
Sonntagsfrage: Welchen Sinn seht Ihr noch im Server 2019 Essentials
Frage von ashnodWindows Server12 Kommentare

Guten Morgen, ich habe gestern den Windows Server 2019 Essentials als Trial in einer VM installiert um mir das ...

TK-Netze & Geräte
Telefonanlage Alcatel OXE R11.0.1, CPU c7s2, CPU 7 abgekündigt
Frage von magicteddyTK-Netze & Geräte10 Kommentare

Moin, letzten Monat rief mich ein Mitarbeiter unseres Service Partners an und erzählte mir das wir mit unserer Anlage ...