3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Ticket { protected $db; protected $setting; public $tickets; public $anwsers; function __construct($db,$setting) { $this->db = $db; $this->setting = $setting; } public function checkTicket($ref, $email) { if($result = $this->db->query("SELECT id FROM verk_tick_tickets WHERE ref='".$this->db->real_escape_string($ref)."' AND email='".$this->db->real_escape_string($email)."'")) { if($result->num_rows == 1) { return true; } else { return false; } $result->free(); } else { return false; } } public function getTicketID($ref, $email) { if($result = $this->db->query("SELECT id FROM verk_tick_tickets WHERE ref='".$this->db->real_escape_string($ref)."' AND email='".$this->db->real_escape_string($email)."'")) { if($result->num_rows == 1) { $resp = $result->fetch_array(); return $resp['id']; } else { return false; } $result->free(); } else { return false; } } public function getTicketVar($id,$var) { if($result = $this->db->query("SELECT ".$this->db->real_escape_string($var)." FROM verk_tick_tickets WHERE id='".$this->db->real_escape_string($id)."'")) { if($result->num_rows == 1) { $resp = $result->fetch_array(); return $resp[$var]; } else { return false; } $result->free(); } else { return false; } } public function getTicket($ref,$email) { if($result = $this->db->query("SELECT * FROM verk_tick_tickets WHERE ref='".$this->db->real_escape_string($ref)."' AND email='".$this->db->real_escape_string($email)."'")) { if($result->num_rows == 1) { return $result->fetch_array(); } else { return false; } $result->free(); } else { return false; } } public function getOpenTickets() { if($result = $this->db->query("SELECT * FROM verk_tick_tickets WHERE status='open' OR status='client' OR status='admin'")) { if($result->num_rows > 0) { $return = array(); while($row = $result->fetch_assoc()) { $return[] = $row; } $this->tickets = $return; return true; } else { return false; } $result->free(); } else { return false; } } public function searchTickets($search) { if($result = $this->db->query("SELECT * FROM verk_tick_tickets WHERE ref LIKE '%".$this->db->real_escape_string($search)."%' OR name LIKE '%".$this->db->real_escape_string($search)."%' OR email LIKE '%".$this->db->real_escape_string($search)."%' OR subject LIKE '%".$this->db->real_escape_string($search)."%'")) { if($result->num_rows > 0) { $return = array(); while($a = $result->fetch_assoc()) { $return[] = $a; } $this->tickets = $return; return $result->num_rows; } else { return 0; } $result->free(); } else { return 0; } } public function getTicketAnwsers($ref,$email) { if($this->checkTicket($ref,$email)) { $id = $this->getTicketID($ref,$email); if($result = $this->db->query("SELECT * FROM verk_tick_tickets_anwsers WHERE ticket_id='".$this->db->real_escape_string($id)."'")) { if($result->num_rows > 0) { $return = array(); while($row = $result->fetch_assoc()) { $return[] = $row; } $this->anwsers = $return; return true; } else { return '<div class="alert alert-info">Nog geen berichten...</div>'; } $result->free(); } else { return 'Database error: ('.$this->db->errno.') '.$this->db->error; } } else { return '<div class="alert alert-error">Geen ticket gevonden!</div>'; } } public function closeTicket($ref,$email) { if($result = $this->db->query("SELECT * FROM verk_tick_tickets WHERE ref='".$this->db->real_escape_string($ref)."' AND email='".$this->db->real_escape_string($email)."'")) { if($result->num_rows == 1) { if($this->db->query("UPDATE verk_tick_tickets SET status='closed' WHERE ref='".$this->db->real_escape_string($ref)."' AND email='".$this->db->real_escape_string($email)."'")) { return true; } else { return 'Database error: ('.$this->db->errno.') '.$this->db->error; } } else { return 'Ticket error: Geent ticket gevonden.'; } $result->free(); } else { return 'Database error: ('.$this->db->errno.') '.$this->db->error; } } public function createTicket($sex,$name,$email,$subject,$message) { if(strlen($subject) == 0) { $subject = '(Geen onderwerp)'; } $ref = random(4).'-'.random(4).'-'.random(3); if($this->db->query("INSERT INTO verk_tick_tickets (ref,sex,name,email,subject,message,ip,time,updated) VALUES ( '".$this->db->real_escape_string($ref)."', '".$this->db->real_escape_string($sex)."', '".$this->db->real_escape_string($name)."', '".$this->db->real_escape_string($email)."', '".$this->db->real_escape_string($subject)."', '".$this->db->real_escape_string($message)."', '".$this->db->real_escape_string($_SERVER['REMOTE_ADDR'])."', '".$this->db->real_escape_string(time())."', '".$this->db->real_escape_string(time())."' )")) { $replaceVars = array( '{%REF%}' => htmlentities($ref,ENT_QUOTES,'UTF-8'), '{%NAME%}' => htmlentities($name,ENT_QUOTES,'UTF-8'), '{%EMAIL%}' => htmlentities($email,ENT_QUOTES,'UTF-8'), '{%SUBJECT%}' => htmlentities($subject,ENT_QUOTES,'UTF-8'), '{%TICKET_URL%}' => $this->setting['url'].'view-ticket?email='.$email.'&ref='.$ref, '{%TICKET_ADMIN_URL%}' => $this->setting['url'].'ticket-admin/view-ticket?email='.$email.'&ref='.$ref, '{%MESSAGE%}' => nl2br(htmlentities($message,ENT_QUOTES,'UTF-8')) ); if(emailX($name, $email, '[#'.$ref.'] '.$subject.' - '.$this->setting['name'], replaceVars(nl2br($this->setting['new_ticket_email']), $replaceVars)) && emailX($this->setting['name'], $this->setting['notification_email'], '[#'.$ref.'] '.$subject.' - '.$this->setting['name'], replaceVars(nl2br($this->setting['new_ticket_admin_email']), $replaceVars))) { return 'OK|'.$ref.'|'.$subject; } else { return 'ERROR|Er kon geen e-mail verstuurd worden.'; } } else { return 'ERROR|Database error: ('.$this->db->errno.') '.$this->db->error; } } public function addAnwser($ticket_id,$message,$admin_id=0) { if($result = $this->db->query("SELECT name,email,ref,subject FROM verk_tick_tickets WHERE id='".$this->db->real_escape_string($ticket_id)."' AND status <> 'closed'")) { if($result->num_rows == 1) { $ticket = $result->fetch_array(); if($admin_id == 0) { $status = 'admin'; } else { $status = 'client'; } if($this->db->query("INSERT INTO verk_tick_tickets_anwsers (ticket_id,admin_id,message,time,ip) VALUES ( '".$this->db->real_escape_string($ticket_id)."', '".$this->db->real_escape_string($admin_id)."', '".$this->db->real_escape_string($message)."', '".$this->db->real_escape_string(time())."', '".$this->db->real_escape_string($_SERVER['REMOTE_ADDR'])."' )")) { if($this->db->query("UPDATE verk_tick_tickets SET status='".$this->db->real_escape_string($status)."',updated='".$this->db->real_escape_string(time())."' WHERE id='".$this->db->real_escape_string($ticket_id)."'")) { if($admin_id == 0) { emailX($this->setting['name'], $this->setting['notification_email'], 'RE: [#'.$ticket['ref'].'] '.$ticket['subject'].' - '.$this->setting['name'], 'Antwoord hierop toegevoegd!'); } else { emailX($ticket['name'], $ticket['email'], 'RE: [#'.$ticket['ref'].'] '.$ticket['subject'].' - '.$this->setting['name'], 'Antwoord hierop toegevoegd!'); } return 'OK'; } else { return 'ERROR|Database error: ('.$this->db->errno.') '.$this->db->error; } } else { return 'ERROR|Database error: ('.$this->db->errno.') '.$this->db->error; } } else { return 'ERROR|Geen ticket gevonden of ticket is al gesloten'; } $result->free(); } else { return 'ERROR|Database error: ('.$this->db->errno.') '.$this->db->error; } } public function getStatusHTML($status) { switch($status) { case 'open': return '<div class="label label-success">Open</div>'; break; case 'admin': return '<div class="label label-warning">Wachtend op antwoord van support</div>'; break; case 'client': return '<div class="label label-warning">Wachtend op antwoord van client</div>'; break; case 'closed': return '<div class="label label-important">Gesloten</div>'; break; default: return '<div class="label">Onbekend</div>'; } } public function getStatusSex($sex) { switch($sex) { case 1: return 'Man'; break; case 2: return 'Vrouw'; break; case 3: return 'Bedrijf / Organisatie'; break; default: return 'Onbekend'; } } } ?>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0100.00616.75
8.3.50.0140.00217.61
8.3.40.0000.01518.72
8.3.30.0110.00418.66
8.3.20.0060.00318.77
8.3.10.0040.00420.34
8.3.00.0000.00919.25
8.2.180.0070.01516.35
8.2.170.0140.00722.96
8.2.160.0130.00620.62
8.2.150.0090.00024.18
8.2.140.0050.00324.66
8.2.130.0000.00826.16
8.2.120.0040.00418.72
8.2.110.0060.00320.97
8.2.100.0120.00317.84
8.2.90.0030.00619.34
8.2.80.0030.00519.53
8.2.70.0000.00817.63
8.2.60.0040.00417.92
8.2.50.0040.00418.07
8.2.40.0000.00918.22
8.2.30.0030.00718.07
8.2.20.0060.00319.40
8.2.10.0080.00017.83
8.2.00.0090.00317.73
8.1.280.0040.01125.92
8.1.270.0080.00024.66
8.1.260.0080.00026.35
8.1.250.0060.00328.09
8.1.240.0110.00422.42
8.1.230.0070.00421.01
8.1.220.0050.00317.79
8.1.210.0050.00319.04
8.1.200.0010.00817.13
8.1.190.0000.00917.39
8.1.180.0080.00018.10
8.1.170.0000.00918.95
8.1.160.0040.00418.90
8.1.150.0000.00818.74
8.1.140.0050.00317.50
8.1.130.0000.00717.97
8.1.120.0000.00817.45
8.1.110.0040.00417.54
8.1.100.0030.00517.45
8.1.90.0080.00017.62
8.1.80.0000.00717.59
8.1.70.0000.00717.57
8.1.60.0050.00517.65
8.1.50.0040.00417.46
8.1.40.0080.00017.61
8.1.30.0040.00417.60
8.1.20.0000.00817.68
8.1.10.0040.00417.65
8.1.00.0030.00717.56
8.0.300.0040.00420.02
8.0.290.0050.00216.75
8.0.280.0020.00518.54
8.0.270.0040.00417.31
8.0.260.0000.00716.80
8.0.250.0030.00517.05
8.0.240.0080.00016.96
8.0.230.0070.00017.00
8.0.220.0030.00316.91
8.0.210.0040.00416.91
8.0.200.0060.00017.00
8.0.190.0060.00316.85
8.0.180.0000.00816.95
8.0.170.0060.00316.97
8.0.160.0030.00516.93
8.0.150.0030.00616.90
8.0.140.0040.00416.78
8.0.130.0030.00313.39
8.0.120.0000.00816.92
8.0.110.0040.00416.92
8.0.100.0000.00816.89
8.0.90.0050.00316.97
8.0.80.0070.00716.88
8.0.70.0000.00816.87
8.0.60.0060.00316.87
8.0.50.0020.00516.80
8.0.30.0090.00916.88
8.0.20.0120.00817.20
8.0.10.0050.00316.93
8.0.00.0050.01216.70
7.4.330.0000.00513.11
7.4.320.0040.00416.62
7.4.300.0060.00016.56
7.4.290.0000.00716.45
7.4.280.0090.00016.55
7.4.270.0050.00316.69
7.4.260.0030.00313.32
7.4.250.0040.00416.60
7.4.240.0040.00416.60
7.4.230.0000.00716.63
7.4.220.0040.01516.66
7.4.210.0070.01016.58
7.4.200.0040.00416.30
7.4.190.0000.00716.70
7.4.160.0160.00016.34
7.4.150.0150.00316.71
7.4.140.0000.01816.60
7.4.130.0180.00716.44
7.4.120.0190.01316.53
7.4.110.0130.00616.51
7.4.100.0070.01016.64
7.4.90.0060.01216.50
7.4.80.0120.00616.23
7.4.70.0060.01016.69
7.4.60.0070.01016.66
7.4.50.0030.00516.62
7.4.40.0060.01016.52
7.4.30.0060.01216.56
7.4.00.0100.00914.89
7.3.330.0060.00013.16
7.3.320.0030.00313.15
7.3.310.0030.00316.39
7.3.300.0000.00716.33
7.3.290.0080.00616.31
7.3.280.0120.00516.31
7.3.270.0180.00616.52
7.3.260.0120.00616.35
7.3.250.0110.00916.57
7.3.240.0120.00616.23
7.3.230.0080.01116.30
7.3.210.0130.00716.35
7.3.200.0150.00319.39
7.3.190.0120.00616.30
7.3.180.0070.01316.53
7.3.170.0090.00916.59
7.3.160.0120.00316.38
7.3.120.0070.01114.74
7.3.110.0070.01114.47
7.3.100.0060.00614.74
7.3.90.0060.00814.92
7.3.80.0040.01014.87
7.3.70.0090.00714.88
7.3.60.0080.00614.80
7.3.50.0030.01014.88
7.3.40.0060.00714.70
7.3.30.0050.01314.67
7.3.20.0000.01516.33
7.3.10.0050.00816.59
7.3.00.0040.00816.37
7.2.330.0090.00916.44
7.2.320.0070.01116.62
7.2.310.0150.00416.51
7.2.300.0090.00916.64
7.2.290.0160.00016.75
7.2.250.0070.01015.08
7.2.240.0090.00915.02
7.2.230.0030.01414.93
7.2.220.0020.01214.82
7.2.210.0030.01014.74
7.2.200.0090.00614.74
7.2.190.0020.01314.96
7.2.180.0030.00915.04
7.2.170.0060.00815.13
7.2.120.0000.00916.09
7.2.110.0100.00316.63
7.2.100.0030.01016.59
7.2.90.0040.01116.34
7.2.80.0030.01416.64
7.2.70.0070.01016.87
7.2.60.0130.00316.46
7.2.50.0060.00616.49
7.2.40.0080.00616.96
7.2.30.0040.01116.30
7.2.20.0090.00616.66
7.2.10.0100.00316.73
7.2.00.0060.00917.89
7.1.330.0060.00815.66
7.1.320.0040.00415.51
7.1.310.0060.00515.64
7.1.300.0070.00615.54
7.1.290.0070.00515.54
7.1.280.0060.00715.58
7.1.270.0040.01115.66
7.1.260.0040.00915.65
7.1.240.0080.00815.25
7.1.230.0060.00915.67
7.1.220.0030.00915.61
7.1.210.0060.00615.68
7.1.200.0030.00715.37
7.1.190.0030.00615.56
7.1.180.0040.01115.69
7.1.170.0030.00615.72
7.1.160.0060.00615.51
7.1.150.0120.00315.55
7.1.140.0040.00815.51
7.1.130.0100.00315.64
7.1.120.0100.00315.64
7.1.110.0090.00315.72
7.1.100.0050.00516.70
7.1.90.0040.01215.67
7.1.80.0080.00615.57
7.1.70.0040.00616.28
7.1.60.0100.00817.47
7.1.50.0050.01316.09
7.1.40.0030.00615.43
7.1.30.0000.01515.51
7.1.20.0030.01015.54
7.1.10.0060.00615.62
7.1.00.0050.03619.03
7.0.320.0040.00814.96
7.0.310.0090.00315.18
7.0.300.0090.00615.29
7.0.290.0090.00615.26
7.0.280.0000.01515.18
7.0.270.0090.00315.29
7.0.260.0000.00814.92
7.0.250.0000.00715.46
7.0.240.0050.00315.42
7.0.230.0070.00715.25
7.0.220.0070.00715.14
7.0.210.0030.01015.09
7.0.200.0000.01115.92
7.0.190.0100.00315.33
7.0.180.0060.00915.22
7.0.170.0060.00315.22
7.0.160.0060.00515.00
7.0.150.0030.00615.30
7.0.140.0050.04118.67
7.0.130.0070.00715.41
7.0.120.0080.03818.71
7.0.110.0100.00315.26
7.0.100.0090.02317.67
7.0.90.0090.03217.55
7.0.80.0080.03817.72
7.0.70.0060.02517.65
7.0.60.0090.02417.74
7.0.50.0110.03617.94
7.0.40.0050.02516.74
7.0.30.0020.02716.60
7.0.20.0050.02716.74
7.0.10.0070.02216.64
7.0.00.0040.02716.72
5.6.380.0070.00414.41
5.6.370.0100.00314.07
5.6.360.0060.00914.22
5.6.350.0030.00813.81
5.6.340.0030.00914.00
5.6.330.0100.00314.20
5.6.320.0000.01314.31
5.6.310.0110.00014.08
5.6.300.0070.00314.32
5.6.290.0030.01314.19
5.6.280.0030.04017.64
5.6.270.0030.01314.24
5.6.260.0150.00014.00
5.6.250.0030.02517.45
5.6.240.0050.02517.44
5.6.230.0030.03517.46
5.6.220.0070.02417.36
5.6.210.0080.03517.56
5.6.200.0040.02717.70
5.6.190.0050.02317.60
5.6.180.0070.03917.65
5.6.170.0100.03017.68
5.6.160.0040.02117.62
5.6.150.0020.02817.65
5.6.140.0120.04017.80
5.6.130.0060.03617.69
5.6.120.0030.04917.67
5.6.110.0120.04017.58
5.6.100.0020.04917.65
5.6.90.0130.04017.68
5.6.80.0100.04117.27
5.6.70.0020.04717.41
5.6.60.0080.04017.36
5.6.50.0130.03717.31
5.6.40.0050.04717.44
5.6.30.0030.03817.33
5.6.20.0030.03017.31
5.6.10.0080.03217.32
5.6.00.0050.04717.30
5.5.380.0020.02515.76
5.5.370.0030.03615.76
5.5.360.0080.03515.56
5.5.350.0050.01815.68
5.5.340.0080.04115.95
5.5.330.0030.02315.94
5.5.320.0090.02016.02
5.5.310.0030.02815.97
5.5.300.0030.02215.95
5.5.290.0090.04015.95
5.5.280.0080.04316.03
5.5.270.0030.05015.95
5.5.260.0030.04515.85
5.5.250.0050.04615.74
5.5.240.0050.02815.50
5.5.230.0050.04015.64
5.5.220.0050.04315.55
5.5.210.0020.04515.51
5.5.200.0030.03015.55
5.5.190.0050.04015.60
5.5.180.0030.04615.43
5.5.170.0070.00714.12
5.5.160.0050.03515.56
5.5.150.0050.04415.62
5.5.140.0050.04115.72
5.5.130.0030.03915.50
5.5.120.0050.04115.59
5.5.110.0080.04015.64
5.5.100.0100.03915.48
5.5.90.0050.03515.45
5.5.80.0070.02615.66
5.5.70.0050.03915.49
5.5.60.0100.03715.48
5.5.50.0090.03715.51
5.5.40.0120.03515.34
5.5.30.0080.04015.53
5.5.20.0060.04615.44
5.5.10.0050.02515.61
5.5.00.0130.03615.60
5.4.450.0080.03815.26
5.4.440.0090.04015.14
5.4.430.0120.03515.16
5.4.420.0060.03515.19
5.4.410.0090.03815.09
5.4.400.0050.02214.94
5.4.390.0050.03214.88
5.4.380.0070.03915.02
5.4.370.0030.04515.04
5.4.360.0080.03514.97
5.4.350.0070.04214.96
5.4.340.0090.02415.07
5.4.330.0140.00010.80
5.4.320.0140.03315.13
5.4.310.0090.04114.97
5.4.300.0070.04114.92
5.4.290.0080.03614.81
5.4.280.0080.03814.99
5.4.270.0090.03714.94
5.4.260.0000.04714.89
5.4.250.0050.04414.98
5.4.240.0070.04214.99
5.4.230.0140.02814.73
5.4.220.0060.04114.91
5.4.210.0130.03014.91
5.4.200.0140.03314.90
5.4.190.0070.04015.00
5.4.180.0080.03615.04
5.4.170.0110.03714.88
5.4.160.0070.02914.96
5.4.150.0100.03814.83
5.4.140.0090.03713.74
5.4.130.0070.03813.62
5.4.120.0100.03513.65
5.4.110.0050.04213.70
5.4.100.0100.03713.68
5.4.90.0070.02813.75
5.4.80.0100.04013.70
5.4.70.0100.04013.57
5.4.60.0090.03513.65
5.4.50.0070.03513.68
5.4.40.0060.03013.72
5.4.30.0100.03813.71
5.4.20.0050.04013.71
5.4.10.0150.03313.70
5.4.00.0050.04213.42
5.3.290.0010.04612.64
5.3.280.0070.03812.61
5.3.270.0100.03812.66
5.3.260.0070.04012.65
5.3.250.0090.03512.56
5.3.240.0140.02412.50
5.3.230.0130.03412.57
5.3.220.0070.04212.51
5.3.210.0170.02712.54
5.3.200.0090.03412.53
5.3.190.0070.04012.60
5.3.180.0180.03012.54
5.3.170.0050.03912.63
5.3.160.0090.03712.65
5.3.150.0050.02712.59
5.3.140.0070.03412.58
5.3.130.0080.04112.56
5.3.120.0060.04112.56
5.3.110.0080.04012.58
5.3.100.0070.04212.22
5.3.90.0070.04012.28
5.3.80.0110.03312.22
5.3.70.0070.03512.18
5.3.60.0090.02912.33
5.3.50.0080.03712.24
5.3.40.0100.03712.18
5.3.30.0090.03912.21
5.3.20.0060.03912.03
5.3.10.0000.04212.01
5.3.00.0040.03612.03

preferences:
55.03 ms | 401 KiB | 5 Q