Beispiel #1
0
 public static function deliver(Module_PM $module, GWF_PM $pm)
 {
     if (false === ($pmo = GWF_PMOptions::getPMOptions($pm->getReceiver()))) {
         return 0;
     }
     if (!$pmo->isOptionEnabled(GWF_PMOptions::EMAIL_ON_PM)) {
         return 0;
     }
     $sender = $pm->getSender();
     $receiver = $pm->getReceiver();
     if ('' === ($rec = $receiver->getValidMail())) {
         return 0;
     }
     $sendername = $sender->getID() !== '0' ? $sender->display('user_name') : GWF_HTML::langUser($receiver, 'guest');
     $email = new GWF_Mail();
     $email->setSender($module->cfgEmailSender());
     $email->setReceiver($rec);
     $email->setSubject($module->langUser($receiver, 'mail_subj', array($sendername)));
     $autofolder = sprintf('index.php?mo=PM&me=AutoFolder&pmid=%s&uid=%s&token=%s', $pm->getID(), $receiver->getID(), $pm->getHashcode());
     $autofolder = Common::getAbsoluteURL($autofolder);
     $autofolder = GWF_HTML::anchor($autofolder, $autofolder);
     $delete = sprintf('index.php?mo=PM&me=Delete&pmid=%s&uid=%s&token=%s', $pm->getID(), $receiver->getID(), $pm->getHashcode());
     $delete = Common::getAbsoluteURL($delete);
     $delete = GWF_HTML::anchor($delete, $delete);
     $email->setBody($module->langUser($receiver, 'mail_body', array($receiver->displayUsername(), $sendername, $pm->display('pm_title'), $pm->display('pm_message'), $autofolder, $delete)));
     if (false === $email->sendToUser($receiver)) {
         return -4;
     }
     return 1;
 }
Beispiel #2
0
 private function getButtons(GWF_PM $pm)
 {
     $transid = 'pm_trans_' . $pm->getID();
     $u = GWF_Session::getUser();
     $buttons = '';
     if (false !== ($prevs = $pm->getReplyToPrev())) {
         foreach ($prevs as $prev) {
             $buttons .= GWF_Button::prev($prev->getDisplayHREF(), $this->module->lang('btn_prev'));
         }
     }
     if (!$pm->hasDeleted($u)) {
         $buttons .= GWF_Button::delete($pm->getDeleteHREF($u->getID()), $this->module->lang('btn_delete'));
     } else {
         $buttons .= GWF_Button::restore($pm->getRestoreHREF(), $this->module->lang('btn_restore'));
     }
     if ($pm->canEdit($u)) {
         $buttons .= GWF_Button::edit($pm->getEditHREF(), $this->module->lang('btn_edit'));
     }
     $buttons .= GWF_Button::options($pm->getAutoFolderHREF(), $this->module->lang('btn_autofolder'));
     if (!$pm->isGuestPM()) {
         $buttons .= GWF_Button::reply($pm->getReplyHREF(), $this->module->lang('btn_reply')) . PHP_EOL . GWF_Button::quote($pm->getQuoteHREF(), $this->module->lang('btn_quote'));
     }
     $u2 = $pm->getOtherUser($u);
     $buttons .= GWF_Button::ignore($pm->getIgnoreHREF($pm->getOtherUser($u)), $this->module->lang('btn_ignore', array($u2->display('user_name'))));
     $buttons .= GWF_Button::translate($pm->getTranslateHREF(), $this->module->lang('btn_translate'), '', 'gwfGoogleTrans(\'' . $transid . '\'); return false;');
     if (false !== ($nexts = $pm->getReplyToNext())) {
         foreach ($nexts as $next) {
             $buttons .= GWF_Button::next($next->getDisplayHREF(), $this->module->lang('btn_next'));
         }
     }
     return $buttons;
 }
Beispiel #3
0
while (false !== ($row = $db->fetchAssoc($result))) {
    $o = (int) $row['pm_options'];
    # Sender
    $from_opts = $o & 0x4;
    # smileys
    //	$from_opts |= $o&0x01 ? GWF_PM::READ : 0; # other read
    $from_opts |= GWF_PM::READ;
    # I probably have read what i wrote :)
    $from_opts |= $o & 0x10 ? GWF_PM::OWNER_DELETED : 0;
    # sender deleted
    $from_opts |= $o & 0x20 ? GWF_PM::OTHER_DELETED : 0;
    # reciever deleted
    //	var_dump($o);
    //	var_dump($from_opts);
    $from = new GWF_PM(array('pm_id' => '0', 'pm_date' => $row['pm_date'], 'pm_owner' => $row['pm_from'], 'pm_folder' => $row['pm_from_folder'], 'pm_parent' => $row['pm_in_reply'], 'pm_to' => $row['pm_to'], 'pm_from' => $row['pm_from'], 'pm_otherid' => 0, 'pm_title' => $row['pm_title'], 'pm_message' => $row['pm_message'], 'pm_options' => $from_opts));
    $from->insert();
    $to_opts = 0;
    $to_opts |= $o & 0x1 ? GWF_PM::READ : 0;
    # meme read
    $to_opts |= $o & 0x4;
    # smileys
    $to_opts |= $o & 0x20 ? GWF_PM::OWNER_DELETED : 0;
    # sender deleted
    $to_opts |= $o & 0x10 ? GWF_PM::OTHER_DELETED : 0;
    # reciever deleted
    $to = new GWF_PM(array('pm_id' => '0', 'pm_date' => $row['pm_date'], 'pm_owner' => $row['pm_to'], 'pm_folder' => $row['pm_to_folder'], 'pm_parent' => $row['pm_in_reply'], 'pm_to' => $row['pm_to'], 'pm_from' => $row['pm_from'], 'pm_otherid' => $from->getID(), 'pm_title' => $row['pm_title'], 'pm_message' => $row['pm_message'], 'pm_options' => $to_opts));
    $to->insert();
    $from->saveVar('pm_otherid', $to->getID());
}
$db->free($result);
$db->dropTable($tmp_name);