Updated to latest version of CMS
This commit is contained in:
parent
ccdf8fbb81
commit
edf41b1198
76 changed files with 465 additions and 1162 deletions
268
forumplugins/rp.php
Normal file
268
forumplugins/rp.php
Normal file
|
@ -0,0 +1,268 @@
|
|||
<?php
|
||||
|
||||
// Disallow direct access to this file for security reasons
|
||||
if(!defined("IN_MYBB"))
|
||||
{
|
||||
die("Direct initialization of this file is not allowed.<br /><br />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.='<option value="'.$chid['id'].'">'.$chid['name'].'</option>';
|
||||
}
|
||||
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.='<option value="'.$chid['id'].'">'.$chid['name'].'</option>';
|
||||
}
|
||||
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.='<option selected="selected" value="'.$chid['id'].'">'.$chid['name'].'</option>';
|
||||
}else{
|
||||
$chars.='<option value="'.$chid['id'].'">'.$chid['name'].'</option>';
|
||||
}
|
||||
}
|
||||
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'] = '<a href="//chat.archer.agency/profile/'.$chid['name'].'"><span style="color: #'.$chid['color'].';"><strong><em>'.$chid['name'].'</em></strong></span></a>';
|
||||
if(file_exists('/var/www/archer.agency/web/modules/rp/images/'.$chid['uid'].'.avatar')){
|
||||
$post['useravatar'] = '<a href="//chat.archer.agency/profile/'.$chid['name'].'"><img width="70" height="70" alt="" src="//archer.agency/modules/rp/images/'.$chid['uid'].'.avatar"></a>';
|
||||
}else{
|
||||
$post['useravatar'] = '';
|
||||
}
|
||||
$post['message'] = '<span style="color: #'.$chid['color'].';">'.$post['message'].'</span>';
|
||||
$post['usertitle'] = $chid['codename'];
|
||||
$post['userstars'] = '';
|
||||
$post['signature'] = '';
|
||||
}
|
||||
}
|
||||
|
||||
function trim_value(&$value)
|
||||
{
|
||||
$value = trim($value);
|
||||
}
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue