pmManager = new pmbox_manager($pm_prefs); } public function sc_pm_form_touser() { if(vartrue($this->var['from_name'])) { return "{$this->var['from_name']}"; } require_once(e_HANDLER.'user_select_class.php'); $us = new user_select; $type = ($this->pmPrefs['dropdown'] == TRUE ? 'list' : 'popup'); if(check_class($this->pmPrefs['multi_class'])) { $ret = $us->select_form($type, 'textarea.pm_to', '', $this->pmPrefs['pm_class']); } else { $frm = e107::getForm(); //TODO Use $frm->userpicker(); return $frm->text('pm_to','',20,'typeahead=users'); // $ret = $us->select_form($type, 'pm_to', '', $this->pmPrefs['pm_class']); } return $ret; } public function sc_pm_form_toclass() { if(vartrue($this->var['from_name'])) { return ''; } if(check_class($this->pmPrefs['opt_userclass']) && check_class($this->pmPrefs['multi_class'])) { $ret = "".LAN_PM_4." "; require_once(e_HANDLER.'userclass_class.php'); $args = (ADMIN ? 'admin, classes' : 'classes, matchclass'); if(check_class($this->pmPrefs['sendall_class'])) { $args = 'member, '.$args; } $ret .= e107::getUserClass()->uc_dropdown('pm_userclass', '', $args); if (strpos($ret,'option') === FALSE) $ret = ''; } return $ret; } public function sc_pm_form_subject() { $value = ''; if(vartrue($this->var['pm_subject'])) { $value = $this->var['pm_subject']; if(substr($value, 0, strlen(LAN_PM_58)) != LAN_PM_58) { $value = LAN_PM_58.$value; } } return ""; } public function sc_pm_form_message() { $value = ''; if(vartrue($this->var['pm_text'])) { if(isset($_POST['quote'])) { $t = time(); $value = "[quote{$t}={$this->var['from_name']}]\n{$this->var['pm_text']}\n[/quote{$t}]\n\n"; } } return ""; } public function sc_pm_emotes() { // require_once(e_HANDLER.'emote.php'); return r_emote(); } public function sc_pm_post_button() { return ""; } public function sc_pm_preview_button() { return ""; } public function sc_pm_attachment() { if (check_class($this->pmPrefs['attach_class'])) { $ret = "
"; return $ret; } return ''; } public function sc_pm_attachment_icon() { if($this->var['pm_attachments'] != "") { return ATTACHMENT_ICON; } } public function sc_pm_attachments() { if($this->var['pm_attachments'] != '') { $attachments = explode(chr(0), $this->var['pm_attachments']); $i = 0; foreach($attachments as $a) { list($timestamp, $fromid, $rand, $filename) = explode("_", $a, 4); $url = $this->url('action/get', array('id' => $this->var['pm_id'], 'index' => $i)); $ret .= "{$filename}
"; $i++; } $ret = substr($ret, 0, -3); return $ret; } } public function sc_pm_receipt() { if (check_class($this->pmPrefs['receipt_class'])) { return "".LAN_PM_10; } return ''; } public function sc_pm_inbox_total() { $pm_inbox = $this->pmManager->pm_getInfo('inbox'); return intval($pm_inbox['inbox']['total']); } public function sc_pm_inbox_unread() { $pm_inbox = $this->pmManager->pm_getInfo('inbox'); return intval($pm_inbox['inbox']['unread']); } public function sc_pm_inbox_filled() { $pm_inbox = $this->pmManager->pm_getInfo('inbox'); return (intval($pm_inbox['inbox']['filled']) > 0 ? $pm_inbox['inbox']['filled'] : ''); } public function sc_pm_outbox_total() { $pm_outbox = $this->pmManager->pm_getInfo('outbox'); return intval($pm_outbox['outbox']['total']); } public function sc_pm_outbox_unread() { $pm_outbox = $this->pmManager->pm_getInfo('outbox'); return intval($pm_outbox['outbox']['unread']); } public function sc_pm_outbox_filled() { $pm_outbox = $this->pmManager->pm_getInfo('outbox'); return (intval($pm_outbox['outbox']['filled']) > 0 ? $pm_outbox['outbox']['filled'] : ''); } public function sc_pm_date($parm = '') { require_once(e_HANDLER.'date_handler.php'); if('lapse' != $parm) { return convert::convert_date($this->var['pm_sent'], $parm); } else { return convert::computeLapse($this->var['pm_sent']); } } public function sc_pm_read($parm = '') { if($this->var['pm_read'] == 0) { return LAN_PM_27; } if($this->var['pm_read'] == 1) { return LAN_PM_28; } require_once(e_HANDLER.'date_handler.php'); if('lapse' != $parm) { return convert::convert_date($this->var['pm_read'], $parm); } else { return convert::computeLapse($this->var['pm_read']); } } public function sc_pm_from_to() { $tp = e107::getParser(); if($this->var['pm_from'] == USERID) { $ret = LAN_PM_2.':
'; $this->var['user_name'] = $this->var['sent_name']; $ret .= $tp->parseTemplate("{PM_TO=link}"); } else { $ret = LAN_PM_31.':
'; $this->var['user_name'] = $this->var['from_name']; $ret .= $tp->parseTemplate("{PM_FROM=link}"); } return $ret; } public function sc_pm_subject($parm = '') { $tp = e107::getParser(); $ret = $tp->toHTML($this->var['pm_subject'], true, 'USER_TITLE'); $prm = explode(',',$parm); if('link' == $prm[0]) { $extra = ''; // TODO - go with only one route version - view/message ??? if (isset($prm[1])) $extra = '.'.$prm[1]; /* Moc: commented because the URL was not rendered correctly. Reverted back to v1.x style. if($extra == 'inbox') $url = $this->url('message', 'id='.$this->var['pm_id']); elseif($extra == 'outbox') $url = $this->url('sent', 'id='.$this->var['pm_id']); else $url = $this->url('show', 'id='.$this->var['pm_id']); $ret = "".$ret.""; */ $ret = "".$ret.""; } return $ret; } public function sc_pm_from($parm = '') { $url = e107::getUrl(); if('link' == $parm) { return " $this->var['pm_from'], 'name' => $this->var['user_name']))."'>{$this->var['user_name']}"; } else { return $this->var['user_name']; } } public function sc_pm_select() { return ""; } public function sc_pm_read_icon() { if($this->var['pm_read'] > 0 ) { return PM_READ_ICON; } else { return PM_UNREAD_ICON; } } public function sc_pm_avatar() { return e107::getParser()->parseTemplate("{USER_AVATAR={$this->var['user_image']}}"); } public function sc_pm_block_user() { if(in_array($this->var['pm_from'], $this->pmBlocks)) { return "".LAN_PM_51.""; } else { return "".LAN_PM_50.""; } } public function sc_pm_delete($parm = '') { if($parm != '') { $extra = '.'.$parm; } else { $extra = '.'.($this->var['pm_from'] == USERID ? 'outbox' : 'inbox'); } if($extra !== 'inbox' && $extra !== 'outbox') return ''; $action = $extra == 'outbox' ? 'delete-out' : 'delete-in'; return "".LAN_PM_52.""; } public function sc_pm_delete_selected() { return ""; } public function sc_pm_to($parm = '') { if(is_numeric($this->var['pm_to'])) { if('link' == $parm) { $url = e107::getUrl(); return " $this->var['pm_to'], 'name' => $this->var['user_name']))."'>{$this->var['user_name']}"; } else { return $this->var['user_name']; } } else { return LAN_PM_63.' '.$this->var['pm_to']; } } public function sc_pm_message() { return e107::getParser()->toHTML($this->var['pm_text'], true); } public function sc_pm_reply() { if($this->var['pm_to'] == USERID) { // pm_id is mapped insisde the config to id key $ret = "
var)."'> ".LAN_PM_54."    
"; return $ret; } } public function sc_pm_send_pm_link() { $pm_outbox = $this->pmManager->pm_getInfo('outbox'); if($pm_outbox['outbox']['filled'] < 100) { $link = $this->url('new'); return "".PM_SEND_LINK.""; } return ''; } public function sc_pm_newpm_animate() { if($this->pmPrefs['animate']) { $pm_inbox = $this->pmManager->pm_getInfo('inbox'); if($pm_inbox['inbox']['new'] > 0) { return NEWPM_ANIMATION; } } return ''; } public function sc_pm_nextprev($parm = '') { return e107::getParser()->parseTemplate("{NEXTPREV={$this->pmNextPrev['total']},{$this->pmPrefs['perpage']},{$this->pmNextPrev['start']},".e_SELF."?{$parm}.[FROM]}"); } public function sc_pm_blocked_senders_manage() { $sql = e107::getDb(); $count = $sql->db_Count('private_msg_block', '(*)', 'WHERE `pm_block_to` = '.USERID); if (!$count) return ''; return LAN_PM_66; } public function sc_pm_blocked_select() { return ""; } public function sc_pm_blocked_user($parm = '') { if (!$this->pmBlocked['user_name']) { return LAN_PM_72; } if('link' == $parm) { $url = e107::getUrl(); return " $this->pmBlocked['pm_block_from'], 'name' => $this->pmBlocked['user_name']))."'>{$this->pmBlocked['user_name']}"; } else { return $this->pmBlocked['user_name']; } } public function sc_pm_blocked_date($parm='') { require_once(e_HANDLER.'date_handler.php'); return convert::convert_date($this->pmBlocked['pm_block_datestamp'], $parm); } public function sc_pm_blocked_delete() { return " $this->pmBlocked['pm_block_from']))."'>".LAN_PM_52.""; } public function sc_pm_delete_blocked_selected() { return ""; } /** * Convinient url assembling shortcut */ public function url($action, $params = array(), $options = array()) { if($action == "new"){ $action = 'send'; } return e_PLUGIN."pm/pm.php?".$action; //FIXME if(strpos($action, '/') === false) $action = 'view/'.$action; e107::getUrl()->create('pm/'.$action, $params, $options); } } ?>