Cash mod posting error

  Post new topicReply to topicPrintable Version
<< View previous topic View next topic >>
Share: Del.icio.us  Digg  Google  Spurl  Blink  Furl  Y! MyWeb  
#1   Cash mod posting error
scz74
CZ Active Member
scz74 has been a member for over 20 year's 20 Year Member
philippines.gif
Age: 50
Gender: Male
Website:
Status: Offline
Joined: Aug 15, 2004
0.02 posts per day
Posts: 145
Points: 7,972
   
hi telli, i have a problem with the cash mod and i cant find a fix in this forum and anor's forum. im having this error while trying to post

Fatal error: Call to a member function on a non-object in /home/zamucos/public_html/Nuke/includes/functions_post.php on line 257



Back to top Reply with quote
#2   
Telli
Site Admin
Occupation: Self Employed
Age: 46
Gender: Male
Fav. Sports Team: Detroit Red Wings
Website:
Status: Offline
Joined: May 26, 2003
1.03 posts per day
Posts: 8089
Points: 494,475
   
Paste the 100 lines above and below line 257.




_________________
The path of the righteous man is beset on all sides by the inequities of the selfish and the tyranny of evil men. Blessed is he, who in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy my brothers. And you will know my name is the Lord when I lay my vengeance upon thee. Ezekiel 25:17
Back to top Reply with quote
#3   re: Cash mod posting error
scz74
CZ Active Member
scz74 has been a member for over 20 year's 20 Year Member
philippines.gif
Age: 50
Gender: Male
Website:
Status: Offline
Joined: Aug 15, 2004
0.02 posts per day
Posts: 145
Points: 7,972
   
Hi telli here is the code to my functions_post.php :


<?php
/***************************************************************************
*                            functions_post.php
*                            -------------------
*   begin                : Saturday, Feb 13, 2001
*   copyright            : (C) 2001 The phpBB Group
*   email                : [ Register or login to view links on this board. ]
*
*   $Id: functions_post.php,v 1.9.2.35 2003/06/09 19:35:56 psotfx Exp $
*
*
***************************************************************************/
/***************************************************************************
* phpbb2 forums port version 2.0.5 (c) 2003 - Nuke Cops (http://nukecops.com)
*
* Ported by Nuke Cops to phpbb2 standalone 2.0.5 Test
* and debugging completed by the Elite Nukers and site members.
*
* You run this package at your sole risk. Nuke Cops and affiliates cannot
* be held liable if anything goes wrong. You are advised to test this
* package on a development system. Backup everything before implementing
* in a production environment. If something goes wrong, you can always
* backout and restore your backups.
*
* Installing and running this also means you agree to the terms of the AUP
* found at Nuke Cops.
*
* This is version 2.0.5 of the phpbb2 forum port for PHP-Nuke. Work is based
* on Tom Nitzschner's forum port version 2.0.6. Tom's 2.0.6 port was based
* on the phpbb2 standalone version 2.0.3. Our version 2.0.5 from Nuke Cops is
* now reflecting phpbb2 standalone 2.0.5 that fixes some bugs and the
* invalid_session error message.
***************************************************************************/
/***************************************************************************
*   This file is part of the phpBB2 port to Nuke 6.0 (c) copyright 2002
*   by Tom Nitzschner (tom@toms-home.com)
*   http://bbtonuke.sourceforge.net (or http://www.toms-home.com)
*
*   As always, make a backup before messing with anything. All code
*   release by me is considered sample code only. It may be fully
*   functual, but you use it at your own risk, if you break it,
*   you get to fix it too. No waranty is given or implied.
*
*   Please post all questions/request about this port on http://bbtonuke.sourceforge.net first,
*   then on my site. All original header code and copyright messages will be maintained
*   to give credit where credit is due. If you modify this, the only requirement is
*   that you also maintain all original copyright messages. All my work is released
*   under the GNU GENERAL PUBLIC LICENSE. Please see the README for more information.
*
***************************************************************************/
/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

if (!defined('IN_PHPBB'))
{
        die('Hacking attempt');
}

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#');
$html_entities_replace = array('&amp;', '&lt;', '&gt;');

$unhtml_specialchars_match = array('#&gt;#', '#&lt;#', '#&quot;#', '#&amp;#');
$unhtml_specialchars_replace = array('>', '<', '"', '&');

//
// This function will prepare a posted message for
// entry into the database.
//
function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0)
{
        global $board_config, $html_entities_match, $html_entities_replace;

        //
        // Clean up the message
        //
        $message = trim($message);

        if ($html_on)
        {
                $allowed_html_tags = split(',', $board_config['allow_html_tags']);

                $end_html = 0;
                $start_html = 1;
                $tmp_message = '';
                $message = ' ' . $message . ' ';

                while ($start_html = strpos($message, '<', $start_html))
                {
                        $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1, ($start_html - $end_html - 1)));

                        if ($end_html = strpos($message, '>', $start_html))
                        {
                                $length = $end_html - $start_html + 1;
                                $hold_string = substr($message, $start_html, $length);

                                if (($unclosed_open = strrpos(' ' . $hold_string, '<')) != 1)
                                {
                                        $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($hold_string, 0, $unclosed_open - 1));
                                        $hold_string = substr($hold_string, $unclosed_open - 1);
                                }

                                $tagallowed = false;
                                for ($i = 0; $i < sizeof($allowed_html_tags); $i++)
                                {
                                        $match_tag = trim($allowed_html_tags[$i]);
                                        if (preg_match('#^<\/?' . $match_tag . '[> ]#i', $hold_string))
                                        {
                                                $tagallowed = (preg_match('#^<\/?' . $match_tag . ' .*?(style[ ]*?=|on[\w]+[ ]*?=)#i', $hold_string)) ? false : true;
                                        }
                                }

                                $tmp_message .= ($length && !$tagallowed) ? preg_replace($html_entities_match, $html_entities_replace, $hold_string) : $hold_string;

                                $start_html += $length;
                        }
                        else
                        {
                                $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, strlen($message)));

                                $start_html = strlen($message);
                                $end_html = $start_html;
                        }
                }

                if ($end_html != strlen($message) && $tmp_message != '')
                {
                        $tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1));
                }

                $message = ($tmp_message != '') ? trim($tmp_message) : trim($message);
        }
        else
        {
                $message = preg_replace($html_entities_match, $html_entities_replace, $message);
        }

        if($bbcode_on && $bbcode_uid != '')
        {
                $message = bbencode_first_pass($message, $bbcode_uid);
        }

        return $message;
}

function unprepare_message($message)
{
        global $unhtml_specialchars_match, $unhtml_specialchars_replace;

        return preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $message);
}

//
// Prepare a message for posting
//
function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$username, &$bbcode_uid, &$subject, &$message, &$poll_title, &$poll_options, &$poll_length)
{
        global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path;

        // Check username
        if (!empty($username))
        {
                $username = trim(strip_tags($username));

                if (!$userdata['session_logged_in'] || ($userdata['session_logged_in'] && $username != $userdata['username']))
                {
                        include("includes/functions_validate.php");

                        $result = validate_username($username);
                        if ($result['error'])
                        {
                                $error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg'];
                        }
                }
                else
                {
                        $username = '';
                }
        }

        // Check subject
        if (!empty($subject))
        {
                $subject = htmlspecialchars(trim($subject));
        }
        else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
        {
                $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject'];
        }

        // Check message
        if (!empty($message))
        {
                $bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : '';
                $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
        }
        else if ($mode != 'delete' && $mode != 'poll_delete')
        {
                $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
        }

        //
        // Handle poll stuff
        //
        if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
        {
                $poll_length = (isset($poll_length)) ? max(0, intval($poll_length)) : 0;

                if (!empty($poll_title))
                {
                        $poll_title = htmlspecialchars(trim($poll_title));
                }

                if(!empty($poll_options))
                {
                        $temp_option_text = array();
                        while(list($option_id, $option_text) = @each($poll_options))
                        {
                                $option_text = trim($option_text);
                                if (!empty($option_text))
                                {
                                        $temp_option_text[$option_id] = htmlspecialchars($option_text);
                                }
                        }
                        $option_text = $temp_option_text;

                        if (count($poll_options) < 2)
                        {
                                $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_few_poll_options'] : $lang['To_few_poll_options'];
                        }
                        else if (count($poll_options) > $board_config['max_poll_options'])
                        {
                                $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_many_poll_options'] : $lang['To_many_poll_options'];
                        }
                        else if ($poll_title == '')
                        {
                                $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_poll_title'] : $lang['Empty_poll_title'];
                        }
                }
        }

        return;
}

//
// Post a new topic/reply/poll or edit existing post/poll
//
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length)
{
        global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
        global $userdata, $user_ip;

        include("includes/functions_search.php");

        $current_time = time();

        if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost')
        {
                //
                // Flood control
                //
                $where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
                $sql = "SELECT MAX(post_time) AS last_post_time
                        FROM " . POSTS_TABLE . "
                        WHERE $where_sql";
                if ($result = $db->sql_query($sql))
                {
                        if ($row = $db->sql_fetchrow($result))
                        {
                                if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
                                {
                                        message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
                                }
                        }
                }
                if ( $mode == 'newtopic' ) { update_points(10); }
                if ( $mode == 'reply' ) { update_points(11); }
        }

        if ($mode == 'editpost')
        {
                remove_search_post($post_id);
        }

        if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
        {
                $topic_vote = (!empty($poll_title) && count($poll_options) >= 2) ? 1 : 0;

                $sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
                }

                if ($mode == 'newtopic')
                {
                        $topic_id = $db->sql_nextid();
                }
        }

        $edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
        $sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
        if (!$db->sql_query($sql, BEGIN_TRANSACTION))
        {
                message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }

        if ($mode != 'editpost')
        {
                $post_id = $db->sql_nextid();
        }

        $sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id";
        if (!$db->sql_query($sql))
        {
                message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }

        add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject));

        //
        // Add poll
        //
        if (($mode == 'newtopic' || ($mode == 'editpost' && $post_data['edit_poll'])) && !empty($poll_title) && count($poll_options) >= 2)
        {
                $sql = (!$post_data['has_poll']) ? "INSERT INTO " . VOTE_DESC_TABLE . " (topic_id, vote_text, vote_start, vote_length) VALUES ($topic_id, '$poll_title', $current_time, " . ($poll_length * 86400) . ")" : "UPDATE " . VOTE_DESC_TABLE . " SET vote_text = '$poll_title', vote_length = " . ($poll_length * 86400) . " WHERE topic_id = $topic_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
                }

                $delete_option_sql = '';
                $old_poll_result = array();
                if ($mode == 'editpost' && $post_data['has_poll'])
                {
                        $sql = "SELECT vote_option_id, vote_result
                                FROM " . VOTE_RESULTS_TABLE . "
                                WHERE vote_id = $poll_id
                                ORDER BY vote_option_id ASC";
                        if (!($result = $db->sql_query($sql)))
                        {
                                message_die(GENERAL_ERROR, 'Could not obtain vote data results for this topic', '', __LINE__, __FILE__, $sql);
                        }

                        while ($row = $db->sql_fetchrow($result))
                        {
                                $old_poll_result[$row['vote_option_id']] = $row['vote_result'];

                                if (!isset($poll_options[$row['vote_option_id']]))
                                {
                                        $delete_option_sql .= ($delete_option_sql != '') ? ', ' . $row['vote_option_id'] : $row['vote_option_id'];
                                }
                        }
                }
                else
                {
                        $poll_id = $db->sql_nextid();
                }

                @reset($poll_options);

                $poll_option_id = 1;
                while (list($option_id, $option_text) = each($poll_options))
                {
                        if (!empty($option_text))
                        {
                                $option_text = str_replace("\'", "''", htmlspecialchars($option_text));
                                $poll_result = ($mode == "editpost" && isset($old_poll_result[$option_id])) ? $old_poll_result[$option_id] : 0;

                                $sql = ($mode != "editpost" || !isset($old_poll_result[$option_id])) ? "INSERT INTO " . VOTE_RESULTS_TABLE . " (vote_id, vote_option_id, vote_option_text, vote_result) VALUES ($poll_id, $poll_option_id, '$option_text', $poll_result)" : "UPDATE " . VOTE_RESULTS_TABLE . " SET vote_option_text = '$option_text', vote_result = $poll_result WHERE vote_option_id = $option_id AND vote_id = $poll_id";
                                if (!$db->sql_query($sql))
                                {
                                        message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
                                }
                                $poll_option_id++;
                        }
                }

                if ($delete_option_sql != '')
                {
                        $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . "
                                WHERE vote_option_id IN ($delete_option_sql)
                                        AND vote_id = $poll_id";
                        if (!$db->sql_query($sql))
                        {
                                message_die(GENERAL_ERROR, 'Error deleting pruned poll options', '', __LINE__, __FILE__, $sql);
                        }
                }
        }

$cash_message = $GLOBALS['cm_posting']->update_post($mode, $post_data, $forum_id, $topic_id, $post_id, $topic_type, $bbcode_uid, $post_username, $post_message);       
$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';
        $message = $lang['Stored']. '<br />' . $cash_message . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

        return false;
}

//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
        global $db;

        $sign = ($mode == 'delete') ? '- 1' : '+ 1';
        $forum_update_sql = "forum_posts = forum_posts $sign";
        $topic_update_sql = '';

        if ($mode == 'delete')
        {
                if ($post_data['last_post'])
                {
                        if ($post_data['first_post'])
                        {
                                $forum_update_sql .= ', forum_topics = forum_topics - 1';
                        }
                        else
                        {

                                $topic_update_sql .= 'topic_replies = topic_replies - 1';

                                $sql = "SELECT MAX(post_id) AS last_post_id
                                        FROM " . POSTS_TABLE . "
                                        WHERE topic_id = $topic_id";
                                if (!($result = $db->sql_query($sql)))
                                {
                                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                                }

                                if ($row = $db->sql_fetchrow($result))
                                {
                                        $topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
                                }
                        }

                        if ($post_data['last_topic'])
                        {
                                $sql = "SELECT MAX(post_id) AS last_post_id
                                        FROM " . POSTS_TABLE . "
                                        WHERE forum_id = $forum_id";
                                if (!($result = $db->sql_query($sql)))
                                {
                                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                                }

                                if ($row = $db->sql_fetchrow($result))
                                {
                                        $forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
                                }
                        }
                }
                else if ($post_data['first_post'])
                {
                        $sql = "SELECT MIN(post_id) AS first_post_id
                                FROM " . POSTS_TABLE . "
                                WHERE topic_id = $topic_id";
                        if (!($result = $db->sql_query($sql)))
                        {
                                message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                        }

                        if ($row = $db->sql_fetchrow($result))
                        {
                                $topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
                        }
                }
                else
                {
                        $topic_update_sql .= 'topic_replies = topic_replies - 1';
                }
        }
        else if ($mode != 'poll_delete')
        {
                $forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : "");
                $topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
        }
        else
        {
                $topic_update_sql .= 'topic_vote = 0';
        }

        $sql = "UPDATE " . FORUMS_TABLE . " SET
                $forum_update_sql
                WHERE forum_id = $forum_id";
        if (!$db->sql_query($sql))
        {
                message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }

        if ($topic_update_sql != '')
        {
                $sql = "UPDATE " . TOPICS_TABLE . " SET
                        $topic_update_sql
                        WHERE topic_id = $topic_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
                }
        }

        if ($mode != 'poll_delete')
        {
                $sql = "UPDATE " . USERS_TABLE . "
                        SET user_posts = user_posts $sign
                        WHERE user_id = $user_id";
                if (!$db->sql_query($sql, END_TRANSACTION))
                {
                        message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
                }
        }

        return;
}

//
// Delete a post/poll
//
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)
{
        global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
        global $userdata, $user_ip;

        if ($mode != 'poll_delete')
        {
$GLOBALS["cm_posting"]->update_delete($mode, $post_data, $forum_id, $topic_id, $post_id);         
include("includes/functions_search.php");

                $sql = "DELETE FROM " . POSTS_TABLE . "
                        WHERE post_id = $post_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                }

                $sql = "DELETE FROM " . POSTS_TEXT_TABLE . "
                        WHERE post_id = $post_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                }

                if ($post_data['last_post'])
                {
                        if ($post_data['first_post'])
                        {
                                $forum_update_sql .= ', forum_topics = forum_topics - 1';
                                $sql = "DELETE FROM " . TOPICS_TABLE . "
                                        WHERE topic_id = $topic_id
                                                OR topic_moved_id = $topic_id";
                                if (!$db->sql_query($sql))
                                {
                                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                                }

                                $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
                                        WHERE topic_id = $topic_id";
                                if (!$db->sql_query($sql))
                                {
                                        message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
                                }
                        }
                }

                remove_search_post($post_id);
        }

        if ($mode == 'poll_delete' || ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) && $post_data['has_poll'] && $post_data['edit_poll'])
        {
                $sql = "DELETE FROM " . VOTE_DESC_TABLE . "
                        WHERE topic_id = $topic_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
                }

                $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . "
                        WHERE vote_id = $poll_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
                }

                $sql = "DELETE FROM " . VOTE_USERS_TABLE . "
                        WHERE vote_id = $poll_id";
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql);
                }
        }

        if ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post'])
        {
                $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">';
                $message = $lang['Deleted'];
        }
        else
        {
                $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">';
                $message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
        }

        $message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

        return;
}

//
// Handle user notification on new post
//
function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user)
{
        global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
        global $userdata, $user_ip;

        $current_time = time();

        if ($mode == 'delete')
        {
                $delete_sql = (!$post_data['first_post'] && !$post_data['last_post']) ? " AND user_id = " . $userdata['user_id'] : '';
                $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id" . $delete_sql;
                if (!$db->sql_query($sql))
                {
                        message_die(GENERAL_ERROR, 'Could not change topic notify data', '', __LINE__, __FILE__, $sql);
                }
        }
        else
        {
                if ($mode == 'reply')
                {
                        $sql = "SELECT ban_userid
                                FROM " . BANLIST_TABLE;
                        if (!($result = $db->sql_query($sql)))
                        {
                                message_die(GENERAL_ERROR, 'Could not obtain banlist', '', __LINE__, __FILE__, $sql);
                        }

                        $user_id_sql = '';
                        while ($row = $db->sql_fetchrow($result))
                        {
                                if (isset($row['ban_userid']) && !empty($row['ban_userid']))
                                {
                                        $user_id_sql .= ', ' . $row['ban_userid'];
                                }
                        }

                        $sql = "SELECT u.user_id, u.user_email, u.user_lang
                                FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u
                                WHERE tw.topic_id = $topic_id
                                        AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ")
                                        AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . "
                                        AND u.user_id = tw.user_id";
                        if (!($result = $db->sql_query($sql)))
                        {
                                message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql);
                        }

                        $update_watched_sql = '';
                        $bcc_list_ary = array();

                        if ($row = $db->sql_fetchrow($result))
                        {
                                // Sixty second limit
                                @set_time_limit(60);

                                do
                                {
                                        if ($row['user_email'] != '')
                                        {
                                                $bcc_list_ary[$row['user_lang']][] = $row['user_email'];
                                        }
                                        $update_watched_sql .= ($update_watched_sql != '') ? ', ' . $row['user_id'] : $row['user_id'];
                                }
                                while ($row = $db->sql_fetchrow($result));

                                //
                                // Let's do some checking to make sure that mass mail functions
                                // are working in win32 versions of php.
                                //
                                if (preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery'])
                                {
                                        $ini_val = (@phpversion() >= '4.0.0') ? 'ini_get' : 'get_cfg_var';

                                        // We are running on windows, force delivery to use our smtp functions
                                        // since php's are broken by default
                                        $board_config['smtp_delivery'] = 1;
                                        $board_config['smtp_host'] = @$ini_val('SMTP');
                                }

                                if (sizeof($bcc_list_ary))
                                {
                                        include("includes/emailer.php");
                                        $emailer = new emailer($board_config['smtp_delivery']);

                                        $script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
                        $script_name = 'modules.php?name=Forums&file=viewtopic';
                                        $server_name = trim($board_config['server_name']);
                                        $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
                                        $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) . '/' : '/';

                                        $orig_word = array();
                                        $replacement_word = array();
                                        obtain_word_list($orig_word, $replacement_word);

                                        $emailer->from($board_config['board_email']);
                                        $emailer->replyto($board_config['board_email']);

                                        $topic_title = (count($orig_word)) ? preg_replace($orig_word, $replacement_word, unprepare_message($topic_title)) : unprepare_message($topic_title);

                                        @reset($bcc_list_ary);
                                        while (list($user_lang, $bcc_list) = each($bcc_list_ary))
                                        {
                                                $emailer->use_template('topic_notify', $user_lang);

                                                for ($i = 0; $i < count($bcc_list); $i++)
                                                {
                                                        $emailer->bcc($bcc_list[$i]);
                                                }

                                                // The Topic_reply_notification lang string below will be used
                                                // if for some reason the mail template subject cannot be read
                                                // ... note it will not necessarily be in the posters own language!
                                                $emailer->set_subject($lang['Topic_reply_notification']);

                                                // This is a nasty kludge to remove the username var ... till (if?)
                                                // translators update their templates
                                                $emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg);

                                                $emailer->assign_vars(array(
                                                        'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
                                                        'SITENAME' => $board_config['sitename'],
                                                        'TOPIC_TITLE' => $topic_title,

                                                        'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '&' . POST_POST_URL . "=$post_id#$post_id",
                                                        'U_STOP_WATCHING_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '&' . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
                                                );

                                                $emailer->send();
                                                $emailer->reset();
                                        }
                                }
                        }
                        $db->sql_freeresult($result);

                        if ($update_watched_sql != '')
                        {
                                $sql = "UPDATE " . TOPICS_WATCH_TABLE . "
                                        SET notify_status = " . TOPIC_WATCH_NOTIFIED . "
                                        WHERE topic_id = $topic_id
                                                AND user_id IN ($update_watched_sql)";
                                $db->sql_query($sql);
                        }
                }

                $sql = "SELECT topic_id
                        FROM " . TOPICS_WATCH_TABLE . "
                        WHERE topic_id = $topic_id
                                AND user_id = " . $userdata['user_id'];
                if (!($result = $db->sql_query($sql)))
                {
                        message_die(GENERAL_ERROR, 'Could not obtain topic watch information', '', __LINE__, __FILE__, $sql);
                }

                $row = $db->sql_fetchrow($result);

                if (!$notify_user && !empty($row['topic_id']))
                {
                        $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
                                WHERE topic_id = $topic_id
                                        AND user_id = " . $userdata['user_id'];
                        if (!$db->sql_query($sql))
                        {
                                message_die(GENERAL_ERROR, 'Could not delete topic watch information', '', __LINE__, __FILE__, $sql);
                        }
                }
                else if ($notify_user && empty($row['topic_id']))
                {
                        $sql = "INSERT INTO " . TOPICS_WATCH_TABLE . " (user_id, topic_id, notify_status)
                                VALUES (" . $userdata['user_id'] . ", $topic_id, 0)";
                        if (!$db->sql_query($sql))
                        {
                                message_die(GENERAL_ERROR, 'Could not insert topic watch information', '', __LINE__, __FILE__, $sql);
                        }
                }
        }
}

//
// Fill smiley templates (or just the variables) with smileys
// Either in a window or inline
//
function generate_smilies($mode, $page_id)
{
        global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
        global $user_ip, $session_length, $starttime;
        global $userdata;

        $inline_columns = 4;
        $inline_rows = 5;
        $window_columns = 8;

        if ($mode == 'window')
        {
                $userdata = session_pagestart($user_ip, $page_id, $nukeuser);
                init_userprefs($userdata);

                $gen_simple_header = TRUE;

                $page_title = $lang['Review_topic'] . " - $topic_title";
                include("includes/page_header_review.php");

                $template->set_filenames(array(
                        'smiliesbody' => 'posting_smilies.tpl')
                );
        }

        $sql = "SELECT emoticon, code, smile_url
                FROM " . SMILIES_TABLE . "
                ORDER BY smilies_id";
        if ($result = $db->sql_query($sql))
        {
                $num_smilies = 0;
                $rowset = array();
                while ($row = $db->sql_fetchrow($result))
                {
                        if (empty($rowset[$row['smile_url']]))
                        {
                                $rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
                                $rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
                                $num_smilies++;
                        }
                }

                if ($num_smilies)
                {
                        $smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies;
                        $smilies_split_row = ($mode == 'inline') ? $inline_columns - 1 : $window_columns - 1;

                        $s_colspan = 0;
                        $row = 0;
                        $col = 0;

                        while (list($smile_url, $data) = @each($rowset))
                        {
                                if (!$col)
                                {
                                        $template->assign_block_vars('smilies_row', array());
                                }

                                $template->assign_block_vars('smilies_row.smilies_col', array(
                                        'SMILEY_CODE' => $data['code'],
                                        'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url,
                                        'SMILEY_DESC' => $data['emoticon'])
                                );

                                $s_colspan = max($s_colspan, $col + 1);

                                if ($col == $smilies_split_row)
                                {
                                        if ($mode == 'inline' && $row == $inline_rows - 1)
                                        {
                                                break;
                                        }
                                        $col = 0;
                                        $row++;
                                }
                                else
                                {
                                        $col++;
                                }
                        }

                        if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_columns)
                        {
                                $template->assign_block_vars('switch_smilies_extra', array());

                                $template->assign_vars(array(
                                        'L_MORE_SMILIES' => $lang['More_emoticons'],
                                        'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies&popup=1"))
                                );
                        }

                        $template->assign_vars(array(
                                'L_EMOTICONS' => $lang['Emoticons'],
                                'L_CLOSE_WINDOW' => $lang['Close_window'],
                                'S_SMILIES_COLSPAN' => $s_colspan)
                        );
                }
        }

        if ($mode == 'window')
        {
                $template->pparse('smiliesbody');

                include("includes/page_tail_review.php");
        }
}

?>



Back to top Reply with quote
#4   re: Cash mod posting error
scz74
CZ Active Member
scz74 has been a member for over 20 year's 20 Year Member
philippines.gif
Age: 50
Gender: Male
Website:
Status: Offline
Joined: Aug 15, 2004
0.02 posts per day
Posts: 145
Points: 7,972
   
the 2 lines that i inserted in the file is

line: 396
$cash_message = $GLOBALS['cm_posting']->update_post($mode, $post_data, $forum_id, $topic_id, $post_id, $topic_type, $bbcode_uid, $post_username, $post_message);


and

line:530 (formerly placed in line 297)
$GLOBALS["cm_posting"]->update_delete($mode, $post_data, $forum_id, $topic_id, $post_id);

i transferred the 2nd line which was the cause of error to line 530 because the cash mod instruction has 2 instances of this line

include("includes/functions_search.php");

where im supposed to put the error line on top of it.

now the error line is 396 which is the first line i edited.



Back to top Reply with quote
#5   re: Cash mod posting error
scz74
CZ Active Member
scz74 has been a member for over 20 year's 20 Year Member
philippines.gif
Age: 50
Gender: Male
Website:
Status: Offline
Joined: Aug 15, 2004
0.02 posts per day
Posts: 145
Points: 7,972
   
hi telli, i was able to find the fix to the problem so the posting problem is history. instead i would like to ask how do i edit the cash mod code to be able to show commas in the cash figures like 30,000 dollars and not 30000 dollars?



Back to top Reply with quote
Display posts from previous:      
Add To: Del.icio.us  Digg  Google  Spurl  Blink  Furl  Y! MyWeb  
<< View previous topic View next topic >>
Post new topicReply to topic

Jump to 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum