###########################################################
## Mod Title: Order Mod for TorrentPier
## MOD Author: Wertos < admin@supporttp.ru > http://supporttp.ru/ 
## MOD Description:          ,    
##                         .
##                     Ajax Jquery
##
## Mod Version: 0.0.1
## 
## Installation Level: Intermediate
## Installation Time: 10 Minutes
###########################################################

#
#------------------------------------------------ SQL Query ----------------------
#

CREATE TABLE IF NOT EXISTS `bb_order` (
  `order_id` int(10) unsigned NOT NULL auto_increment,
  `order_forum_id` smallint(5) NOT NULL default '0',
  `order_name` text,
  `order_desc` text,
  `order_time` int(11) NOT NULL,
  `order_user_performed_id` int(1) NOT NULL default '0',
  `order_topic_id` mediumint(8) NOT NULL default '0',
  `order_yes` int(1) NOT NULL default '0',
  `order_user_id` int(10) NOT NULL default '0',
  `order_vote` int(10) NOT NULL default '0',
  `order_abuse` int(1) NOT NULL default '0',
  PRIMARY KEY  (`order_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 ;

CREATE TABLE IF NOT EXISTS `bb_order_comment` (
  `comment_id` int(10) unsigned NOT NULL auto_increment,
  `order_id` int(10) unsigned NOT NULL,
  `comment` text,
  `comment_time` int(11) NOT NULL,
  `comment_user_id` int(10) NOT NULL default '0',
  PRIMARY KEY  (`comment_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251

#
#------------------------------------------------ in ajax.php find ----------------------
#

    'view_post'           => array('guest'),
   
#
#------------------------------------------------ after add -----------------------------
#

    'order_vote'          => array('user'),
        'order_delete'        => array('admin'),
        'order_add'           => array('user'),
        'order_yes'           => array('user'),
        'order_abuse'         => array('user'),
        'view_comment'        => array('user'),
        'o_comment_add'       => array('user'),
	

#
#------------------------------------------------ in ajax.php find ----------------------
#
# END OF FILE

}

#
#------------------------------------------------ before add ----------------------------
#

function order_vote()
{ 
  $id = (int) $this->request['id'];
  DB()->query("UPDATE bb_order SET order_vote = order_vote+1 WHERE  order_id = $id");
  $vote_summ = DB()->sql_query("SELECT order_vote FROM bb_order WHERE order_id = $id LIMIT 1");
  while ($votes = DB()->sql_fetchrow($vote_summ))
   {     
      $votes_summ = $votes['order_vote'];
   }
  $this->response['vote'] = $votes_summ;
  $this->response['id'] = $id;
}
function order_delete()
{
  $id = (int) $this->request['id'];
  DB()->query("DELETE FROM bb_order WHERE order_id = $id");
  $this->response['id'] = $id;
}
function order_add()
{
  global $userdata, $bb_cfg, $lang;
  $name = (string) $this->request['name'];
  $desc = (string) $this->request['desc'];
  $f_id = (int) $this->request['forum'];
  if (($name == '') || ($desc == '')) ajax_die('Error');
  $time = TIMENOW;
  $user_id = $userdata['user_id'];
  $name = DB()->escape($name);
  $desc = DB()->escape($desc);
  $vote = 0;
  $html = '';
  $row = DB()->fetch_row("SELECT forum_name FROM ". BB_FORUMS ." WHERE forum_id = ".$f_id);
  DB()->query("INSERT bb_order SET 
               order_forum_id = $f_id,
               order_name = '$name',
               order_desc = '$desc',
               order_time = $time,
               order_yes  = 0,
               order_user_id = $user_id,
               order_vote = $vote
             ");
  $html .= '<td class="small bold w10 tCenter"><a href="viewforum.php?f='.$f_id.'">'.$row['forum_name'].'</a></td>';
  $html .= '<td class="bold w30" name="hilite">'.$name.'</td>';
  $html .= bb_date($time, $bb_cfg['default_dateformat'], '', false);
  $html .= '<td class="bold w10 tCenter"><a href="profile.php?mode=viewprofile&u='.$user_id.'">'.$userdata['username'].'</a></td>';
  $html .= '<td class="w10 tCenter">'.$lang['NO'].'</td>';
  $html .= '<td class="bold w10 tCenter">----</td>';
  $html .= '<td class="w10 tCenter bold">0</td>';
  $html .= '<td class="w10 tCenter bold"><img src="'.BB_ROOT.'images/order_normal.png" /></td>';
  if ($userdata['user_level'] == ADMIN) {
   $html .= '<td class="w10 bold tCenter leech">X</td>';
  }
  $this->response['html'] = $html;
}
function order_yes()
{
  global $userdata, $lang;
  $id = (int) $this->request['id'];
  $topic_id = (int) $this->request['topic_id'];
  $user_id = $userdata['user_id'];
  DB()->query("UPDATE bb_order SET order_yes = 1, order_user_performed_id = $user_id, order_topic_id = $topic_id WHERE order_id = $id");
  $this->response['id'] = $id;
  $this->response['username'] = '<a href="profile.php?mode=viewprofile&u='.$user_id.'">'.$userdata['username'].'</a>';
  $this->response['html'] = '<a href="viewtopic.php?t='.$topic_id.'" class="seed bold" />'.$lang['YES'].'</b>';
}
function order_abuse()
{
  $id = (int) $this->request['id'];
  DB()->query("UPDATE bb_order SET order_abuse = 1 WHERE order_id = $id");
  $this->response['id'] = $id;
}

function view_comment()
{
  global $userdata, $lang, $bb_cfg;
  $order_id = (int) $this->request['or_id'];
  $user_id = $userdata['user_id'];
  $i = 0;
  $comments = DB()->query("SELECT c.*, u.username 
              FROM bb_order_comment AS c
              LEFT JOIN bb_users AS u ON(u.user_id = c.comment_user_id)
              WHERE order_id = $order_id
              ORDER BY comment_time
             ");
  $html = '<table class="forumline w100">';
  while ($com = DB()->sql_fetchrow($comments))
  {     
   $i++;
   $row_class = !($i % 2) ? 'row2' : 'row1';
   $html .= '<tr class="'.$row_class.'">';
   $html .= '<td width="10%" class="tCenter bold"><a href="profile.php?mode=viewprofile&u='.$user_id.'">'.$com['username'].'</a><br />'.bb_date( $com['comment_time'],$bb_cfg['default_dateformat'],'', false).'</td>';
   $html .= '<td width="90%">'.htmlspecialchars($com['comment']).'</td>';
   $html .= '</tr>';
  }
   $html .= '<tr class="row3">';
   $html .= '<td class="w100 bold tCenter" colspan="2"> </td>';
   $html .= '</tr>';
   $html .= '<tr class="row1">';
   $html .= '<td width="20%" class="bold"><br /><span class="small"> <b>BBCode</b>  <b>HTML</b> </span></td>';
   $html .= '<td width="80%" class="bold tCenter"><textarea id="ctext_'.$order_id.'" style="width: 90%; height: 100px;"></textarea></td>';
   $html .= '</tr>';
   $html .= '<tr>';
   $html .= '<td colspan="2" class="tCenter"><input type="button" onclick="ajax.o_comment_add('.$order_id.');" value="" /></td>';
   $html .= '</tr>';
   $html .= '</table>';

 $this->response['html']  = $html;
 $this->response['or_id'] = $order_id;
}

function o_comment_add()
{
  global $userdata, $lang, $bb_cfg;
  $order_id = (int) $this->request['id'];
  $text = $this->request['text'];
  if (!$text) ajax_die('   ');
//  $text = htmlentities($text);
  $user_id = $userdata['user_id'];
  $time = TIMENOW;
  $text = DB()->escape($text);
  DB()->query("INSERT INTO bb_order_comment SET
              order_id = $order_id,
              comment = '$text',
              comment_time = $time,
              comment_user_id = $user_id
             ");
  $html  = '<td calss="row1"><a href="profile.php?mode=viewprofile&u='.$user_id.'">'.$userdata['username'].'</a><br />'.bb_date( $time,$bb_cfg['default_dateformat'],'', false).'</td>';
  $html .= '<td calss="row1">'.htmlentities($text).'</td>';
  $this->response['html']  = $html;
  $this->response['id'] = $order_id;
}	

#
#------------------------------------------------ open lang_main.php and end of file add 
#

// Start order mod
$lang['ORDER_SECTION'] = ' ';
$lang['ORDER'] = '';
$lang['ORDER_ADDED'] = '';
$lang['USER_ORDERED_ADD'] = '';
$lang['ORDER_YES'] = ' ?';
$lang['USER_ORDER_PERFORMED'] = '';
$lang['ORDER_VOTE'] = '';
$lang['ORDER_ADD'] = ' ';
$lang['ORDER_MY'] = ' ';
$lang['ORDER_ALL'] = ' ';
$lang['ORDER_HIDE_YES'] = ' ';
$lang['INPUT_ORDER_HEAD'] = '  ';
$lang['INPUT_ORDER_DESC'] = '  ';
$lang['ORDER_ARE_VOTE'] = ',         !\n      !';
$lang['SET_ORDER_TOPIC_ID'] = '    ID ';
$lang['ORDER_TOPIC_ID_NOT_SET'] = 'ID    !!!';
$lang['ORDER_ABUSE'] = '';
$lang['ORDER_SHOW_ABUSE'] = 'C ';
$lang['SELECT_ORDER_FORUM'] = '<b> .</b><br /> ,      ';
// End order mod


#
#------------------------------------------------ open language/lang_english/lang_main.php and end of file add 
#
// Start order mod
$lang['ORDER_SECTION'] = 'Session requests'; 
$lang['ORDER'] = 'Request'; 
$lang['ORDER_ADDED'] = 'Added'; 
$lang['USER_ORDERED_ADD'] = 'query'; 
$lang['ORDER_YES'] = 'Completed?'; 
$lang['USER_ORDER_PERFORMED'] = 'Completed'; 
$lang['ORDER_VOTE'] = 'votes'; 
$lang['ORDER_ADD'] = 'Make a request'; 
$lang['ORDER_MY'] = 'My Alerts'; 
$lang['ORDER_ALL'] = 'All requests'; 
$lang['ORDER_HIDE_YES'] = 'Hide completed '; 
$lang['INPUT_ORDER_HEAD'] = 'Enter a title for the query'; 
$lang['INPUT_ORDER_DESC'] = 'Enter a brief description'; 
$lang['ORDER_ARE_VOTE'] = 'Sorry, but you have already voted for this request now !\n You can vote once a day!'; 
$lang['SET_ORDER_TOPIC_ID'] = 'In this field, enter the ID topic'; 
$lang['ORDER_TOPIC_ID_NOT_SET'] = 'ID is not specified topic !!!'; 
$lang['ORDER_ABUSE'] = 'Report'; 
$lang['ORDER_SHOW_ABUSE'] = 'C violations'; 
$lang['SELECT_ORDER_FORUM'] = '<b> Select a forum. </b> <br /> in which you believe should be located distribution';
// End order mod