From 2036cc71720fe87900dd2fe8ed20cacc4055ad89 Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 31 Jan 2013 19:13:50 -0800 Subject: [PATCH] Private Message plugin working again to some extent. --- e107_plugins/pm/plugin.php | 99 ------------- e107_plugins/pm/plugin.xml | 20 +++ e107_plugins/pm/pm.php | 50 +++++-- e107_plugins/pm/pm_class.php | 9 +- e107_plugins/pm/pm_conf.php | 24 ++- e107_plugins/pm/pm_func.php | 4 +- e107_plugins/pm/pm_shortcodes.php | 209 +++++++++++++++------------ e107_plugins/pm/pm_template.php | 26 ++-- e107_plugins/pm/private_msg_menu.php | 41 ++++-- e107_plugins/pm/sendpm.sc | 10 +- 10 files changed, 246 insertions(+), 246 deletions(-) delete mode 100755 e107_plugins/pm/plugin.php diff --git a/e107_plugins/pm/plugin.php b/e107_plugins/pm/plugin.php deleted file mode 100755 index daeac6512..000000000 --- a/e107_plugins/pm/plugin.php +++ /dev/null @@ -1,99 +0,0 @@ -db_Delete("core", "e107_name = 'pm_prefs'"); - $sql->db_Delete("menus", "menu_name = 'private_msg_menu'"); - } -} - -?> diff --git a/e107_plugins/pm/plugin.xml b/e107_plugins/pm/plugin.xml index 777925a13..9ba557215 100755 --- a/e107_plugins/pm/plugin.xml +++ b/e107_plugins/pm/plugin.xml @@ -6,4 +6,24 @@ + + PMLAN_PM + 1 + 0 + 0 + 0 + 0 + + 10 + e_UC_MEMBER + e_UC_ADMIN + e_UC_MEMBER + e_UC_ADMIN + 500 + e_UC_ADMIN + e_UC_ADMIN + 1 + 0 + 100 + \ No newline at end of file diff --git a/e107_plugins/pm/pm.php b/e107_plugins/pm/pm.php index 45beba7c1..e9f6844ec 100755 --- a/e107_plugins/pm/pm.php +++ b/e107_plugins/pm/pm.php @@ -57,7 +57,9 @@ if (!$action) $action = 'inbox'; $pm_proc_id = intval(varset($qs[1],0)); -$pm_prefs = $sysprefs->getArray('pm_prefs'); +//$pm_prefs = $sysprefs->getArray('pm_prefs'); + +$pm_prefs = e107::getPlugPref('pm'); $pm_prefs['perpage'] = intval($pm_prefs['perpage']); @@ -74,9 +76,9 @@ if(!isset($pm_prefs['pm_class']) || !check_class($pm_prefs['pm_class'])) exit; } -setScVar('pm_handler_shortcodes','pmPrefs', $pm_prefs); +//setScVar('pm_handler_shortcodes','pmPrefs', $pm_prefs); $pmManager = new pmbox_manager($pm_prefs); -setScVar('pm_handler_shortcodes','pmManager', &$pmManager); +//setScVar('pm_handler_shortcodes','pmManager', &$pmManager); @@ -157,7 +159,11 @@ class pm_extended extends private_message include(is_readable($tpl_file) ? $tpl_file : e_PLUGIN.'pm/pm_template.php'); $pm_blocks = $this->block_get(); $pmlist = $this->pm_get_inbox(USERID, $start, $this->pmPrefs['perpage']); - setScVar('pm_handler_shortcodes', 'pmNextPrev', array('start' => $start, 'total' => $pmlist['total_messages'])); + // setScVar('pm_handler_shortcodes', 'pmNextPrev', array('start' => $start, 'total' => $pmlist['total_messages'])); + + $sc = e107::getScBatch('pm',TRUE); + $sc->pmNextPrev = array('start' => $start, 'total' => $pmlist['total_messages']); + $txt = "
"; $txt .= $this->e107->tp->parseTemplate($PM_INBOX_HEADER, true); if($pmlist['total_messages']) @@ -165,7 +171,10 @@ class pm_extended extends private_message foreach($pmlist['messages'] as $rec) { if(trim($rec['pm_subject']) == '') { $rec['pm_subject'] = '['.LAN_PM_61.']'; } - setScVar('pm_handler_shortcodes','pmInfo', $rec); + // setScVar('pm_handler_shortcodes','pmInfo', $rec); + $sc->setVars($rec); + + $txt .= $this->e107->tp->parseTemplate($PM_INBOX_TABLE, true); } } @@ -189,26 +198,34 @@ class pm_extended extends private_message */ function show_outbox($start = 0) { + $tp = e107::getParser(); + $tpl_file = THEME.'pm_template.php'; include(is_readable($tpl_file) ? $tpl_file : e_PLUGIN.'pm/pm_template.php'); $pmlist = $this->pm_get_outbox(USERID, $start, $this->pmPrefs['perpage']); - setScVar('pm_handler_shortcodes', 'pmNextPrev', array('start' => $start, 'total' => $pmlist['total_messages'])); + // setScVar('pm_handler_shortcodes', 'pmNextPrev', array('start' => $start, 'total' => $pmlist['total_messages'])); + + $sc = e107::getScBatch('pm',TRUE); + $sc->pmNextPrev = array('start' => $start, 'total' => $pmlist['total_messages']); + + $txt = ""; - $txt .= $this->e107->tp->parseTemplate($PM_OUTBOX_HEADER, true); + $txt .= $tp->parseTemplate($PM_OUTBOX_HEADER, true); if($pmlist['total_messages']) { foreach($pmlist['messages'] as $rec) { if(trim($rec['pm_subject']) == '') { $rec['pm_subject'] = '['.LAN_PM_61.']'; } - setScVar('pm_handler_shortcodes','pmInfo', $rec); - $txt .= $this->e107->tp->parseTemplate($PM_OUTBOX_TABLE, true); + // setScVar('pm_handler_shortcodes','pmInfo', $rec); + $sc->setVars($rec); + $txt .= $tp->parseTemplate($PM_OUTBOX_TABLE, true); } } else { - $txt .= $this->e107->tp->parseTemplate($PM_OUTBOX_EMPTY, true); + $txt .= $tp->parseTemplate($PM_OUTBOX_EMPTY, true); } - $txt .= $this->e107->tp->parseTemplate($PM_OUTBOX_FOOTER, true); + $txt .= $tp->parseTemplate($PM_OUTBOX_FOOTER, true); $txt .= '
'; return $txt; } @@ -227,7 +244,9 @@ class pm_extended extends private_message $tpl_file = THEME.'pm_template.php'; include_once(is_readable($tpl_file) ? $tpl_file : e_PLUGIN.'pm/pm_template.php'); $pm_info = $this->pm_get($pmid); - setScVar('pm_handler_shortcodes','pmInfo', $pm_info); + // setScVar('pm_handler_shortcodes','pmInfo', $pm_info); + $sc = e107::getScBatch('pm',TRUE); + $sc->setVars($pm_info); if($pm_info['pm_to'] != USERID && $pm_info['pm_from'] != USERID) { $this->e107->ns->tablerender(LAN_PM, LAN_PM_60); @@ -271,14 +290,17 @@ class pm_extended extends private_message $tpl_file = THEME.'pm_template.php'; include(is_readable($tpl_file) ? $tpl_file : e_PLUGIN.'pm/pm_template.php'); $pmBlocks = $this->block_get_user(); // TODO - handle pagination, maybe (is it likely to be necessary?) - setScVar('pm_handler_shortcodes','pmBlocks', $pmBlocks); + $sc = e107::getScBatch('pm',TRUE); + $sc->pmBlocks = $pmBlocks; + $txt = "
"; $txt .= $this->e107->tp->parseTemplate($PM_BLOCKED_HEADER, true); if($pmTotalBlocked = count($pmBlocks)) { foreach($pmBlocks as $pmBlocked) { - setScVar('pm_handler_shortcodes','pmBlocked', $pmBlocked); + $sc->pmBlocked = $pmBlocked; + // setScVar('pm_handler_shortcodes','pmBlocked', $pmBlocked); $txt .= $this->e107->tp->parseTemplate($PM_BLOCKED_TABLE, true); } } diff --git a/e107_plugins/pm/pm_class.php b/e107_plugins/pm/pm_class.php index e2328bad9..05e0d788b 100755 --- a/e107_plugins/pm/pm_class.php +++ b/e107_plugins/pm/pm_class.php @@ -607,6 +607,8 @@ class private_message */ function pm_get_outbox($uid = USERID, $from = 0, $limit = 10) { + $sql = e107::getDb(); + $ret = array(); $total_messages = 0; $uid = intval($uid); @@ -619,10 +621,11 @@ class private_message WHERE pm.pm_from='{$uid}' AND pm.pm_sent_del=0 ORDER BY pm.pm_sent DESC LIMIT ".$from.', '.$limit; - if($this->e107->sql->db_Select_gen($qry)) + + if($sql->db_Select_gen($qry)) { - $total_messages = $this->e107->sql->total_results; // Total number of messages - $ret['messages'] = $this->e107->sql->db_getList(); + $total_messages = $sql->total_results; // Total number of messages + $ret['messages'] = $sql->db_getList(); } $ret['total_messages'] = $total_messages; return $ret; diff --git a/e107_plugins/pm/pm_conf.php b/e107_plugins/pm/pm_conf.php index aef030285..04caf4dc7 100755 --- a/e107_plugins/pm/pm_conf.php +++ b/e107_plugins/pm/pm_conf.php @@ -62,9 +62,14 @@ if($action == '') } -$pm_prefs = $sysprefs->getArray('pm_prefs'); +// $pm_prefs = $sysprefs->getArray('pm_prefs'); +$pm_prefs = e107::getPlugPref('pm'); + + + //pm_prefs record not found in core table, set to defaults and create record +/* if(!is_array($pm_prefs)) { require_once(e_PLUGIN.'pm/pm_default.php'); @@ -73,9 +78,10 @@ if(!is_array($pm_prefs)) $emessage->add(ADLAN_PM_3, E_MESSAGE_INFO); $e107->admin_log->log_event('PM_ADM_01', ''); } - +*/ // Couple of bits of BC/upgrade +/* $savePMP = FALSE; if (isset($pref['pm_limits'])) { @@ -104,10 +110,10 @@ if (isset($pm_prefs['allow_userclass'])) if ($savePMP) { - $sysprefs->setArray('pm_prefs'); - $emessage->add(ADLAN_PM_80, E_MESSAGE_SUCCESS); + // $sysprefs->setArray('pm_prefs'); + // $emessage->add(ADLAN_PM_80, E_MESSAGE_SUCCESS); } - +*/ //include_lan(e_PLUGIN.'pm/languages/admin/'.e_LANGUAGE.'.php'); @@ -124,8 +130,10 @@ if (isset($_POST['update_prefs'])) } if ($e107->admin_log->logArrayDiffs($temp, $pm_prefs, 'PM_ADM_02')) { - $sysprefs->setArray('pm_prefs'); - $emessage->add(ADLAN_PM_4, E_MESSAGE_SUCCESS); + // $sysprefs->setArray('pm_prefs'); + //print_a($temp); + e107::getPlugConfig('pm')->setPref($temp)->save(); + // $emessage->add(ADLAN_PM_4, E_MESSAGE_SUCCESS); } else { @@ -210,7 +218,7 @@ if(isset($_POST['updatelimits'])) if($pm_prefs['pm_limits'] != $limitVal) { $pm_prefs['pm_limits'] = $limitVal; - $sysprefs->setArray('pm_prefs'); + //$sysprefs->setArray('pm_prefs'); $emessage->add(ADLAN_PM_8, E_MESSAGE_SUCCESS); } foreach(array_keys($_POST['inbox_count']) as $id) diff --git a/e107_plugins/pm/pm_func.php b/e107_plugins/pm/pm_func.php index c134abd21..faf701569 100755 --- a/e107_plugins/pm/pm_func.php +++ b/e107_plugins/pm/pm_func.php @@ -35,7 +35,9 @@ class pmbox_manager public function __construct($prefs) { $this->pmDB = e107::getDb(); - $this->pmPrefs = $prefs; + // $this->pmPrefs = $prefs; + + $this->pmPrefs = e107::getPlugPref('pm'); } diff --git a/e107_plugins/pm/pm_shortcodes.php b/e107_plugins/pm/pm_shortcodes.php index 20e0648ae..5b3bd558a 100755 --- a/e107_plugins/pm/pm_shortcodes.php +++ b/e107_plugins/pm/pm_shortcodes.php @@ -26,12 +26,12 @@ -if (!defined('e107_INIT')) { exit; } +//if (!defined('e107_INIT')) { exit; } include_lan(e_PLUGIN.'pm/languages/'.e_LANGUAGE.'.php'); include_once(e_PLUGIN.'pm/pm_func.php'); -register_shortcode('pm_handler_shortcodes', true); -initShortcodeClass('pm_handler_shortcodes'); +// register_shortcode('pm_handler_shortcodes', true); +// initShortcodeClass('pm_handler_shortcodes'); /* @@ -77,28 +77,30 @@ PM_BLOCKED_DELETE DELETE_BLOCKED_SELECTED */ - -class pm_handler_shortcodes +class pm_shortcodes extends e_shortcode +// class pm_handler_shortcodes { - protected $e107; public $pmPrefs; // PM system options - public $pmInfo; // Data relating to current PM being displayed + public $pmInfo; // Data relating to current PM being displayed - replaced by $var. public $pmBlocks = array(); // Array of blocked users. public $pmBlocked = array(); // Block info when using 'display blocked' page - public $nextPrev = array(); // Variables used by nextprev + public $nextPrev = array(); //XXX In USE ?? // Variables used by nextprev public $pmManager = NULL; // Pointer to pmbox_manager class instance + public $pmNextPrev = array(); + //public $var = array(); public function __construct() { - $this->e107 = e107::getInstance(); + $pm_prefs = e107::getPlugPref('pm'); + $this->pmManager = new pmbox_manager($pm_prefs); } public function sc_pm_form_touser() { - if(vartrue($this->pmInfo['from_name'])) + if(vartrue($this->var['from_name'])) { - return "{$this->pmInfo['from_name']}"; + return "{$this->var['from_name']}"; } require_once(e_HANDLER.'user_select_class.php'); $us = new user_select; @@ -109,14 +111,17 @@ class pm_handler_shortcodes } else { + $frm = e107::getForm(); + return $frm->text('pm_to','',10,'typeahead=users'); + $ret = $us->select_form($type, 'pm_to', '', $this->pmPrefs['pm_class']); } return $ret; } - public function sc_pm_form_toclass() + public function sc_pm_form_toclass() { - if(vartrue($this->pmInfo['from_name'])) + if(vartrue($this->var['from_name'])) { return ''; } @@ -136,12 +141,12 @@ class pm_handler_shortcodes } - public function sc_pm_form_subject() + public function sc_pm_form_subject() { $value = ''; - if(vartrue($this->pmInfo['pm_subject'])) + if(vartrue($this->var['pm_subject'])) { - $value = $this->pmInfo['pm_subject']; + $value = $this->var['pm_subject']; if(substr($value, 0, strlen(LAN_PM_58)) != LAN_PM_58) { $value = LAN_PM_58.$value; @@ -151,41 +156,41 @@ class pm_handler_shortcodes } - public function sc_pm_form_message() + public function sc_pm_form_message() { $value = ''; - if(vartrue($this->pmInfo['pm_text'])) + if(vartrue($this->var['pm_text'])) { if(isset($_POST['quote'])) { $t = time(); - $value = "[quote{$t}={$this->pmInfo['from_name']}]\n{$this->pmInfo['pm_text']}\n[/quote{$t}]\n\n"; + $value = "[quote{$t}={$this->var['from_name']}]\n{$this->var['pm_text']}\n[/quote{$t}]\n\n"; } } return ""; } - public function sc_pm_emotes() + public function sc_pm_emotes() { require_once(e_HANDLER.'emote.php'); return r_emote(); } - public function sc_pm_post_button() + public function sc_pm_post_button() { return ""; } - public function sc_pm_preview_button() + public function sc_pm_preview_button() { return ""; } - public function sc_pm_attachment() + public function sc_pm_attachment() { if (check_class($this->pmPrefs['attach_class'])) { @@ -203,25 +208,25 @@ class pm_handler_shortcodes } - public function sc_pm_attachment_icon() + public function sc_pm_attachment_icon() { - if($this->pmInfo['pm_attachments'] != "") + if($this->var['pm_attachments'] != "") { return ATTACHMENT_ICON; } } - public function sc_pm_attachments() + public function sc_pm_attachments() { - if($this->pmInfo['pm_attachments'] != '') + if($this->var['pm_attachments'] != '') { - $attachments = explode(chr(0), $this->pmInfo['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->pmInfo['pm_id'], 'index' => $i)); + $url = $this->url('action/get', array('id' => $this->var['pm_id'], 'index' => $i)); $ret .= "{$filename}
"; $i++; } @@ -231,7 +236,7 @@ class pm_handler_shortcodes } - public function sc_pm_receipt() + public function sc_pm_receipt() { if (check_class($this->pmPrefs['receipt_class'])) { @@ -241,114 +246,117 @@ class pm_handler_shortcodes } - public function sc_pm_inbox_total() + 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() + 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() + 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() + 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() + 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() + 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 = '') + public function sc_pm_date($parm = '') { require_once(e_HANDLER.'date_handler.php'); if('lapse' != $parm) { - return convert::convert_date($this->pmInfo['pm_sent'], $parm); + return convert::convert_date($this->var['pm_sent'], $parm); } else { - return convert::computeLapse($this->pmInfo['pm_sent']); + return convert::computeLapse($this->var['pm_sent']); } } - public function sc_pm_read($parm = '') + public function sc_pm_read($parm = '') { - if($this->pmInfo['pm_read'] == 0) + if($this->var['pm_read'] == 0) { return LAN_PM_27; } - if($this->pmInfo['pm_read'] == 1) + 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->pmInfo['pm_read'], $parm); + return convert::convert_date($this->var['pm_read'], $parm); } else { - return convert::computeLapse($this->pmInfo['pm_read']); + return convert::computeLapse($this->var['pm_read']); } } - public function sc_pm_from_to() + public function sc_pm_from_to() { - if($this->pmInfo['pm_from'] == USERID) + $tp = e107::getParser(); + + if($this->var['pm_from'] == USERID) { $ret = LAN_PM_2.':
'; - $this->pmInfo['user_name'] = $this->pmInfo['sent_name']; - $ret .= $this->e107->tp->parseTemplate("{PM_TO=link}"); + $this->var['user_name'] = $this->var['sent_name']; + $ret .= $tp->parseTemplate("{PM_TO=link}"); } else { $ret = LAN_PM_31.':
'; - $this->pmInfo['user_name'] = $this->pmInfo['from_name']; - $ret .= $this->e107->tp->parseTemplate("{PM_FROM=link}"); + $this->var['user_name'] = $this->var['from_name']; + $ret .= $tp->parseTemplate("{PM_FROM=link}"); } return $ret; } - public function sc_pm_subject($parm = '') + public function sc_pm_subject($parm = '') { - $ret = $this->e107->tp->toHTML($this->pmInfo['pm_subject'], true, 'USER_TITLE'); + $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]; - if($extra == 'inbox') $url = $this->url('message', 'id='.$this->pmInfo['pm_id']); - elseif($extra == 'outbox') $url = $this->url('sent', 'id='.$this->pmInfo['pm_id']); - else $url = $this->url('show', 'id='.$this->pmInfo['pm_id']); + 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.""; } @@ -356,28 +364,30 @@ class pm_handler_shortcodes } - public function sc_pm_from($parm = '') + public function sc_pm_from($parm = '') { + $url = e107::getUrl(); + if('link' == $parm) { - return " $this->pmInfo['pm_from'], 'name' => $this->pmInfo['user_name']))."'>{$this->pmInfo['user_name']}"; + return " $this->var['pm_from'], 'name' => $this->var['user_name']))."'>{$this->var['user_name']}"; } else { - return $this->pmInfo['user_name']; + return $this->var['user_name']; } } - public function sc_pm_select() + public function sc_pm_select() { - return ""; + return ""; } - public function sc_pm_read_icon() + public function sc_pm_read_icon() { - if($this->pmInfo['pm_read'] > 0 ) + if($this->var['pm_read'] > 0 ) { return PM_READ_ICON; } @@ -388,26 +398,26 @@ class pm_handler_shortcodes } - public function sc_pm_avatar() + public function sc_pm_avatar() { - return $this->e107->tp->parseTemplate("{USER_AVATAR={$this->pmInfo['user_image']}}"); + return e107::getParser()->parseTemplate("{USER_AVATAR={$this->var['user_image']}}"); } - public function sc_pm_block_user() + public function sc_pm_block_user() { - if(in_array($this->pmInfo['pm_from'], $this->pmBlocks)) + if(in_array($this->var['pm_from'], $this->pmBlocks)) { - return "".LAN_PM_51.""; + return "".LAN_PM_51.""; } else { - return "".LAN_PM_50.""; + return "".LAN_PM_50.""; } } - public function sc_pm_delete($parm = '') + public function sc_pm_delete($parm = '') { if($parm != '') { @@ -415,53 +425,54 @@ class pm_handler_shortcodes } else { - $extra = '.'.($this->pmInfo['pm_from'] == USERID ? 'outbox' : 'inbox'); + $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.""; + return "".LAN_PM_52.""; } - public function sc_pm_delete_selected() + public function sc_pm_delete_selected() { - return ""; + return ""; } - public function sc_pm_to($parm = '') + public function sc_pm_to($parm = '') { - if(is_numeric($this->pmInfo['pm_to'])) + if(is_numeric($this->var['pm_to'])) { if('link' == $parm) { - return " $this->pmInfo['pm_to'], 'name' => $this->pmInfo['user_name']))."'>{$this->pmInfo['user_name']}"; + $url = e107::getUrl(); + return " $this->var['pm_to'], 'name' => $this->var['user_name']))."'>{$this->var['user_name']}"; } else { - return $this->pmInfo['user_name']; + return $this->var['user_name']; } } else { - return LAN_PM_63.' '.$this->pmInfo['pm_to']; + return LAN_PM_63.' '.$this->var['pm_to']; } } - public function sc_pm_message() + public function sc_pm_message() { - return $this->e107->tp->toHTML($this->pmInfo['pm_text'], true); + return e107::getParser()->toHTML($this->var['pm_text'], true); } - public function sc_pm_reply() + public function sc_pm_reply() { - if($this->pmInfo['pm_to'] == USERID) + if($this->var['pm_to'] == USERID) { // pm_id is mapped insisde the config to id key $ret = " - pmInfo)."'> + var)."'> ".LAN_PM_54."    
"; @@ -470,7 +481,7 @@ class pm_handler_shortcodes } - public function sc_pm_send_pm_link() + public function sc_pm_send_pm_link() { $pm_outbox = $this->pmManager->pm_getInfo('outbox'); if($pm_outbox['outbox']['filled'] < 100) @@ -482,7 +493,7 @@ class pm_handler_shortcodes } - public function sc_pm_newpm_animate() + public function sc_pm_newpm_animate() { if($this->pmPrefs['animate']) { @@ -496,27 +507,28 @@ class pm_handler_shortcodes } - public function sc_pm_nextprev($parm = '') + public function sc_pm_nextprev($parm = '') { - return $this->e107->tp->parseTemplate("{NEXTPREV={$this->pmNextPrev['total']},{$this->pmPrefs['perpage']},{$this->pmNextPrev['start']},".e_SELF."?{$parm}.[FROM]}"); + 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() + public function sc_pm_blocked_senders_manage() { - $count = $this->e107->sql->db_Count('private_msg_block', '(*)', 'WHERE `pm_block_to` = '.USERID); + $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() + public function sc_pm_blocked_select() { return ""; } - public function sc_pm_blocked_user($parm = '') + public function sc_pm_blocked_user($parm = '') { if (!$this->pmBlocked['user_name']) { @@ -524,7 +536,9 @@ class pm_handler_shortcodes } if('link' == $parm) { - return " $this->pmBlocked['pm_block_from'], 'name' => $this->pmBlocked['user_name']))."'>{$this->pmBlocked['user_name']}"; + + $url = e107::getUrl(); + return " $this->pmBlocked['pm_block_from'], 'name' => $this->pmBlocked['user_name']))."'>{$this->pmBlocked['user_name']}"; } else { @@ -533,20 +547,20 @@ class pm_handler_shortcodes } - public function sc_pm_blocked_date($parm='') + 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() + public function sc_pm_blocked_delete() { return " $this->pmBlocked['pm_block_from']))."'>".LAN_PM_52.""; } - public function sc_pm_delete_blocked_selected() + public function sc_pm_delete_blocked_selected() { return ""; } @@ -556,8 +570,11 @@ class pm_handler_shortcodes */ 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; - $this->e107->url->create('pm/'.$action, $params, $options); + + e107::getUrl()->create('pm/'.$action, $params, $options); } } diff --git a/e107_plugins/pm/pm_template.php b/e107_plugins/pm/pm_template.php index 8d263a5aa..c1bbcf458 100755 --- a/e107_plugins/pm/pm_template.php +++ b/e107_plugins/pm/pm_template.php @@ -68,7 +68,7 @@ $sc_style['PM_REPLY']['post'] = " "; $PM_SEND_PM = "
- +
@@ -95,7 +95,7 @@ $PM_SEND_PM = "
"; $PM_INBOX_HEADER = " -
".LAN_PM_1.":
+
@@ -135,15 +135,18 @@ $PM_INBOX_FOOTER = " "; $PM_OUTBOX_HEADER = " -
   
+
+ - - - - - - + + + + + + + + "; $PM_OUTBOX_TABLE = " @@ -171,12 +174,13 @@ $PM_OUTBOX_FOOTER = " {PM_NEXTPREV=outbox} +
  ".LAN_PM_5."".LAN_PM_2."".LAN_PM_33."   ".LAN_PM_5."".LAN_PM_2."".LAN_PM_33." 
"; $PM_BLOCKED_HEADER = " - +
@@ -213,7 +217,7 @@ $PM_BLOCKED_FOOTER = " $PM_SHOW = "
-
  ".LAN_PM_68."
+
diff --git a/e107_plugins/pm/private_msg_menu.php b/e107_plugins/pm/private_msg_menu.php index b4b6b272e..ba3a8a0a8 100755 --- a/e107_plugins/pm/private_msg_menu.php +++ b/e107_plugins/pm/private_msg_menu.php @@ -25,17 +25,29 @@ if (!defined('e107_INIT')) { exit; } if (!e107::isInstalled('pm')) { return ''; } -global $sysprefs, $pm_prefs; -if(!isset($pm_prefs['perpage'])) -{ - $pm_prefs = $sysprefs->getArray('pm_prefs'); -} + + +$pm_prefs = e107::getPlugPref('pm'); +//global $sysprefs, $pm_prefs; + + + +//if(!isset($pm_prefs['perpage'])) +//{ +// $pm_prefs = $sysprefs->getArray('pm_prefs'); + +//} + require_once(e_PLUGIN.'pm/pm_func.php'); + e107::getScParser(); + require_once(e_PLUGIN.'pm/pm_shortcodes.php'); -setScVar('pm_handler_shortcodes','pmPrefs', $pm_prefs); + +//setScVar('pm_handler_shortcodes','pmPrefs', $pm_prefs); $pmManager = new pmbox_manager($pm_prefs); -setScVar('pm_handler_shortcodes','pmManager', $pmManager); + +//setScVar('pm_handler_shortcodes','pmManager', $pmManager); define('PM_INBOX_ICON', "".LAN_PM_25.""); define('PM_OUTBOX_ICON', "".LAN_PM_26.""); @@ -61,15 +73,16 @@ $sc_style['PM_BLOCKED_SENDERS_MANAGE']['post'] = ' ]'; if(!isset($pm_menu_template)) { + //FIXME URL Breaks $pm_menu_template = " - ".PM_INBOX_ICON." - ".LAN_PM_25." + ".PM_INBOX_ICON." + ".LAN_PM_25." {PM_NEWPM_ANIMATE}
{PM_INBOX_TOTAL} ".LAN_PM_36.", {PM_INBOX_UNREAD} ".LAN_PM_37." {PM_INBOX_FILLED}
- ".PM_OUTBOX_ICON." - ".LAN_PM_26."
+ ".PM_OUTBOX_ICON." + ".LAN_PM_26."
{PM_OUTBOX_TOTAL} ".LAN_PM_36.", {PM_OUTBOX_UNREAD} ".LAN_PM_37." {PM_OUTBOX_FILLED} {PM_SEND_PM_LINK} {PM_BLOCKED_SENDERS_MANAGE} @@ -80,12 +93,18 @@ if(!isset($pm_menu_template)) if(check_class($pm_prefs['pm_class'])) { $tp = e107::getParser(); + $sc = e107::getScBatch('pm',TRUE); + $pm_inbox = $pmManager->pm_getInfo('inbox'); + $txt = "\n".$tp->parseTemplate($pm_menu_template, TRUE); + if($pm_inbox['inbox']['new'] > 0 && $pm_prefs['popup'] && strpos(e_SELF, 'pm.php') === FALSE && $_COOKIE['pm-alert'] != 'ON') { + $txt .= pm_show_popup($pm_inbox, $pm_prefs['popup_delay']); } + $ns->tablerender(LAN_PM, $txt, 'pm'); } diff --git a/e107_plugins/pm/sendpm.sc b/e107_plugins/pm/sendpm.sc index d8258b826..108813f97 100644 --- a/e107_plugins/pm/sendpm.sc +++ b/e107_plugins/pm/sendpm.sc @@ -1,4 +1,6 @@ -/* +//getArray("pm_prefs"); +// global $sysprefs, $pm_prefs; +// $pm_prefs = $sysprefs->getArray("pm_prefs"); +$pm_prefs = e107::getPlugPref('pm'); + if(check_class($pm_prefs['pm_class'])) { if(file_exists(THEME.'forum/pm.png'))
{PM_SUBJECT}