コード例 #1
0
ファイル: canned.php プロジェクト: ed00m/osTicket-1.8
     }
     break;
 case 'create':
     if ($id = Canned::create($_POST, $errors)) {
         $msg = 'Canned response added successfully';
         $_REQUEST['a'] = null;
         //Upload attachments
         if ($_FILES['attachments'] && ($c = Canned::lookup($id)) && ($files = AttachmentFile::format($_FILES['attachments']))) {
             $c->attachments->upload($files);
         }
         // Attach inline attachments from the editor
         if (isset($_POST['draft_id']) && ($draft = Draft::lookup($_POST['draft_id']))) {
             $c->attachments->upload($draft->getAttachmentIds($_POST['response']), true);
         }
         // Delete this user's drafts for new canned-responses
         Draft::deleteForNamespace('canned', $thisstaff->getId());
     } elseif (!$errors['err']) {
         $errors['err'] = 'Unable to add canned response. Correct error(s) below and try again.';
     }
     break;
 case 'mass_process':
     if (!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) {
         $errors['err'] = 'You must select at least one canned response';
     } else {
         $count = count($_POST['ids']);
         switch (strtolower($_POST['a'])) {
             case 'enable':
                 $sql = 'UPDATE ' . CANNED_TABLE . ' SET isenabled=1 ' . ' WHERE canned_id IN (' . implode(',', db_input($_POST['ids'])) . ')';
                 if (db_query($sql) && ($num = db_affected_rows())) {
                     if ($num == $count) {
                         $msg = 'Selected canned responses enabled';
コード例 #2
0
ファイル: emailtest.php プロジェクト: dmiguel92/osTicket-1.8
    if (!$_POST['email_id'] || !($email = Email::lookup($_POST['email_id']))) {
        $errors['email_id'] = __('Select from email address');
    }
    if (!$_POST['email'] || !Validator::is_email($_POST['email'])) {
        $errors['email'] = __('To email address required');
    }
    if (!$_POST['subj']) {
        $errors['subj'] = __('Subject required');
    }
    if (!$_POST['message']) {
        $errors['message'] = __('Message required');
    }
    if (!$errors && $email) {
        if ($email->send($_POST['email'], $_POST['subj'], Format::sanitize($_POST['message']), null, array('reply-tag' => false))) {
            $msg = Format::htmlchars(sprintf(__('Test email sent successfully to <%s>'), $_POST['email']));
            Draft::deleteForNamespace('email.diag');
        } else {
            $errors['err'] = __('Error sending email - try again.');
        }
    } elseif ($errors['err']) {
        $errors['err'] = __('Error sending email - try again.');
    }
}
$info = Format::htmlchars($errors && $_POST ? $_POST : $info);
$nav->setTabActive('emails');
$ost->addExtraHeader('<meta name="tip-namespace" content="emails.diagnostic" />', "\$('#content').data('tipNamespace', '" . $tip_namespace . "');");
require STAFFINC_DIR . 'header.inc.php';
?>
<form action="emailtest.php" method="post" id="save">
 <?php 
csrf_token();
コード例 #3
0
ファイル: open.php プロジェクト: KingsleyGU/osticket
    } elseif($cfg->isCaptchaEnabled()) {
        if(!$_POST['captcha'])
            $errors['captcha']=__('Enter text shown on the image');
        elseif(strcmp($_SESSION['captcha'], md5(strtoupper($_POST['captcha']))))
            $errors['captcha']=__('Invalid - try again!');
    }

    $tform = TicketForm::objects()->one()->getForm($vars);
    $messageField = $tform->getField('message');
    $attachments = $messageField->getWidget()->getAttachments();
    if (!$errors && $messageField->isAttachmentsEnabled())
        $vars['cannedattachments'] = $attachments->getClean();

    // Drop the draft.. If there are validation errors, the content
    // submitted will be displayed back to the user
    Draft::deleteForNamespace('ticket.client.'.substr(session_id(), -12));
    //Ticket::create...checks for errors..
    if(($ticket=Ticket::create($vars, $errors, SOURCE))){
        $msg=__('Support ticket request created');
        // Drop session-backed form data
        unset($_SESSION[':form-data']);
        //Logged in...simply view the newly created ticket.
        if($thisclient && $thisclient->isValid()) {
            session_write_close();
            session_regenerate_id();
            @header('Location: tickets.php?id='.$ticket->getId());
        }
    }else{
        $errors['err']=$errors['err']?$errors['err']:__('Unable to create a ticket. Please correct errors below and try again!');
    }
}
コード例 #4
0
ファイル: tickets.php プロジェクト: KM-MFG/osTicket-1.8
     switch ($_POST['a']) {
         case 'open':
             $ticket = null;
             if (!$thisstaff || !$thisstaff->canCreateTickets()) {
                 $errors['err'] = sprintf('%s %s', sprintf(__('You do not have permission %s.'), __('to create tickets')), __('Contact admin for such access'));
             } else {
                 $vars = $_POST;
                 $vars['uid'] = $user ? $user->getId() : 0;
                 $vars['cannedattachments'] = $response_form->getField('attachments')->getClean();
                 if ($ticket = Ticket::open($vars, $errors)) {
                     $msg = __('Ticket created successfully');
                     $_REQUEST['a'] = null;
                     if (!$ticket->checkStaffAccess($thisstaff) || $ticket->isClosed()) {
                         $ticket = null;
                     }
                     Draft::deleteForNamespace('ticket.staff%', $thisstaff->getId());
                     // Drop files from the response attachments widget
                     $response_form->setSource(array());
                     $response_form->getField('attachments')->reset();
                     unset($_SESSION[':form-data']);
                 } elseif (!$errors['err']) {
                     $errors['err'] = __('Unable to create the ticket. Correct the error(s) and try again');
                 }
             }
             break;
     }
 }
 if (!$errors) {
     $thisstaff->resetStats();
 }
 //We'll need to reflect any changes just made!
コード例 #5
0
        if(!$errors) {
            //Everything checked out...do the magic.
            $vars = array(
                    'userId' => $thisclient->getId(),
                    'poster' => (string) $thisclient->getName(),
                    'message' => $_POST['message']);
            $vars['cannedattachments'] = $attachments->getClean();
            if (isset($_POST['draft_id']))
                $vars['draft_id'] = $_POST['draft_id'];

            if(($msgid=$ticket->postMessage($vars, 'Web'))) {
                $msg=__('Message Posted Successfully');
                // Cleanup drafts for the ticket. If not closed, only clean
                // for this staff. Else clean all drafts for the ticket.
                Draft::deleteForNamespace('ticket.client.' . $ticket->getId());
                // Drop attachments
                $attachments->reset();
                $tform->setSource(array());
            } else {
                $errors['err']=__('Unable to post the message. Try again');
            }

        } elseif(!$errors['err']) {
            $errors['err']=__('Error(s) occurred. Please try again');
        }
        break;
    default:
        $errors['err']=__('Unknown action');
    }
    $ticket->reload();
コード例 #6
0
ファイル: class.ticket.php プロジェクト: gizur/osticket
 function deleteDrafts()
 {
     Draft::deleteForNamespace('ticket.%.' . $this->getId());
 }
コード例 #7
0
ファイル: faq.php プロジェクト: ed00m/osTicket-1.8
         Draft::deleteForNamespace('faq', $thisstaff->getId());
     } elseif (!$errors['err']) {
         $errors['err'] = 'Unable to add FAQ. Try again!';
     }
     break;
 case 'update':
 case 'edit':
     if (!$faq) {
         $errors['err'] = 'Invalid or unknown FAQ';
     } elseif ($faq->update($_POST, $errors)) {
         $msg = 'FAQ updated successfully';
         $_REQUEST['a'] = null;
         //Go back to view
         $faq->reload();
         // Delete pending draft updates for this faq (for ALL users)
         Draft::deleteForNamespace('faq.' . $faq->getId());
     } elseif (!$errors['err']) {
         $errors['err'] = 'Unable to update FAQ. Try again!';
     }
     break;
 case 'manage-faq':
     if (!$faq) {
         $errors['err'] = 'Unknown or invalid FAQ';
     } else {
         switch (strtolower($_POST['a'])) {
             case 'edit':
                 $_GET['a'] = 'edit';
                 break;
             case 'publish':
                 if ($faq->publish()) {
                     $msg = 'FAQ published successfully';
コード例 #8
0
ファイル: templates.php プロジェクト: dmiguel92/osTicket-1.8
     } elseif ($template->update($_POST, $errors)) {
         $msg = sprintf(__('Successfully updated %s'), __('this message template'));
         // Drop drafts for this template for ALL users
         Draft::deleteForNamespace('tpl.' . $template->getCodeName() . '.' . $template->getTplId());
     } elseif (!$errors['err']) {
         $errors['err'] = sprintf(__('Error updating %s. Try again!'), __('this template'));
     }
     break;
 case 'implement':
     if (!$template) {
         $errors['err'] = sprintf(__('%s: Unknown or invalid'), __('template set'));
     } elseif ($new = EmailTemplate::add($_POST, $errors)) {
         $template = $new;
         $msg = sprintf(__('Successfully updated %s'), __('this message template'));
         // Drop drafts for this user for this template
         Draft::deleteForNamespace('tpl.' . $new->getCodeName() . $new->getTplId(), $thisstaff->getId());
     } elseif (!$errors['err']) {
         $errors['err'] = sprintf(__('Error updating %s. Try again!'), __('this message template'));
     }
     break;
 case 'update':
     if (!$template) {
         $errors['err'] = sprintf(__('%s: Unknown or invalid'), __('template set'));
     } elseif ($template->update($_POST, $errors)) {
         $msg = sprintf(__('Successfully updated %s'), mb_convert_case(__('this message template'), MB_CASE_TITLE));
     } elseif (!$errors['err']) {
         $errors['err'] = sprintf(__('Error updating %s. Try again!'), __('this message template'));
     }
     break;
 case 'add':
     if ($new = EmailTemplateGroup::add($_POST, $errors)) {
コード例 #9
0
ファイル: pages.php プロジェクト: dmiguel92/osTicket-1.8
         Draft::deleteForNamespace('page');
     } elseif (!$errors['err']) {
         $errors['err'] = sprintf(__('Unable to add %s. Correct error(s) below and try again.'), __('this site page'));
     }
     break;
 case 'update':
     if (!$page) {
         $errors['err'] = sprintf(__('%s: Invalid or unknown'), __('site page'));
     } elseif ($page->update($_POST, $errors)) {
         $msg = sprintf(__('Successfully updated %s'), __('this site page'));
         $_REQUEST['a'] = null;
         //Go back to view
         // Attach inline attachments from the editor
         $page->attachments->deleteInlines();
         $page->attachments->upload(Draft::getAttachmentIds($_POST['body']), true);
         Draft::deleteForNamespace('page.' . $page->getId());
     } elseif (!$errors['err']) {
         $errors['err'] = sprintf(__('Unable to update %s. Correct error(s) below and try again.'), __('this site page'));
     }
     break;
 case 'mass_process':
     if (!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) {
         $errors['err'] = sprintf(__('You must select at least %s.'), __('one site page'));
     } elseif (array_intersect($_POST['ids'], $cfg->getDefaultPages()) && strcasecmp($_POST['a'], 'enable')) {
         $errors['err'] = sprintf(__('One or more of the %s is in-use and CANNOT be disabled/deleted.'), _N('selected site page', 'selected site pages', 2));
     } else {
         $count = count($_POST['ids']);
         switch (strtolower($_POST['a'])) {
             case 'enable':
                 $sql = 'UPDATE ' . PAGE_TABLE . ' SET isactive=1 ' . ' WHERE id IN (' . implode(',', db_input($_POST['ids'])) . ')';
                 if (db_query($sql) && ($num = db_affected_rows())) {