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