golden hour
/home/doctorbruno/public_html/taeionline.com/support/include
⬆️ Go Up
Upload
File/Folder
Size
Actions
.MANIFEST
194.97 KB
Del
OK
.htaccess
14 B
Del
OK
JSON.php
33.13 KB
Del
OK
PasswordHash.php
6.92 KB
Del
OK
Spyc.php
31.74 KB
Del
OK
UniversalClassLoader.php
8.61 KB
Del
OK
ajax.admin.php
7.29 KB
Del
OK
ajax.config.php
4.61 KB
Del
OK
ajax.content.php
9.76 KB
Del
OK
ajax.draft.php
13.03 KB
Del
OK
ajax.email.php
2.33 KB
Del
OK
ajax.export.php
1006 B
Del
OK
ajax.filter.php
874 B
Del
OK
ajax.forms.php
13.84 KB
Del
OK
ajax.i18n.php
5.1 KB
Del
OK
ajax.kbase.php
2.93 KB
Del
OK
ajax.note.php
2.05 KB
Del
OK
ajax.orgs.php
11.73 KB
Del
OK
ajax.plugins.php
2.15 KB
Del
OK
ajax.schedule.php
4.29 KB
Del
OK
ajax.search.php
12.72 KB
Del
OK
ajax.sequence.php
3.2 KB
Del
OK
ajax.staff.php
11.62 KB
Del
OK
ajax.tasks.php
33.87 KB
Del
OK
ajax.thread.php
8.81 KB
Del
OK
ajax.tickets.php
79.7 KB
Del
OK
ajax.tips.php
1.66 KB
Del
OK
ajax.upgrader.php
2.24 KB
Del
OK
ajax.users.php
18.33 KB
Del
OK
api.cron.php
1.06 KB
Del
OK
api.tickets.php
10.36 KB
Del
OK
class.2fa.php
7.76 KB
Del
OK
class.ajax.php
1.45 KB
Del
OK
class.api.php
15.31 KB
Del
OK
class.app.php
1.49 KB
Del
OK
class.attachment.php
6.95 KB
Del
OK
class.auth.php
50.73 KB
Del
OK
class.avatar.php
6.44 KB
Del
OK
class.banlist.php
2.58 KB
Del
OK
class.base32.php
4.07 KB
Del
OK
class.businesshours.php
7.08 KB
Del
OK
class.canned.php
9.05 KB
Del
OK
class.captcha.php
1.73 KB
Del
OK
class.category.php
11.14 KB
Del
OK
class.charset.php
3.41 KB
Del
OK
class.cli.php
9.48 KB
Del
OK
class.client.php
15.39 KB
Del
OK
class.collaborator.php
5.65 KB
Del
OK
class.company.php
2.65 KB
Del
OK
class.config.php
60.36 KB
Del
OK
class.controller.php
1.15 KB
Del
OK
class.cron.php
3.6 KB
Del
OK
class.crypto.php
18.92 KB
Del
OK
class.csrf.php
2.38 KB
Del
OK
class.dept.php
33.21 KB
Del
OK
class.dispatcher.php
7.12 KB
Del
OK
class.draft.php
6.23 KB
Del
OK
class.dynamic_forms.php
64.98 KB
Del
OK
class.email.php
49 KB
Del
OK
class.error.php
1.69 KB
Del
OK
class.export.php
32.92 KB
Del
OK
class.faq.php
15.05 KB
Del
OK
class.file.php
34.59 KB
Del
OK
class.filter.php
31.9 KB
Del
OK
class.filter_action.php
23.67 KB
Del
OK
class.format.php
44.3 KB
Del
OK
class.forms.php
195.58 KB
Del
OK
class.http.php
7.16 KB
Del
OK
class.i18n.php
24.28 KB
Del
OK
class.import.php
6.9 KB
Del
OK
class.json.php
2.71 KB
Del
OK
class.knowledgebase.php
5.8 KB
Del
OK
class.list.php
42 KB
Del
OK
class.lock.php
4.05 KB
Del
OK
class.log.php
1.55 KB
Del
OK
class.mail.php
35.76 KB
Del
OK
class.mailer.php
25.75 KB
Del
OK
class.mailfetch.php
9.72 KB
Del
OK
class.mailparse.php
30.99 KB
Del
OK
class.message.php
6.42 KB
Del
OK
class.migrater.php
5.2 KB
Del
OK
class.misc.php
7.5 KB
Del
OK
class.model.php
2.3 KB
Del
OK
class.nav.php
14.15 KB
Del
OK
class.note.php
2.39 KB
Del
OK
class.oauth2.php
4.04 KB
Del
OK
class.organization.php
22.45 KB
Del
OK
class.orm.php
120.9 KB
Del
OK
class.osticket.php
20.64 KB
Del
OK
class.ostsession.php
21.86 KB
Del
OK
class.page.php
10.59 KB
Del
OK
class.pagenate.php
5.53 KB
Del
OK
class.passwd.php
1.21 KB
Del
OK
class.pdf.php
3.83 KB
Del
OK
class.plugin.php
36.13 KB
Del
OK
class.priority.php
1.81 KB
Del
OK
class.queue.php
103.51 KB
Del
OK
class.report.php
11.76 KB
Del
OK
class.role.php
11.27 KB
Del
OK
class.schedule.php
46.28 KB
Del
OK
class.search.php
61.66 KB
Del
OK
class.sequence.php
7.27 KB
Del
OK
class.session.php
19.25 KB
Del
OK
class.setup.php
3.55 KB
Del
OK
class.signal.php
4.16 KB
Del
OK
class.sla.php
9.11 KB
Del
OK
class.staff.php
60.21 KB
Del
OK
class.task.php
56.21 KB
Del
OK
class.team.php
12.31 KB
Del
OK
class.template.php
23.45 KB
Del
OK
class.thread.php
108.96 KB
Del
OK
class.thread_actions.php
17.08 KB
Del
OK
class.ticket.php
167.39 KB
Del
OK
class.timezone.php
21.94 KB
Del
OK
class.topic.php
20.06 KB
Del
OK
class.translation.php
34.79 KB
Del
OK
class.upgrader.php
13.76 KB
Del
OK
class.user.php
43.4 KB
Del
OK
class.usersession.php
7.55 KB
Del
OK
class.util.php
10.07 KB
Del
OK
class.validator.php
12.94 KB
Del
OK
class.variable.php
11.93 KB
Del
OK
class.xml.php
3.23 KB
Del
OK
class.yaml.php
1.15 KB
Del
OK
cli
-
Del
OK
client
-
Del
OK
config
-
Del
OK
fpdf
-
Del
OK
htmLawed.php
53.53 KB
Del
OK
html2text.php
33.71 KB
Del
OK
i18n
-
Del
OK
index.php
37 B
Del
OK
laminas-mail
-
Del
OK
mpdf
-
Del
OK
mysqli.php
9.55 KB
Del
OK
ost-config.php
5.63 KB
Del
OK
ost-sampleconfig.php
6.24 KB
Del
OK
pear
-
Del
OK
plugins
-
Del
OK
staff
-
Del
OK
tnef_decoder.php
19.82 KB
Del
OK
upgrader
-
Del
OK
Edit: class.util.php
<?php require_once INCLUDE_DIR . 'class.variable.php'; // Used by the email system interface EmailContact { function getId(); function getUserId(); function getName(); function getEmail(); function getEmailAddress(); } class EmailRecipient implements EmailContact { protected $contact; protected $type; protected $address; function __construct(EmailContact $contact, $type='to') { $this->contact = $contact; $this->type = $type; } function getContact() { return $this->contact; } function getId() { return $this->contact->getId(); } function getUserId() { return $this->contact->getUserId(); } function getEmail() { return $this->contact->getEmail(); } function getEmailAddress() { if (!isset($this->address)) { $this->address = (string) $this->getEmail(); if (($name=$this->getName())) $this->address = sprintf('"%s" <%s>', (string) $name, $this->address); } return $this->address; } function getName() { return $this->contact->getName(); } function getType() { return $this->type; } function __toString() { return (string) $this->getEmailAddress(); } } abstract class BaseList implements IteratorAggregate, Countable { protected $storage = array(); /** * Sort the list in place. * * Parameters: * $key - (callable|int) A callable function to produce the sort keys * or one of the SORT_ constants used by the array_multisort * function * $reverse - (bool) true if the list should be sorted descending */ function sort($key=false, $reverse=false) { if (is_callable($key)) { $keys = array_map($key, $this->storage); array_multisort($keys, $this->storage, $reverse ? SORT_DESC : SORT_ASC); } elseif ($key) { array_multisort($this->storage, $reverse ? SORT_DESC : SORT_ASC, $key); } elseif ($reverse) { rsort($this->storage); } else sort($this->storage); } function reverse() { return array_reverse($this->storage); } // IteratorAggregate function getIterator(): Traversable { return new ArrayIterator($this->storage); } // Countable function count($mode=COUNT_NORMAL): int { return count($this->storage, $mode); } function __toString() { return '['.implode(', ', $this->storage).']'; } } /** * Jared Hancock <jared@osticket.com> * Copyright (c) 2014 * * Lightweight implementation of the Python list in PHP. This allows for * treating an array like a simple list of items. The numeric indexes are * automatically updated so that the indeces of the list will alway be from * zero and increasing positively. * * Negative indexes are supported which reference from the end of the list. * Therefore $queue[-1] will refer to the last item in the list. */ class ListObject extends BaseList implements ArrayAccess, Serializable { function __construct($array=array()) { if (!is_array($array) && !$array instanceof Traversable) throw new InvalidArgumentException('Traversable object or array expected'); foreach ($array as $v) $this->storage[] = $v; } function append($what) { if (is_array($what)) return $this->extend($what); $this->storage[] = $what; } function add($what) { $this->append($what); } function extend($iterable) { foreach ($iterable as $v) $this->storage[] = $v; } function insert($i, $value) { if ($i < 0) $i += count($this->storage) + 1; array_splice($this->storage, $i, 0, array($value)); } function remove($value) { if (!($k = $this->index($value))) throw new OutOfRangeException('No such item in the list'); unset($this->storage[$k]); } function pop($at=false) { if ($at === false) return array_pop($this->storage); elseif (!isset($this->storage[$at])) throw new OutOfRangeException('Index out of range'); else { $rv = array_splice($this->storage, $at, 1); return $rv[0]; } } function slice($offset, $length=null) { return array_slice($this->storage, $offset, $length); } function splice($offset, $length=0, $replacement=null) { return array_splice($this->storage, $offset, $length, $replacement); } function index($value) { return array_search($this->storage, $value); } function filter($callable) { $new = new static(); foreach ($this->storage as $i=>$v) if ($callable($v, $i)) $new[] = $v; return $new; } // ArrayAccess function offsetGet($offset): mixed { if (!is_int($offset)) throw new InvalidArgumentException('List indices should be integers'); elseif ($offset < 0) $offset += count($this->storage); if (!isset($this->storage[$offset])) throw new OutOfBoundsException('List index out of range'); return $this->storage[$offset]; } function offsetSet($offset, $value): void { if ($offset === null) { $this->storage[] = $value; return; } elseif (!is_int($offset)) throw new InvalidArgumentException('List indices should be integers'); elseif ($offset < 0) $offset += count($this->storage); if (!isset($this->storage[$offset])) throw new OutOfBoundsException('List assignment out of range'); $this->storage[$offset] = $value; } function offsetExists($offset): bool { if (!is_int($offset)) throw new InvalidArgumentException('List indices should be integers'); elseif ($offset < 0) $offset += count($this->storage); return isset($this->storage[$offset]); } function offsetUnset($offset): void { if (!is_int($offset)) throw new InvalidArgumentException('List indices should be integers'); elseif ($offset < 0) $offset += count($this->storage); unset($this->storage[$offset]); } // Fix PHP 8.1.x Deprecation Warnings // Serializable interface will be removed in PHP 9.x function serialize() { return serialize($this->__serialize()); } function unserialize($what) { $this->__unserialize(unserialize($what)); } // Serializable function __serialize() { return $this->storage; } function __unserialize($what) { $this->storage = $what; } } class MailingList extends ListObject implements TemplateVariable { function add($recipient) { if (!$recipient instanceof EmailRecipient) throw new InvalidArgumentException('Email Recipient expected'); return parent::add($recipient); } function addRecipient($contact, $to='to') { return $this->add(new EmailRecipient($contact, $to)); } function addTo(EmailContact $contact) { return $this->addRecipient($contact, 'to'); } function addCc(EmailContact $contact) { return $this->addRecipient($contact, 'cc'); } function addBcc(EmailContact $contact) { return $this->addRecipient($contact, 'bcc'); } function __toString() { return $this->getNames(); } // Recipients' email addresses function getEmailAddresses() { $list = array(); foreach ($this->storage as $u) { $list[$u->getType()][$u->getId()] = sprintf("%s <%s>", $u->getName(), $u->getEmail()); } return $list; } function getNames() { $list = array(); foreach($this->storage as $user) { if (is_object($user)) $list [] = $user->getName(); } return $list ? implode(', ', $list) : ''; } function getFull() { $list = array(); foreach($this->storage as $user) { if (is_object($user)) $list[] = sprintf("%s <%s>", $user->getName(), $user->getEmail()); } return $list ? implode(', ', $list) : ''; } function getEmails() { $list = array(); foreach($this->storage as $user) { if (is_object($user)) $list[] = $user->getEmail(); } return $list ? implode(', ', $list) : ''; } static function getVarScope() { return array( 'names' => __('List of names'), 'emails' => __('List of email addresses'), 'full' => __('List of names and email addresses'), ); } } /* * ServiceRegistry * * An abscract class to implement basic functions and add ability to * register service - collection of similar objects eng authentication * backends. * * TODO: Consider using ListObject class - it's an overkill for now. */ abstract class ServiceRegistry { static protected $registry = array(); public function __isset($property) { return isset($this->$property); } function getId() { return static::$id; } /* * getBkId * * Get service id used to register the service. Plugins adds a tag * making it possible to register multiple instances of the same * plugin. * */ function getBkId() { $id = $this->getId(); // FIXME: Abstract getting backend id cleanly if (isset($this->config) && is_a($this->config, 'PluginConfig')) $id =sprintf('%s.%s', $id, $this->config->getId()); return $id; } function getName() { if (isset($this->config) && is_a($this->config, 'PluginConfig')) return $this->config->getName(); return static::$name; } static function register($obj) { static::$registry[] = $obj; } static function getRegistry() { return static::$registry; } }
Save