本文整理汇总了PHP中Attachment::addFiles方法的典型用法代码示例。如果您正苦于以下问题:PHP Attachment::addFiles方法的具体用法?PHP Attachment::addFiles怎么用?PHP Attachment::addFiles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Attachment
的用法示例。
在下文中一共展示了Attachment::addFiles方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createFromPost
//.........这里部分代码省略.........
continue;
}
$users[] = $manager['cam_usr_id'];
self::addUserAssociation($usr_id, $issue_id, $manager['cam_usr_id'], false);
History::add($issue_id, $usr_id, 'issue_auto_assigned', 'Issue auto-assigned to {assignee} (TAM)', array('assignee' => User::getFullName($manager['cam_usr_id'])));
}
$has_TAM = true;
}
// now add the user/issue association (aka assignments)
if (!empty($data['users']) && count($data['users']) > 0) {
foreach ($data['users'] as $user) {
$actions = Notification::getDefaultActions($issue_id, User::getEmail($user), 'new_issue');
Notification::subscribeUser($usr_id, $issue_id, $user, $actions);
self::addUserAssociation($usr_id, $issue_id, $user);
if ($user != $usr_id) {
$users[] = $user;
}
}
} else {
// only use the round-robin feature if this new issue was not
// already assigned to a customer account manager
if (@count($managers) < 1) {
$assignee = Round_Robin::getNextAssignee($prj_id);
// assign the issue to the round robin person
if (!empty($assignee)) {
$users[] = $assignee;
self::addUserAssociation($usr_id, $issue_id, $assignee, false);
History::add($issue_id, APP_SYSTEM_USER_ID, 'rr_issue_assigned', 'Issue auto-assigned to {assignee} (RR)', array('assignee' => User::getFullName($assignee)));
$has_RR = true;
}
}
}
// set product and version
if (isset($data['product']) && $data['product'] != '-1') {
Product::addIssueProductVersion($issue_id, $data['product'], $data['product_version']);
}
// process any files being uploaded
// from ajax upload, attachment file ids
$iaf_ids = !empty($_POST['iaf_ids']) ? explode(',', $_POST['iaf_ids']) : null;
// if no iaf_ids passed, perhaps it's old style upload
// TODO: verify that the uploaded file(s) owner is same as attachment owner.
if (!$iaf_ids && isset($_FILES['file'])) {
$iaf_ids = Attachment::addFiles($_FILES['file']);
}
if ($iaf_ids) {
Attachment::attachFiles($issue_id, $usr_id, $iaf_ids, false, 'Files uploaded at issue creation time');
}
// need to associate any emails ?
if (!empty($data['attached_emails'])) {
$items = explode(',', $data['attached_emails']);
Support::associate($usr_id, $issue_id, $items);
}
// need to notify any emails being converted into issues ?
if (@count($data['notify_senders']) > 0) {
$recipients = Notification::notifyEmailConvertedIntoIssue($prj_id, $issue_id, $data['notify_senders'], @$data['customer']);
} else {
$recipients = array();
}
// need to process any custom fields ?
if (@count($data['custom_fields']) > 0) {
foreach ($data['custom_fields'] as $fld_id => $value) {
Custom_Field::associateIssue($issue_id, $fld_id, $value);
}
}
// also send a special confirmation email to the customer contact
if (@$data['notify_customer'] == 'yes' && !empty($data['contact'])) {
$contact = $contract->getContact($data['contact']);
// also need to pass the list of sender emails already notified,
// so we can avoid notifying the same person again
$contact_email = User::getEmailByContactID($data['contact']);
if (@(!in_array($contact_email, $recipients))) {
$contact->notifyNewIssue($issue_id);
}
// now check for additional emails in contact_extra_emails
if (@count($data['contact_extra_emails']) > 0) {
$notification_emails = $data['contact_extra_emails'];
foreach ($notification_emails as $notification_email) {
if (@(!in_array($notification_email, $recipients))) {
try {
$notification_contact = $crm->getContactByEmail($notification_email);
$notification_contact->notifyNewIssue($issue_id);
} catch (ContactNotFoundException $e) {
}
}
}
}
}
// handle associated issues
if (isset($data['associated_issues'])) {
$associated_issues = explode(',', $data['associated_issues']);
if ($clone_iss_id) {
$associated_issues[] = $clone_iss_id;
}
self::updateAssociatedIssuesRelations($issue_id, $associated_issues);
}
Workflow::handleNewIssue($prj_id, $issue_id, $has_TAM, $has_RR);
// also notify any users that want to receive emails anytime a new issue is created
Notification::notifyNewIssue($prj_id, $issue_id);
return $issue_id;
}
示例2: Template_Helper
$usr_id = Auth::getUserID();
$tpl = new Template_Helper();
$tpl->setTemplate('file_upload.tpl.html');
$issue_id = isset($_POST['issue_id']) ? $_POST['issue_id'] : $_GET['iss_id'];
$cat = isset($_POST['cat']) ? $_POST['cat'] : null;
// handle uploads
if ($cat == 'upload_file') {
// attachment status (public or internal)
$status = isset($_POST['status']) ? $_POST['status'] : null;
$internal_only = $status == 'internal';
// from ajax upload, attachment file ids
$iaf_ids = !empty($_POST['iaf_ids']) ? explode(',', $_POST['iaf_ids']) : null;
// description for attachments
$file_description = isset($_POST['file_description']) ? $_POST['file_description'] : null;
// if no iaf_ids passed, perhaps it's old style upload
// TODO: verify that the uploaded file(s) owner is same as attachment owner.
if (!$iaf_ids && isset($_FILES['attachment'])) {
$iaf_ids = Attachment::addFiles($_FILES['attachment']);
}
try {
Attachment::attachFiles($issue_id, $usr_id, $iaf_ids, $internal_only, $file_description);
$res = 1;
} catch (Exception $e) {
error_log($e->getMessage());
error_log($e->getTraceAsString());
$res = -1;
}
$tpl->assign('upload_file_result', $res);
}
$tpl->assign(array('issue_id' => $issue_id, 'current_user_prefs' => Prefs::get(Auth::getUserID()), 'max_attachment_size' => Attachment::getMaxAttachmentSize(), 'max_attachment_bytes' => Attachment::getMaxAttachmentSize(true)));
$tpl->displayTemplate();
示例3: sendEmailFromPost
/**
* Method used to send an email from the user interface.
*
* @param int $parent_sup_id
* @return int 1 if it worked, -1 otherwise
* @deprecated use sendEmail directly instead
*/
public static function sendEmailFromPost($parent_sup_id = null)
{
// process any files being uploaded
// from ajax upload, attachment file ids
// if no iaf_ids passed, perhaps it's old style upload
// TODO: verify that the uploaded file(s) owner is same as attachment owner.
$iaf_ids = !empty($_POST['iaf_ids']) ? explode(',', $_POST['iaf_ids']) : null;
if (!$iaf_ids && isset($_FILES['attachment'])) {
$iaf_ids = Attachment::addFiles($_FILES['attachment']);
}
$issue_id = isset($_POST['issue_id']) ? (int) $_POST['issue_id'] : 0;
$type = isset($_POST['type']) ? (string) $_POST['type'] : null;
$from = isset($_POST['from']) ? (string) $_POST['from'] : null;
$to = isset($_POST['to']) ? (string) $_POST['to'] : null;
$cc = isset($_POST['cc']) ? (string) $_POST['cc'] : null;
$subject = isset($_POST['subject']) ? (string) $_POST['subject'] : null;
$body = isset($_POST['message']) ? (string) $_POST['message'] : null;
$options = array('parent_sup_id' => $parent_sup_id, 'iaf_ids' => $iaf_ids, 'add_unknown' => isset($_POST['add_unknown']) && $_POST['add_unknown'] == 'yes', 'ema_id' => isset($_POST['ema_id']) ? (int) $_POST['ema_id'] : null);
return self::sendEmail($issue_id, $type, $from, $to, $cc, $subject, $body, $options);
}
示例4: dirname
// | 51 Franklin Street, Suite 330 |
// | Boston, MA 02110-1301, USA. |
// +----------------------------------------------------------------------+
// | Authors: Elan Ruusamäe <glen@delfi.ee> |
// +----------------------------------------------------------------------+
require_once dirname(__FILE__) . '/../../init.php';
// handle ajax upload
// FIXME: no identity logged who added the file.
try {
// check if logged in. if not, just give error
if (!Auth::hasValidCookie(APP_COOKIE)) {
throw new BadFunctionCallException(ev_gettext('Must be logged in'));
}
if (!isset($_GET['file'])) {
// TRANSLATORS: this is technical error and should not be displayed to end users
throw new InvalidArgumentException(ev_gettext('No file argument'));
}
$file = (string) $_GET['file'];
if (!isset($_FILES[$file])) {
throw new InvalidArgumentException(ev_gettext('No files uploaded'));
}
$iaf_id = Attachment::addFiles($_FILES[$file]);
$res = array('error' => 0, 'iaf_id' => $iaf_id);
} catch (Exception $e) {
$code = $e->getCode();
$res = array('error' => $code ? $code : -1, 'message' => $e->getMessage());
error_log($e->getMessage());
error_log($e->getTraceAsString());
}
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($res);