Please make sure IN_MYBB is defined."); } $plugins->add_hook("postbit", "rp_postbit"); $plugins->add_hook("newreply_start", "rp_newreply"); $plugins->add_hook("newreply_do_newreply_end", "rp_insert_post"); $plugins->add_hook("editpost_start", "rp_edit"); $plugins->add_hook("editpost_do_editpost_end", "rp_edit_post"); $plugins->add_hook("newthread_start", "rp_new"); $plugins->add_hook("newthread_do_newthread_end", "rp_new_post"); $plugins->add_hook("showthread_start", "rp_showthread"); function rp_info() { /** * Array of information about the plugin. * name: The name of the plugin * description: Description of what the plugin does * website: The website the plugin is maintained at (Optional) * author: The name of the author of the plugin * authorsite: The URL to the website of the author (Optional) * version: The version number of the plugin * guid: Unique ID issued by the MyBB Mods site for version checking * compatibility: A CSV list of MyBB versions supported. Ex, "121,123", "12*". Wildcards supported. */ return array( "name" => "Roleplay", "description" => "A Plugin that let's you choose a RP Char.", "website" => "http://archer.agency", "author" => "Genuineparts", "authorsite" => "http://archer.agency", "version" => "1.0", "guid" => "", "compatibility" => "*", 'codename'=>'rp' ); } function rp_install() { global $db; $db->write_query("CREATE TABLE ".TABLE_PREFIX."rp_posts (`pid` INT NOT NULL ,`cid` INT NOT NULL ,PRIMARY KEY ( `pid` ) ,INDEX ( `cid` ))"); } function rp_uninstall() { global $db; $db->write_query("DROP TABLE ".TABLE_PREFIX."rp_posts"); } function rp_is_installed() { global $db; if($db->table_exists("rp_posts")) { return true; } return false; } function rp_activate() { global $db; $info=rp_info(); $setting_group_array=array ( 'name'=>$info['codename'], 'title'=>$info['name'], 'description'=>'Here you can edit '.$info['name'].' settings.', 'disporder'=>1, 'isdefault'=>0 ); $db->insert_query('settinggroups',$setting_group_array); $group=$db->insert_id(); $settings=array ( 'rp_forums'=>array ( 'Forums', 'The forums where RP is played.', 'text', '' ) ); $i=1; foreach($settings as $name=>$sinfo) { $insert_array=array ( 'name'=>$name, 'title'=>$db->escape_string($sinfo[0]), 'description'=>$db->escape_string($sinfo[1]), 'optionscode'=>$db->escape_string($sinfo[2]), 'value'=>$db->escape_string($sinfo[3]), 'gid'=>$group, 'disporder'=>$i, 'isdefault'=>0 ); $db->insert_query('settings',$insert_array); $i++; } rebuild_settings(); } function rp_deactivate() { global $db; $info=rp_info(); $result=$db->simple_select('settinggroups','gid','name="'.$info['codename'].'"',array('limit'=>1)); $group=$db->fetch_array($result); if(!empty($group['gid'])) { $db->delete_query('settinggroups','gid="'.$group['gid'].'"'); $db->delete_query('settings','gid="'.$group['gid'].'"'); rebuild_settings(); } } function rp_newreply() { global $mybb,$db,$templates, $rp_menu; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); //var_dump($mybb); $query = $db->simple_select("threads", "fid", "tid = '{$mybb->input['tid']}'"); $data = $db->fetch_array($query); $chars=''; if(in_array($data['fid'],$forums)){ $sql ="SELECT c.name,c.id FROM `aa_users` p LEFT JOIN `aa_rp_chars` c ON (p.uid=c.uid) WHERE p.fuid = '".$mybb->user['uid']."'"; $query = $db->query($sql); while($chid = $db->fetch_array($query)){ $chars.=''; } eval("\$rp_menu = \"".$templates->get("charselect")."\";"); } } function rp_new() { global $mybb,$db,$templates, $rp_menu; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); //var_dump($mybb); $chars=''; if(in_array($mybb->input['fid'],$forums)){ $sql ="SELECT c.name,c.id FROM `aa_users` p LEFT JOIN `aa_rp_chars` c ON (p.uid=c.uid) WHERE p.fuid = '".$mybb->user['uid']."'"; $query = $db->query($sql); while($chid = $db->fetch_array($query)){ $chars.=''; } eval("\$rp_menu = \"".$templates->get("charselect")."\";"); } } function rp_new_post() { global $mybb,$db,$templates, $thread_info; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); if(in_array($mybb->input['fid'],$forums)){ $db->insert_query("rp_posts",array('pid'=>$thread_info['pid'],'cid'=>$mybb->input['char'])); } } function rp_edit() { global $mybb,$db,$templates,$post,$rp_menu; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); $query = $db->simple_select("posts", "fid", "pid = '{$mybb->input['pid']}'"); $data = $db->fetch_array($query); $chars=''; if(in_array($data['fid'],$forums)){ $pquery = $db->simple_select("posts", "uid", "pid = '{$mybb->input['pid']}'"); $pdata = $db->fetch_array($pquery); $query = $db->simple_select("rp_posts", "cid", "pid = '{$mybb->input['pid']}'"); $data = $db->fetch_array($query); $sql ="SELECT c.name,c.id FROM `aa_users` p LEFT JOIN `aa_rp_chars` c ON (p.uid=c.uid) WHERE p.fuid = '".$pdata['uid']."'"; $query = $db->query($sql); $pquery = $db->simple_select("posts", "uid", "pid = '{$mybb->input['pid']}'"); $pdata = $db->fetch_array($pquery); while($chid = $db->fetch_array($query)){ if($data['cid']==$chid['id']){ $chars.=''; }else{ $chars.=''; } } eval("\$rp_menu = \"".$templates->get("charselect")."\";"); } } function rp_showthread() { global $mybb,$db; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); //var_dump($mybb); $query = $db->simple_select("threads", "fid", "tid = '{$mybb->input['tid']}'"); $data = $db->fetch_array($query); if(in_array($data['fid'],$forums)){ $mybb->settings['quickreply']=0; } } function rp_edit_post() { global $mybb,$db,$templates, $postinfo; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); $query = $db->simple_select("posts", "fid", "pid = '{$mybb->input['pid']}'"); $data = $db->fetch_array($query); if(in_array($data['fid'],$forums)){ $db->delete_query("rp_posts","`pid`='".$mybb->input['pid']."'"); $db->insert_query("rp_posts",array('pid'=>$mybb->input['pid'],'cid'=>$mybb->input['char'])); } } function rp_insert_post() { global $mybb,$db,$templates, $postinfo; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); $query = $db->simple_select("threads", "fid", "tid = '{$mybb->input['tid']}'"); $data = $db->fetch_array($query); if(in_array($data['fid'],$forums)){ $db->insert_query("rp_posts",array('pid'=>$postinfo['pid'],'cid'=>$mybb->input['char'])); } } function rp_postbit(&$post) { global $mybb,$db; $forums=explode(',',$mybb->settings['rp_forums']); array_walk($forums, 'trim_value'); //var_dump($mybb->settings['rp_forums']); if(in_array($post['fid'],$forums)){ //var_dump($post); $sql ="SELECT c.*,a.`codename` as `codename` FROM ".TABLE_PREFIX."rp_posts p LEFT JOIN `v_ptc_users` c ON (p.cid=c.uid) LEFT JOIN `aa_rp_chars` a ON a.`id`=c.`uid` WHERE p.pid = '".$post['pid']."'"; $query = $db->query($sql); $chid = $db->fetch_array($query); //var_dump($chid); $post['profilelink'] = ''.$chid['name'].''; if(file_exists('/var/www/archer.agency/web/modules/rp/images/'.$chid['uid'].'.avatar')){ $post['useravatar'] = ''; }else{ $post['useravatar'] = ''; } $post['message'] = ''.$post['message'].''; $post['usertitle'] = $chid['codename']; $post['userstars'] = ''; $post['signature'] = ''; } } function trim_value(&$value) { $value = trim($value); } ?>