本文整理汇总了PHP中comment::send_comment方法的典型用法代码示例。如果您正苦于以下问题:PHP comment::send_comment方法的具体用法?PHP comment::send_comment怎么用?PHP comment::send_comment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类comment
的用法示例。
在下文中一共展示了comment::send_comment方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: move_forwards
function move_forwards()
{
$current_user =& singleton("current_user");
global $TPL;
$status = $this->get_value("status");
$db = new db_alloc();
if ($this->get_value("clientID")) {
$c = $this->get_foreign_object("client");
$extra = " for " . $c->get_value("clientName");
$taskDesc[] = "";
}
$taskname1 = "Sale " . $this->get_id() . ": raise an invoice" . $extra;
$taskname2 = "Sale " . $this->get_id() . ": place an order to the supplier";
$taskname3 = "Sale " . $this->get_id() . ": pay the supplier";
$taskname4 = "Sale " . $this->get_id() . ": deliver the goods / action the work";
$cyberadmin = 59;
$taskDesc[] = "Sale items:";
$taskDesc[] = "";
foreach ((array) $this->get_productSaleItems() as $psiID => $psi_row) {
$p = new product();
$p->set_id($psi_row["productID"]);
$taskDesc[] = " " . page::money($psi_row["sellPriceCurrencyTypeID"], $psi_row["sellPrice"], "%S%mo") . " for " . $psi_row["quantity"] . " x " . $p->get_name();
$hasItems = true;
}
if (!$hasItems) {
return alloc_error("No sale items have been added.");
}
$amounts = $this->get_amounts();
$taskDesc[] = "";
$taskDesc[] = "Total: " . $amounts["total_sellPrice"];
$taskDesc[] = "Total inc " . config::get_config_item("taxName") . ": " . $amounts["total_sellPrice_plus_gst"];
$taskDesc[] = "";
$taskDesc[] = "Refer to the sale in alloc for up-to-date information:";
$taskDesc[] = config::get_config_item("allocURL") . "sale/productSale.php?productSaleID=" . $this->get_id();
$taskDesc = implode("\n", $taskDesc);
if ($status == "edit") {
$this->set_value("status", "allocate");
$items = $this->get_productSaleItems();
foreach ($items as $r) {
$psi = new productSaleItem();
$psi->set_id($r["productSaleItemID"]);
$psi->select();
if (!$db->qr("SELECT transactionID FROM transaction WHERE productSaleItemID = %d", $psi->get_id())) {
$psi->create_transactions();
}
}
} else {
if ($status == "allocate") {
$this->set_value("status", "admin");
// 1. from salesperson to admin
$q = prepare("SELECT * FROM task WHERE projectID = %d AND taskName = '%s'", $cyberadmin, $taskname1);
if (config::for_cyber() && !$db->qr($q)) {
$task = new task();
$task->set_value("projectID", $cyberadmin);
// Cyber Admin Project
$task->set_value("taskName", $taskname1);
$task->set_value("managerID", $this->get_value("personID"));
// salesperson
$task->set_value("personID", 67);
// Cyber Support people (jane)
$task->set_value("priority", 3);
$task->set_value("taskTypeID", "Task");
$task->set_value("taskDescription", $taskDesc);
$task->set_value("dateTargetStart", date("Y-m-d"));
$task->set_value("dateTargetCompletion", date("Y-m-d", date("U") + 60 * 60 * 24 * 7));
$task->save();
$TPL["message_good"][] = "Task created: " . $task->get_id() . " " . $task->get_value("taskName");
$p1 = new person();
$p1->set_id($this->get_value("personID"));
$p1->select();
$p2 = new person();
$p2->set_id(67);
$p2->select();
$recipients[$p1->get_value("emailAddress")] = array("name" => $p1->get_name(), "addIP" => true, "internal" => true);
$recipients[$p2->get_value("emailAddress")] = array("name" => $p2->get_name(), "addIP" => true, "internal" => true);
$comment = $p2->get_name() . ",\n\n" . $taskname1 . "\n\n" . $taskDesc;
$commentID = comment::add_comment("task", $task->get_id(), $comment, "task", $task->get_id());
$emailRecipients = comment::add_interested_parties($commentID, null, $recipients);
// Re-email the comment out, including any attachments
if (!comment::send_comment($commentID, $emailRecipients)) {
alloc_error("Email failed to send.");
} else {
$TPL["message_good"][] = "Emailed task comment to " . $p1->get_value("emailAddress") . ", " . $p2->get_value("emailAddress") . ".";
}
}
} else {
if ($status == "admin" && $this->have_perm(PERM_APPROVE_PRODUCT_TRANSACTIONS)) {
$this->set_value("status", "finished");
if ($_REQUEST["changeTransactionStatus"]) {
$rows = $this->get_productSaleItems();
foreach ($rows as $row) {
$ids[] = $row["productSaleItemID"];
}
if ($ids) {
$q = prepare("UPDATE transaction SET status = '%s' WHERE productSaleItemID in (%s)", $_REQUEST["changeTransactionStatus"], $ids);
$db = new db_alloc();
$db->query($q);
}
}
// 2. from admin to salesperson
//.........这里部分代码省略.........
示例2: mkdir
mkdir($dir, 0777);
}
// Write out all of the attachments and generated files to the local filesystem
foreach ((array) $files as $k => $f) {
$fullpath = $dir . DIRECTORY_SEPARATOR . $f["name"];
if ($f["blob"]) {
file_put_contents($fullpath, $f["blob"]);
} else {
if ($f["tmp_name"]) {
rename($f["tmp_name"], $fullpath);
}
}
$files[$k]["fullpath"] = $fullpath;
}
if ($files) {
comment::update_mime_parts($commentID, $files);
}
// Re-email the comment out, including any attachments
if (!comment::send_comment($commentID, $emailRecipients, false, $files)) {
alloc_error("Email failed to send.");
}
foreach ((array) $files as $k => $f) {
if (file_exists($f["fullpath"])) {
unlink($f["fullpath"]);
}
}
rmdir_if_empty($dir);
// Re-direct browser back home
$TPL["message_good"][] = $message_good;
$extra .= "&sbs_link=comments";
alloc_redirect($TPL["url_alloc_" . $_REQUEST["commentMaster"]] . $_REQUEST["commentMaster"] . "ID=" . $_REQUEST["commentMasterID"] . $extra);
示例3: add_comment
function add_comment($commands)
{
$commentID = comment::add_comment($commands["entity"], $commands["entityID"], $commands["comment_text"]);
// add interested parties
foreach ((array) $commands["ip"] as $k => $info) {
$info["entity"] = "comment";
$info["entityID"] = $commentID;
interestedParty::add_interested_party($info);
}
$emailRecipients = array();
$emailRecipients[] = "interested";
if (defined("ALLOC_DEFAULT_FROM_ADDRESS") && ALLOC_DEFAULT_FROM_ADDRESS) {
list($from_address, $from_name) = parse_email_address(ALLOC_DEFAULT_FROM_ADDRESS);
$emailRecipients[] = $from_address;
}
// Re-email the comment out
comment::send_comment($commentID, $emailRecipients);
return array($status, $message);
}
示例4: attach_email_to_existing_task
function attach_email_to_existing_task($req = array())
{
global $TPL;
$info = inbox::get_mail_info();
$current_user =& singleton("current_user");
$orig_current_user =& $current_user;
$req["taskID"] = sprintf("%d", $req["taskID"]);
$task = new task();
$task->set_id($req["taskID"]);
if ($task->select()) {
$email_receive = new email_receive($info);
$email_receive->open_mailbox($info["folder"]);
$email_receive->set_msg($req["id"]);
$email_receive->get_msg_header();
$email_receive->save_email();
$c = comment::add_comment_from_email($email_receive, $task);
$commentID = $c->get_id();
$commentID and $TPL["message_good_no_esc"][] = "Created comment " . $commentID . " on task " . $task->get_task_link(array("prefixTaskID" => true));
// Possibly change the identity of current_user
list($from_address, $from_name) = parse_email_address($email_receive->mail_headers["from"]);
$person = new person();
$personID = $person->find_by_email($from_address);
$personID or $personID = $person->find_by_name($from_name);
if ($personID) {
$current_user = new person();
$current_user->load_current_user($personID);
singleton("current_user", $current_user);
}
// swap back to normal user
$current_user =& $orig_current_user;
singleton("current_user", $current_user);
// manually add task manager and assignee to ip list
$extraips = array();
if ($task->get_value("personID")) {
$p = new person($task->get_value("personID"));
if ($p->get_value("emailAddress")) {
$extraips[$p->get_value("emailAddress")]["name"] = $p->get_name();
$extraips[$p->get_value("emailAddress")]["role"] = "assignee";
$extraips[$p->get_value("emailAddress")]["personID"] = $task->get_value("personID");
$extraips[$p->get_value("emailAddress")]["selected"] = 1;
}
}
if ($task->get_value("managerID")) {
$p = new person($task->get_value("managerID"));
if ($p->get_value("emailAddress")) {
$extraips[$p->get_value("emailAddress")]["name"] = $p->get_name();
$extraips[$p->get_value("emailAddress")]["role"] = "manager";
$extraips[$p->get_value("emailAddress")]["personID"] = $task->get_value("managerID");
$extraips[$p->get_value("emailAddress")]["selected"] = 1;
}
}
// add all the other interested parties
$ips = interestedParty::get_interested_parties("task", $req["taskID"], $extraips);
foreach ((array) $ips as $k => $inf) {
$inf["entity"] = "comment";
$inf["entityID"] = $commentID;
$inf["email"] and $inf["emailAddress"] = $inf["email"];
if ($req["emailto"] == "internal" && !$inf["external"] && !$inf["clientContactID"]) {
$id = interestedParty::add_interested_party($inf);
$recipients[] = $inf["name"] . " " . add_brackets($k);
} else {
if ($req["emailto"] == "default") {
$id = interestedParty::add_interested_party($inf);
$recipients[] = $inf["name"] . " " . add_brackets($k);
}
}
}
$recipients and $recipients = implode(", ", (array) $recipients);
$recipients and $TPL["message_good"][] = "Sent email to " . $recipients;
// Re-email the comment out
comment::send_comment($commentID, array("interested"), $email_receive);
// File email away in the task's mail folder
$mailbox = "INBOX/task" . $task->get_id();
$email_receive->create_mailbox($mailbox) and $TPL["message_good"][] = "Created mailbox: " . $mailbox;
$email_receive->move_mail($req["id"], $mailbox) and $TPL["message_good"][] = "Moved email " . $req["id"] . " to " . $mailbox;
$email_receive->close();
}
}
示例5: mail_reminder
function mail_reminder()
{
// check for a reminder.reminderHash that links off to a token.tokenHash
// this lets us trigger reminders on complex actions, for example create
// a reminder that sends when a task status changes from pending to open
// Note this->reminderTime is going to always be null for the token that
// link to task->moved_from_pending_to_open().
// Whereas the task->reopen_pending_task() will have a reminderTime set.
$ok = true;
if ($this->get_value("reminderHash")) {
$token = new token();
if ($token->set_hash($this->get_value("reminderHash"))) {
list($entity, $method) = $token->execute();
if (is_object($entity) && $entity->get_id()) {
if (!$entity->{$method}()) {
$token->decrement_tokenUsed();
// next time, gadget
$ok = false;
}
}
}
}
if ($ok) {
$recipients = $this->get_all_recipients();
# Reminders can be clients, tasks, projects or "general" - comment threads don't exist for general
if ($this->get_value('reminderType') != 'general') {
# Nowhere to put the subject?
$commentID = comment::add_comment($this->get_value('reminderType'), $this->get_value('reminderLinkID'), $this->get_value('reminderContent'), $this->get_value('reminderType'), $this->get_value('reminderLinkID'));
# Repackage the recipients to become IPs of the new comment
$ips = array();
foreach ((array) $recipients as $id => $person) {
$ip = array();
$ip['name'] = $person['name'];
$ip['addIP'] = true;
$ip['addContact'] = false;
$ip['internal'] = true;
$ips[$person['emailAddress']] = $ip;
}
comment::add_interested_parties($commentID, false, $ips);
# email_receive false or true? false for now... maybe true is better?
comment::send_comment($commentID, array("interested"));
} else {
foreach ((array) $recipients as $person) {
if ($person['emailAddress']) {
$email = sprintf("%s %s <%s>", $person['firstName'], $person['surname'], $person['emailAddress']);
$subject = $this->get_value('reminderSubject');
$content = $this->get_value('reminderContent');
$e = new email_send($email, $subject, $content, "reminder");
$e->send();
}
}
}
// Update reminder (reminderTime can be blank for task->moved_from_pending_to_open)
if ($this->get_value('reminderRecuringInterval') == "No") {
$this->deactivate();
} else {
if ($this->get_value('reminderRecuringValue') != 0) {
$interval = $this->get_value('reminderRecuringValue');
$intervalUnit = $this->get_value('reminderRecuringInterval');
$newtime = $this->get_next_reminder_time(strtotime($this->get_value('reminderTime')), $interval, $intervalUnit);
$this->set_value('reminderTime', date("Y-m-d H:i:s", $newtime));
$this->set_value('reminderAdvNoticeSent', 0);
$this->save();
}
}
}
}
示例6: invoiceItem
$ii = new invoiceItem();
$ii->currency = $i->get_value("currencyTypeID");
$ii->set_value("invoiceID", $i->get_id());
$ii->set_value("iiMemo", $item["iiMemo"]);
$ii->set_value("iiUnitPrice", page::money($ii->currency, $item["iiUnitPrice"], "%mo"));
$ii->set_value("iiAmount", page::money($ii->currency, $item["iiAmount"], "%mo"));
$ii->set_value("iiQuantity", $item["iiQuantity"]);
$ii->save();
#echo "<br>Created invoice item: ".$ii->get_id();
}
if ($row["message"]) {
$ips = interestedParty::get_interested_parties("invoiceRepeat", $row["invoiceRepeatID"]);
$recipients = array();
foreach ($ips as $email => $info) {
$recipients[$email] = $info;
$recipients[$email]["addIP"] = true;
}
$commentID = comment::add_comment("invoice", $i->get_id(), $row["message"], "invoice", $i->get_id());
if ($recipients) {
$emailRecipients = comment::add_interested_parties($commentID, null, $recipients);
comment::attach_invoice($commentID, $i->get_id(), $verbose = true);
// Re-email the comment out, including any attachments
if (!comment::send_comment($commentID, $emailRecipients)) {
alloc_error("Failed to email invoice: " . $i->get_id());
}
}
}
// Put current_user back to normal
$current_user =& $orig_current_user;
singleton("current_user", $current_user);
}