function onSubmit($vals) { loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); $msg->renameCategory($vals['name'], $vals['category']); header('Location: ' . site_prefix() . '/index/cms-messages-action'); exit; }
function onSubmit($vals) { loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); if (!$vals['response_id']) { $vals['response_id'] = '0'; } $res = $msg->send($vals['subject'], $vals['body'], explode(',', $vals['recipients']), array(), $vals['response_id'], $vals['priority'], session_username()); if (!$res) { echo '<p>Error: ' . $msg->error . '</p>'; } session_set('sitellite_alert', intl_get('Your message has been sent.')); header('Location: ' . site_prefix() . '/index/cms-cpanel-action?_msg=sent'); exit; }
* * Transition is one of: * - add * - edit * * Action is one of: * - null: Document was added * - modify: Ordinary modifications (source and store) * - replace: A change was approved, overwriting the live version * - republish: A change was made as a draft, requiring approval * - update: Update to a draft that was republished */ loader_import('cms.Workspace.Message'); loader_import('cms.Versioning.Rex'); loader_import('multilingual.Translation'); $msg = new WorkspaceMessage(); $rex = new Rex($parameters['collection']); $tr = new Translation($parameters['collection']); if ($parameters['transition'] == 'add') { // 1. find the associated translator(s) and email them $users = db_shift_array('select username from sitellite_user where team = ? and role = "translator"', $parameters['data']['sitellite_team']); $url = sprintf('%s/index/multilingual-translate-form?_collection=%s&_key=%s', site_prefix(), $parameters['collection'], $parameters['key']); $msg->send(intl_get('New Translation Notice'), template_simple('services_translation_new.spt', array('url' => $url, 'changelog' => $parameters['changelog'], 'collection' => $rex->info['Collection']['display'], 'key' => $parameters['key'])), $users); } else { // 1. expire the translations $tr->expire($parameters['key']); // 2. find the associated translator(s) and email them $users = db_shift_array('select username from sitellite_user where team = ? and role = "translator"', $parameters['data']['sitellite_team']); $url = sprintf('%s/index/multilingual-translate-form?_collection=%s&_key=%s', site_prefix(), $parameters['collection'], $parameters['key']); $msg->send(intl_get('Translation Update Notice'), template_simple('services_translation_update.spt', array('url' => $url, 'changelog' => $parameters['changelog'], 'collection' => $rex->info['Collection']['display'], 'key' => $parameters['key'])), $users); }
/** * Replacement for mail() in Sitellite, using Sitellite's internal messaging * system instead. The first parameter is a username instead of an email address, * and the fourth is a sender's username instead of a From header. * * @access public * @param string * @param string * @param string * @param string * @return boolean */ function sitellite_mail($to_user, $subject, $body, $from_user = '') { loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); return $msg->send($subject, $body, $to_user, array(), 0, 'normal', $from_user); }
<?php loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); $messages = $msg->getNew(); if (!is_array($messages)) { //echo '<p>' . intl_get ('No new messages.') . '</p>'; //return; } function msg_date_format($date) { loader_import('saf.Date'); return Date::timestamp($date, array('today' => '\\T\\o\\d\\a\\y - g:i A', 'yesterday' => '\\Y\\e\\s\\t\\e\\r\\d\\a\\y - g:i A', 'tomorrow' => '\\T\\o\\m\\o\\r\\r\\o\\w - g:i A', 'this week' => 'l, F j, Y - g:i A', 'other' => 'F j, Y - g:i A')); } function msg_get_name($user) { $info = session_get_user($user); if (!$info) { return $user; } if (!empty($info->lastname)) { return $info->lastname . ', ' . $info->firstname; } return $user; } echo template_simple('messages/inbox.spt', array('messages' => $messages));
<?php $data = array(); loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); $data['folders'] = $msg->categories(); $inbox = new StdClass(); $inbox->name = intl_get('Inbox'); $inbox->count = db_shift('select count(*) from sitellite_msg_recipient where type = "user" and user = ? and category = ""', session_username()); $outbox = new StdClass(); $outbox->name = intl_get('Sent'); $outbox->count = db_shift('select count(*) from sitellite_message where from_user = ?', session_username()); $trash = new StdClass(); $trash->name = intl_get('Trash'); $trash->count = db_shift('select count(*) from sitellite_msg_recipient where type = "user" and status = "trash" and user = ?', session_username()); array_unshift($data['folders'], $trash); array_unshift($data['folders'], $outbox); array_unshift($data['folders'], $inbox); echo template_simple(CMS_JS_ALERT_MESSAGE, $GLOBALS['cgi']); echo template_simple('messages/index.spt', $data);
header('HTTP/1.1 404 Not Found'); echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n" . "<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n" . "The requested URL " . $PHP_SELF . " was not found on this server.<p>\n<hr>\n" . $_SERVER['SERVER_SIGNATURE'] . "</body></html>"; exit; } // END CLI KEEPOUT CHECKING // mailcheck scheduler block // Checks for new incoming mail. global $conf; if (empty($conf['Messaging']['email_server'])) { return; } loader_import('saf.Mail.Pop3'); loader_import('pear.Mail.mimeDecode'); loader_import('cms.Workspace.Message'); //loader_import ('cms.Workspace.Task'); $wmsg = new WorkspaceMessage(); //$wtsk = new WorkspaceTask (); $pop3 = new Pop3($conf['Messaging']['email_server'], $conf['Messaging']['email_port']); if (!$pop3->connect()) { echo $pop3->error . "\n"; return; } if (!$pop3->authenticate($conf['Messaging']['email_username'], $conf['Messaging']['email_password'])) { echo $pop3->error . "\n"; return; } $messages = $pop3->listMessages(); foreach ($messages as $number => $message) { set_time_limit(30); $messages[$number]['message'] = $pop3->getMessage($number); if ($messages[$number]['message'] === false) {
<?php loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); if ($parameters['new_folder'] == 'Inbox') { $parameters['new_folder'] = ''; } foreach ($parameters['items'] as $item) { $msg->setCategory($item, $parameters['new_folder']); } header('Location: ' . site_prefix() . '/index/cms-messages-category-action?category=' . $parameters['category']); exit;
<?php global $cgi; loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); if ($cgi->item) { $cgi->id = $cgi->item; } if ($cgi->category == 'Sent') { $res = $msg->getSent($cgi->id); } else { $res = $msg->get($cgi->id); } if (!$res) { page_title(intl_get('Reading Message')); echo '<p>Error: ' . $msg->error . '</p>'; return; } if ($cgi->category == 'Sent') { $res->category = 'Sent'; } elseif ($cgi->category == 'Trash') { $res->category = 'Trash'; } elseif ($res->category == '') { $res->category = 'Inbox'; } page_title(intl_get('Reading Message') . ': ' . $res->subject); $res->response_subject = Workspace::createResponseSubject($res->subject); $list = $msg->getRecipients($cgi->id); if (!$list) { $user_list = array(); $recipients = array(session_username());
* made. The only way you can undo changes in a service is by * using the cms.Versioning.Rex API if the collection in question * supports versioning (not all do). Also, you can, if necessary, * create further modifications to the document, also via the * Rex API. * * Transition is one of: * - add * - edit * * Action is one of: * - null: Document was added * - modify: Ordinary modifications (source and store) * - replace: A change was approved, overwriting the live version * - republish: A change was made as a draft, requiring approval * - update: Update to a draft that was republished */ loader_import('cms.Workspace.Message'); loader_import('cms.Versioning.Rex'); $msg = new WorkspaceMessage(); $rex = new Rex($parameters['collection']); if ($parameters['data']['sitellite_status'] == 'pending') { // find the associated editor(s) and email them $users = db_shift_array('select username from sitellite_user where team = ? and role = "editor"', $parameters['data']['sitellite_team']); $url = sprintf('%s/index/cms-edit-form?_collection=%s&_key=%s', site_prefix(), $parameters['collection'], $parameters['key']); $msg->send(intl_get('Pending Document Notice'), template_simple('services_notice_pending.spt', array('url' => $url, 'changelog' => $parameters['changelog'], 'collection' => $rex->info['Collection']['display'], 'key' => $parameters['key'])), $users); } elseif ($parameters['data']['sitellite_status'] == 'rejected') { // find the associated writer and email them $url = sprintf('%s/index/cms-edit-form?_collection=%s&_key=%s', site_prefix(), $parameters['collection'], $parameters['key']); $msg->send(intl_get('Rejected Document Notice'), template_simple('services_notice_rejected.spt', array('url' => $url, 'changelog' => $parameters['changelog'], 'collection' => $rex->info['Collection']['display'], 'key' => $parameters['key'])), $parameters['data']['sitellite_owner']); }
<?php loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); if (!$msg->deleteCategory($parameters['category'])) { die($msg->error); } header('Location: ' . site_prefix() . '/index/cms-messages-action'); exit;
<?php global $cgi; loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); $res = $msg->get($cgi->message_id); if (!$res) { echo '<script language="javascript" type="text/javascript"> window.close (); </script>'; exit; } $attachment = false; foreach ($res->attachments as $a) { if ($a->id == $cgi->id) { $attachment =& $a; } } if (!$attachment) { echo '<script language="javascript" type="text/javascript"> window.close (); </script>'; exit; } if ($cgi->save == 'true') { header('Content-Type: application/x-octet-stream'); header('Content-Disposition: attachment; filename=' . $attachment->name); } else { header('Content-Type: ' . $attachment->mimetype); } echo $attachment->body; exit;
// be able to access directly. header('HTTP/1.1 404 Not Found'); echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n" . "<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n" . "The requested URL " . $PHP_SELF . " was not found on this server.<p>\n<hr>\n" . $_SERVER['SERVER_SIGNATURE'] . "</body></html>"; exit; } // END CLI KEEPOUT CHECKING // jabbercheck scheduler block // Checks for new incoming jabber instant messages. global $conf; if (empty($conf['Messaging']['jabber_server'])) { return; } loader_import('ext.Jabber'); loader_import('cms.Workspace.Message'); //loader_import ('cms.Workspace.Task'); $m = new WorkspaceMessage(); //$wtsk = new WorkspaceTask (); $j = new Jabber(); $j->resource = 'Sitellite CMS ' . SITELLITE_VERSION; $j->server = $conf['Messaging']['jabber_server']; $j->port = $conf['Messaging']['jabber_port']; $j->username = $conf['Messaging']['jabber_username']; $j->password = $conf['Messaging']['jabber_password']; $j->enable_logging = true; if (!$j->Connect()) { echo $j->log_array[count($j->log_array) - 1] . NEWLINE; return; } if (!$j->SendAuth()) { echo $j->log_array[count($j->log_array) - 1] . NEWLINE; return;
<?php global $cgi; loader_import('cms.Workspace.Message'); loader_import('cms.Workspace.Message.Filters'); loader_import('saf.GUI.DataGrid'); $msg = new WorkspaceMessage(); $limit = session_pref('browse_limit'); if (!$limit) { $limit = 10; } if (!isset($cgi->offset) || !is_numeric($cgi->offset)) { $cgi->offset = 0; } if (!isset($cgi->orderBy) || preg_match('/[^a-zA-Z0-9_-]/', $cgi->orderBy)) { $cgi->orderBy = 'msg_date'; } if (!isset($cgi->sort) || $cgi->sort != 'asc' && $cgi->sort != 'desc') { $cgi->sort = 'desc'; } if ($cgi->category == 'Sent') { $list = $msg->getSent(false, false, $limit, $cgi->offset, $cgi->orderBy, $cgi->sort); } elseif ($cgi->category == 'Inbox') { $list = $msg->getFolder('', false, $limit, $cgi->offset, $cgi->orderBy, $cgi->sort); } elseif ($cgi->category == 'Trash') { $list = $msg->getTrash($limit, $cgi->offset, $cgi->orderBy, $cgi->sort); } else { $list = $msg->getFolder($cgi->category, false, $limit, $cgi->offset, $cgi->orderBy, $cgi->sort); } if ($cgi->category == 'Sent') { $dg = new DataGrid('sitellite_message', array('subject' => intl_get('Subject'), 'msg_date' => intl_get('Date'), 'recipients' => intl_get('To')), $limit);
<?php loader_import('cms.Workspace.Message'); $msg = new WorkspaceMessage(); foreach ($parameters['items'] as $item) { $msg->trash($item); } header('Location: ' . site_prefix() . '/index/cms-messages-category-action?category=' . $parameters['category'] . '&_msg=' . urlencode('The selected messages have been moved to your trash folder.')); exit;