diff --git a/e107_handlers/mysql_class.php b/e107_handlers/mysql_class.php
index 17804a534..e04a385fd 100644
--- a/e107_handlers/mysql_class.php
+++ b/e107_handlers/mysql_class.php
@@ -9,8 +9,8 @@
* mySQL Handler
*
* $Source: /cvs_backup/e107_0.8/e107_handlers/mysql_class.php,v $
- * $Revision: 1.35 $
- * $Date: 2009-01-09 16:22:08 $
+ * $Revision: 1.36 $
+ * $Date: 2009-01-10 04:39:54 $
* $Author: mcfly_e107 $
*/
@@ -44,7 +44,7 @@ $db_ConnectionID = NULL; // Stores ID for the first DB connection used - which s
* MySQL Abstraction class
*
* @package e107
-* @version $Revision: 1.35 $
+* @version $Revision: 1.36 $
* @author $Author: mcfly_e107 $
*/
class db {
@@ -415,7 +415,6 @@ class db {
unset($_tmp);
}
if(!isset($arg['data'])) { return false; }
- var_dump($arg);
$fieldTypes = $this->_getTypes($arg);
foreach ($arg['data'] as $fn => $fv)
diff --git a/e107_plugins/forum/forum_class.php b/e107_plugins/forum/forum_class.php
index f81646c97..bdb9ea4e0 100644
--- a/e107_plugins/forum/forum_class.php
+++ b/e107_plugins/forum/forum_class.php
@@ -9,8 +9,8 @@
* Message Handler
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/forum/forum_class.php,v $
- * $Revision: 1.36 $
- * $Date: 2009-01-09 16:22:08 $
+ * $Revision: 1.37 $
+ * $Date: 2009-01-10 04:39:54 $
* $Author: mcfly_e107 $
*
*/
@@ -155,6 +155,8 @@ class e107forum
$result = false;
$e107 = e107::getInstance();
+ $info = array();
+ $info['_FIELD_TYPES'] = $this->fieldTypes['forum_post'];
$info['data'] = $postInfo;
$postId = $e107->sql->db_Insert('forum_post', $info);
$forumInfo = array();
@@ -241,10 +243,7 @@ class e107forum
$info['data'] = $threadInfo;
if($newThreadId = $e107->sql->db_Insert('forum_thread', $info))
{
- $info = array();
- $info['_FIELD_TYPES'] = $this->fieldTypes['forum_post'];
- $info['data'] = $postInfo;
- $info['data']['post_thread'] = $newThreadId;
+ $postInfo['post_thread'] = $newThreadId;
$newPostId = $this->postAdd($postInfo, false);
$this->threadMarkAsRead($newThreadId);
return array('postid' => $newPostId, 'threadid' => $newThreadId);
diff --git a/e107_plugins/forum/forum_shortcodes.php b/e107_plugins/forum/forum_shortcodes.php
index 1ce805a89..658fada3f 100644
--- a/e107_plugins/forum/forum_shortcodes.php
+++ b/e107_plugins/forum/forum_shortcodes.php
@@ -1,347 +1,395 @@
e_sc -> parse_scbatch(__FILE__);
+
/*
-SC_BEGIN TOP
-return "".LAN_10."";
-SC_END
+$codes = array(
+'top','joined','threaddatestamp','post','postdeleted','attachments','privmessage',
+'avatar','anon_ip','ip','poster','emailimg','emailitem','signature','profileimg',
+'posts','visits','customtitle','website','websiteimg','editimg','quoteimg','reportimg',
+'rpg','memberid','level','modoptions','lastedit','lasteditby','poll','newflag'
+);
+*/
-SC_BEGIN JOINED
-global $postInfo, $gen;
-if ($postInfo['post_user'])
+$codes = array();
+$tmp = get_class_methods('forum_shortcodes');
+foreach($tmp as $c)
{
- return LAN_06.': '.$gen->convert_date($postInfo['user_join'], 'forum').'
';
-}
-SC_END
-
-SC_BEGIN THREADDATESTAMP
-global $postInfo, $gen;
-$e107 = e107::getInstance();
-return " 'post', 'id' => $postInfo['post_id']))."'>".IMAGE_post." ".$gen->convert_date($postInfo['post_datestamp'], 'forum');
-SC_END
-
-SC_BEGIN POST
-global $postInfo;
-$e107 = e107::getInstance();
-$emote = (isset($postInfo['post_options']['no_emote']) ? ',emotes_off' : '');
-return $e107->tp->toHTML($postInfo['post_entry'], true, 'USER_BODY'.$emote, 'class:'.$post_info['user_class']);
-SC_END
-
-SC_BEGIN POSTDELETED
-global $postInfo;
-if($postInfo['post_status'])
-{
- $info = unserialize($postInfo['post_options']);
- return "
- Post delete on: {$info['deldate']}
- reason: {$info['delreason']}
- ";
- $ret = '
'.print_r($info, true).'
';
-}
-SC_END
-
-SC_BEGIN ATTACHMENTS
-global $postInfo;
-$e107 = e107::getInstance();
-if($postInfo['post_attachments'])
-{
- $attachments = explode(',', $postInfo['post_attachments']);
- $txt = '';
- foreach($attachments as $a)
+ if(strpos($c, 'get_') === 0)
{
- $info = explode('*', $a);
- switch($info[0])
- {
- case 'file':
- $txt .= IMAGE_attachment." {$info[2]}
";
- break;
+ $codes[] = substr($c, 4);
+ }
+}
+register_shortcode('forum_shortcodes', $codes);
- case 'img':
- //if image has a thumb, show it and link to main
- if(isset($info[2]))
+class forum_shortcodes
+{
+
+ var $e107;
+
+ function forum_shortcodes()
+ {
+ $this->e107 = e107::getInstance();
+ }
+
+ function get_top()
+ {
+ return "".LAN_10.'';
+ }
+
+ function get_joined()
+ {
+ global $postInfo, $gen;
+ if ($postInfo['post_user'])
+ {
+ return LAN_06.': '.$gen->convert_date($postInfo['user_join'], 'forum').'
';
+ }
+ }
+
+ function get_threaddatestamp()
+ {
+ global $postInfo, $gen;
+ return " 'post', 'id' => $postInfo['post_id']))."'>".IMAGE_post." ".$gen->convert_date($postInfo['post_datestamp'], 'forum');
+ }
+
+ function get_post()
+ {
+ global $postInfo;
+ $emote = (isset($postInfo['post_options']['no_emote']) ? ',emotes_off' : '');
+ return $this->e107->tp->toHTML($postInfo['post_entry'], true, 'USER_BODY'.$emote, 'class:'.$post_info['user_class']);
+ }
+
+ function get_postdeleted()
+ {
+ global $postInfo;
+ if($postInfo['post_status'])
+ {
+ $info = unserialize($postInfo['post_options']);
+ return "
+ Post delete on: {$info['deldate']}
+ reason: {$info['delreason']}
+ ";
+ $ret = ''.print_r($info, true).'
';
+ }
+ }
+
+ function get_attachments()
+ {
+ global $postInfo;
+ if($postInfo['post_attachments'])
+ {
+ $attachments = explode(',', $postInfo['post_attachments']);
+ $txt = '';
+ foreach($attachments as $a)
+ {
+ $info = explode('*', $a);
+ switch($info[0])
{
- $txt .= "
";
+ case 'file':
+ $txt .= IMAGE_attachment." {$info[2]}
";
+ break;
+
+ case 'img':
+ //if image has a thumb, show it and link to main
+ if(isset($info[2]))
+ {
+ $txt .= "
";
+ }
+ else
+ {
+ $txt .= "
";
+ }
+ }
+ }
+ return $txt;
+ }
+
+ }
+
+ function get_privmessage()
+ {
+ global $postInfo;
+ if(plugInstalled('pm') && ($postInfo['post_user'] > 0))
+ {
+ return $this->e107->tp->parseTemplate("{SENDPM={$postInfo['post_user']}}");
+ }
+ }
+
+ function get_avatar()
+ {
+ global $postInfo;
+ if ($postInfo['post_user'])
+ {
+ if(!$avatar = getcachedvars('forum_avatar_'.$postInfo['post_user']))
+ {
+ if ($postInfo['user_image'])
+ {
+ require_once(e_HANDLER.'avatar_handler.php');
+ $avatar = "
";
}
else
{
- $txt .= "
";
+ $avatar = '';
}
+ cachevars('forum_avatar_'.$postInfo['post_user'], $avatar);
+ }
+ return $avatar;
+ }
+ return '';
+
+ }
+
+ function get_anon_ip()
+ {
+ global $postInfo;
+ if($postInfo['post_user_anon'] && (ADMIN || MODERATOR))
+ {
+ return $this->e107->ipDecode($postInfo['post_ip']);
}
}
- return $txt;
-}
-SC_END
-SC_BEGIN PRIVMESSAGE
-global $postInfo, $tp;
-if(plugInstalled('pm') && ($postInfo['post_user'] > 0))
-{
- return $tp->parseTemplate("{SENDPM={$postInfo['post_user']}}");
-}
-SC_END
-
-SC_BEGIN AVATAR
-global $postInfo;
-if ($postInfo['post_user'])
-{
- if(!$avatar = getcachedvars('forum_avatar_'.$postInfo['post_user']))
+ function get_ip()
{
- if ($postInfo['user_image'])
+ global $postInfo;
+ if((ADMIN || MODERATOR) && !$postInfo['user_admin'])
{
- require_once(e_HANDLER.'avatar_handler.php');
- $avatar = "
";
+ return $this->e107->ipDecode($postInfo['post_ip']);
+ }
+
+ }
+
+ function get_poster()
+ {
+ global $postInfo;
+ if($postInfo['user_name'])
+ {
+ return " 'profile', 'id' => $postInfo['post_user']))."'>{$postInfo['user_name']}";
}
else
{
- $avatar = '';
+ return ''.$this->e107->tp->toHTML($postInfo['post_user_anon']).'';
}
- cachevars('forum_avatar_'.$postInfo['post_user'], $avatar);
+
}
- return $avatar;
-}
-return '';
-SC_END
-SC_BEGIN ANON_IP
-global $postInfo;
-$e107 = e107::getInstance();
-if($postInfo['post_user_anon'] && (ADMIN || MODERATOR))
-{
- return $e107->ipDecode($postInfo['post_ip']);
-}
-SC_END
-
-SC_BEGIN IP
-global $postInfo;
-$e107 = e107::getInstance();
-if((ADMIN || MODERATOR) && !$postInfo['user_admin'])
-{
- return $e107->ipDecode($postInfo['post_ip']);
-}
-SC_END
-
-SC_BEGIN POSTER
-global $postInfo;
-$e107 = e107::getInstance();
-if($postInfo['user_name'])
-{
- return " 'profile', 'id' => $postInfo['post_user']))."'>{$postInfo['user_name']}";
-}
-else
-{
- return ''.$e107->tp->toHTML($postInfo['post_user_anon']).'';
-}
-SC_END
-
-SC_BEGIN EMAILIMG
-global $postInfo;
-$e107 = e107::getInstance();
-if($postInfo['user_name'])
-{
- return (!$post_info['user_hideemail'] ? $e107->tp->parseTemplate("{EMAILTO={$postInfo['user_email']}}") : '');
-}
-return '';
-SC_END
-
-SC_BEGIN EMAILITEM
-global $postInfo, $tp;
-if($postInfo['thread_start'])
-{
- return $tp->parseTemplate("{EMAIL_ITEM=".FORLAN_101."^plugin:forum.{$postInfo['post_thread']}}");
-}
-SC_END
-
-SC_BEGIN PRINTITEM
-global $postInfo, $tp;
-if($postInfo['thread_start'])
-{
- return $tp->parseTemplate("{PRINT_ITEM=".FORLAN_102."^plugin:forum.{$postInfo['post_thread']}}");
-}
-SC_END
-
-SC_BEGIN SIGNATURE
-if(!USER) { return ''; }
-global $postInfo, $pref;
-static $forum_sig_shown;
-$e107 = e107::getInstance();
-//$pref['forum_sig_once'] = true;
-if(varsettrue($pref['forum_sig_once']))
-{
- $_tmp = 'forum_sig_shown_'.$postInfo['post_user'];
- if(getcachedvars($_tmp)) { return ''; }
- cachevars($_tmp, 1);
-}
-return ($postInfo['user_signature'] ? "
".$e107->tp->toHTML($postInfo['user_signature'], true).'' : '');
-SC_END
-
-SC_BEGIN PROFILEIMG
-global $postInfo, $tp;
-if (USER && $postInfo['user_name'])
-{
- return $tp->parseTemplate("{PROFILE={$postInfo['post_user']}}");
-}
-SC_END
-
-SC_BEGIN POSTS
-global $postInfo;
-if ($postInfo['post_user'])
-{
- return LAN_67.': '.(int)$postInfo['user_plugin_forum_posts'].'
';
-}
-SC_END
-
-SC_BEGIN VISITS
-global $postInfo;
-if ($postInfo['user_name'])
-{
-return LAN_09.': '.$postInfo['user_visits'].'
';
-}
-SC_END
-
-SC_BEGIN CUSTOMTITLE
-global $postInfo;
-$e107 = e107::getInstance();
-if ($postInfo['user_customtitle'])
-{
- return $e107->tp->toHTML($postInfo['user_customtitle']).'
';
-}
-SC_END
-
-SC_BEGIN WEBSITE
-global $postInfo, $tp;
-if ($postInfo['user_homepage']) {
-return LAN_08.': '.$postInfo['user_homepage'].'
';
-}
-SC_END
-
-SC_BEGIN WEBSITEIMG
-global $postInfo;
-if ($postInfo['user_homepage'] && $postInfo['user_homepage'] != 'http://')
-{
- return "".IMAGE_website.'';
-}
-SC_END
-
-SC_BEGIN EDITIMG
-global $postInfo, $threadInfo;
-$e107 = e107::getInstance();
-if (USER && $postInfo['post_user'] == USERID && $threadInfo['thread_active'])
-{
- return " 'edit', 'id' => $postInfo['post_id']))."'>".IMAGE_edit.' ';
-}
-SC_END
-
-SC_BEGIN QUOTEIMG
-global $postInfo, $forum;
-$e107 = e107::getInstance();
-if($forum->checkperm($postInfo['post_forum'], 'post'))
-{
- return " 'quote', 'id' => $postInfo['post_id']))."'>".IMAGE_quote.' ';
-}
-SC_END
-
-SC_BEGIN REPORTIMG
-global $postInfo, $page;
-if (USER) {
- $e107 = e107::getInstance();
- return "".IMAGE_report.' ';
-}
-SC_END
-
-SC_BEGIN RPG
-global $postInfo;
-return rpg($postInfo['user_join'],$postInfo['user_plugin_forum_posts']);
-SC_END
-
-SC_BEGIN MEMBERID
-global $post_info, $ldata, $pref, $forum_info;
-if ($post_info['anon']) {
-return "";
-}
-
-$fmod = ($post_info['user_class'] != "" && check_class($forum_info['forum_moderators'], $post_info['user_class'], TRUE));
-if(!$fmod && $forum_info['forum_moderators'] == e_UC_ADMIN)
-{
- $fmod = $post_info['user_admin'];
-}
-if (!array_key_exists($post_info['user_id'],$ldata)) {
- $ldata[$post_info['user_id']] = get_level($post_info['user_id'], $post_info['user_forums'], $post_info['user_comments'], $post_info['user_chats'], $post_info['user_visits'], $post_info['user_join'], $post_info['user_admin'], $post_info['user_perms'], $pref, $fmod);
-}
-return $ldata[$post_info['user_id']][0];
-SC_END
-
-SC_BEGIN LEVEL
-global $post_info, $ldata, $pref, $forum_info;
-if ($post_info['anon']) {
-return "";
-}
-$fmod = ($post_info['user_class'] != "" && check_class($forum_info['forum_moderators'], $post_info['user_class'], TRUE));
-if(!$fmod && $forum_info['forum_moderators'] == e_UC_ADMIN)
-{
- $fmod = $post_info['user_admin'];
-}
-if (!array_key_exists($post_info['user_id'],$ldata)) {
-$ldata[$post_info['user_id']] = get_level($post_info['user_id'], $post_info['user_forums'], $post_info['user_comments'], $post_info['user_chats'], $post_info['user_visits'], $post_info['user_join'], $post_info['user_admin'], $post_info['user_perms'], $pref, $fmod);
-}
-if($parm == 'pic')
-{
-return $ldata[$post_info['user_id']]['pic'];
-}
-if($parm == 'name')
-{
-return $ldata[$post_info['user_id']]['name'];
-}
-if($parm == 'special')
-{
-return $ldata[$post_info['user_id']]['special'];
-}
-if($parm == 'userid')
-{
-return $ldata[$post_info['user_id']]['userid'];
-}
-return $ldata[$post_info['user_id']][1];
-SC_END
-
-SC_BEGIN MODOPTIONS
-if (MODERATOR)
-{
- return showmodoptions();
-}
-SC_END
-
-SC_BEGIN LASTEDIT
-global $postInfo, $gen;
-//var_dump($postInfo);
-if ($postInfo['post_edit_datestamp'])
-{
- return $gen->convert_date($postInfo['post_edit_datestamp'],'forum');
-}
-SC_END
-
-SC_BEGIN LASTEDITBY
-global $postInfo;
-if(isset($postInfo['edit_name']))
-{
- if($parm == 'link')
+ function get_emailimg()
{
- $e107 = e107::getInstance();
- $url = $e107->url->getUrl('core:user', 'main', 'func=profile&id='.$postInfo['post_edit_user']);
- return "{$postInfo['edit_name']}";
+ global $postInfo;
+ if($postInfo['user_name'])
+ {
+ return (!$post_info['user_hideemail'] ? $this->e107->tp->parseTemplate("{EMAILTO={$postInfo['user_email']}}") : '');
+ }
+ return '';
+
+ }
+
+ function get_emailitem()
+ {
+ if($postInfo['thread_start'])
+ {
+ return $this->e107->tp->parseTemplate("{EMAIL_ITEM=".FORLAN_101."^plugin:forum.{$postInfo['post_thread']}}");
+ }
+ }
+
+ function get_printitem()
+ {
+ global $postInfo;
+ if($postInfo['thread_start'])
+ {
+ return $this->e107->tp->parseTemplate("{PRINT_ITEM=".FORLAN_102."^plugin:forum.{$postInfo['post_thread']}}");
+ }
+ }
+
+ function get_signature()
+ {
+ if(!USER) { return ''; }
+ global $postInfo, $pref;
+ static $forum_sig_shown;
+ if(varsettrue($pref['forum_sig_once']))
+ {
+ $_tmp = 'forum_sig_shown_'.$postInfo['post_user'];
+ if(getcachedvars($_tmp)) { return ''; }
+ cachevars($_tmp, 1);
+ }
+ return ($postInfo['user_signature'] ? "
".$this->e107->tp->toHTML($postInfo['user_signature'], true).'' : '');
+
+ }
+
+ function get_profileimg()
+ {
+ global $postInfo;
+ if (USER && $postInfo['user_name'])
+ {
+ return $this->e107->tp->parseTemplate("{PROFILE={$postInfo['post_user']}}");
+ }
+ }
+
+ function get_posts()
+ {
+ global $postInfo;
+ if ($postInfo['post_user'])
+ {
+ return LAN_67.': '.(int)$postInfo['user_plugin_forum_posts'].'
';
+ }
+ }
+
+ function get_visits()
+ {
+ global $postInfo;
+ if ($postInfo['user_name'])
+ {
+ return LAN_09.': '.$postInfo['user_visits'].'
';
+ }
+ }
+
+ function get_customtitle()
+ {
+ global $postInfo;
+ if ($postInfo['user_customtitle'])
+ {
+ return $this->e107->tp->toHTML($postInfo['user_customtitle']).'
';
+ }
+ }
+
+ function get_website()
+ {
+ global $postInfo;
+ if ($postInfo['user_homepage']) {
+ return LAN_08.': '.$postInfo['user_homepage'].'
';
+ }
+ }
+
+ function get_websiteimg()
+ {
+ global $postInfo;
+ if ($postInfo['user_homepage'] && $postInfo['user_homepage'] != 'http://')
+ {
+ return "".IMAGE_website.'';
+ }
+ }
+
+ function get_editimg()
+ {
+ global $postInfo, $threadInfo;
+ if (USER && $postInfo['post_user'] == USERID && $threadInfo['thread_active'])
+ {
+ return " 'edit', 'id' => $postInfo['post_id']))."'>".IMAGE_edit.' ';
+ }
+ }
+
+ function get_quoteimg()
+ {
+ global $postInfo, $forum;
+ if($forum->checkperm($postInfo['post_forum'], 'post'))
+ {
+ return " 'quote', 'id' => $postInfo['post_id']))."'>".IMAGE_quote.' ';
+ }
+ }
+
+ function get_reportimg()
+ {
+ global $postInfo, $page;
+ if (USER) {
+ return "".IMAGE_report.' ';
+ }
+ }
+
+ function get_rpg()
+ {
+ global $postInfo;
+ return rpg($postInfo['user_join'],$postInfo['user_plugin_forum_posts']);
+ }
+
+ function get_memberid()
+ {
+ global $post_info, $ldata, $pref, $forum_info;
+ if ($post_info['anon']) { return ''; }
+
+ $fmod = ($post_info['user_class'] != '' && check_class($forum_info['forum_moderators'], $post_info['user_class'], TRUE));
+ if(!$fmod && $forum_info['forum_moderators'] == e_UC_ADMIN)
+ {
+ $fmod = $post_info['user_admin'];
+ }
+ if (!array_key_exists($post_info['user_id'],$ldata)) {
+ $ldata[$post_info['user_id']] = get_level($post_info['user_id'], $post_info['user_forums'], $post_info['user_comments'], $post_info['user_chats'], $post_info['user_visits'], $post_info['user_join'], $post_info['user_admin'], $post_info['user_perms'], $pref, $fmod);
+ }
+ return $ldata[$post_info['user_id']][0];
+
+ }
+
+ function get_level()
+ {
+ global $post_info, $ldata, $pref, $forum_info;
+ if ($post_info['anon']) { return ''; }
+ $fmod = ($post_info['user_class'] != "" && check_class($forum_info['forum_moderators'], $post_info['user_class'], TRUE));
+ if(!$fmod && $forum_info['forum_moderators'] == e_UC_ADMIN)
+ {
+ $fmod = $post_info['user_admin'];
+ }
+ if (!array_key_exists($post_info['user_id'],$ldata)) {
+ $ldata[$post_info['user_id']] = get_level($post_info['user_id'], $post_info['user_forums'], $post_info['user_comments'], $post_info['user_chats'], $post_info['user_visits'], $post_info['user_join'], $post_info['user_admin'], $post_info['user_perms'], $pref, $fmod);
+ }
+ if($parm == 'pic')
+ {
+ return $ldata[$post_info['user_id']]['pic'];
+ }
+ if($parm == 'name')
+ {
+ return $ldata[$post_info['user_id']]['name'];
+ }
+ if($parm == 'special')
+ {
+ return $ldata[$post_info['user_id']]['special'];
+ }
+ if($parm == 'userid')
+ {
+ return $ldata[$post_info['user_id']]['userid'];
+ }
+ return $ldata[$post_info['user_id']][1];
+
+ }
+
+ function get_modoptions()
+ {
+ if (MODERATOR)
+ {
+ return showmodoptions();
+ }
+ }
+
+ function get_lastedit()
+ {
+ global $postInfo, $gen;
+ if ($postInfo['post_edit_datestamp'])
+ {
+ return $gen->convert_date($postInfo['post_edit_datestamp'],'forum');
+ }
+ }
+
+ function get_lasteditby()
+ {
+ global $postInfo;
+ if(isset($postInfo['edit_name']))
+ {
+ if($parm == 'link')
+ {
+ $e107 = e107::getInstance();
+ $url = $e107->url->getUrl('core:user', 'main', 'func=profile&id='.$postInfo['post_edit_user']);
+ return "{$postInfo['edit_name']}";
+ }
+ return $postInfo['edit_name'];
+ }
+ }
+
+ function get_poll()
+ {
+ global $pollstr;
+ return $pollstr;
+ }
+
+ function get_newflag()
+ {
+ // Defined in case an indicator is required
+ return '';
}
- return $postInfo['edit_name'];
}
-SC_END
-
-SC_BEGIN POLL
-global $pollstr;
-return $pollstr;
-SC_END
-
-SC_BEGIN NEWFLAG
-// Defined in case an indicator is required
-return '';
-SC_END
-
-*/
?>
\ No newline at end of file