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 "var['pm_from'])."'>";
}
else
{
return "var['pm_from'])."'>";
}
}
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 "var['pm_id'])."'>";
}
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 = "
";
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']))."'>";
}
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);
}
}
?>