2011-11-26, 09:05 PM
Pages: 1 2
2011-11-26, 09:12 PM
(2011-11-26, 09:05 PM)Booher Wrote: [ -> ]MyBB seriously needs a hook in the admin/modules/config/settings.php for peekers. It's incredibly annoying to make plugins that modify that lol
Say what?!
You shouldn't be modifying anything in settings.php, so no there shouldn't be a hook in it. Ever.
2011-11-26, 09:19 PM
(2011-11-26, 09:12 PM)Dylan M. Wrote: [ -> ](2011-11-26, 09:05 PM)Booher Wrote: [ -> ]MyBB seriously needs a hook in the admin/modules/config/settings.php for peekers. It's incredibly annoying to make plugins that modify that lol
Say what?!
You shouldn't be modifying anything in settings.php, so no there shouldn't be a hook in it. Ever.
It would be good for other plugin groups that want options to only show up if a certain setting is selected.
such as the plugin i just made that lets you change reCaptcha theme easily. the setting box only comes up if you have recaptcha selected so it won't show if your using the regular captcha or something.
Also, there are hooks in settings.php... 19 of them to be exact.
Did you think i meant inc/settings.php? or am i just utterly confused lol
2011-11-26, 09:48 PM
its already available $mybb-settings['setting-name-here']. All settings are available globally, so you can test for the setting in your plugin before installing or activating or running a function, etc.
2011-11-26, 10:03 PM
Noo, you know how when you turn your board off the message box appears for a reason? That is what the peekers are for. lol
2011-11-26, 10:15 PM
ah, that is what you mean. You can always use admin_page_output_footer hook to output your own peeker script like the ACP does already, just change the object/function name from "loadPeekers()" to something specific to your pluign.
but yes, I agree that it would be cool to have a globla array of peeker items that you can add to before the script code is echo'd or modify /admin/modules/config/settings.php and change the peeker function
this is not tested, but it only took a few minutes to update
but yes, I agree that it would be cool to have a globla array of peeker items that you can add to before the script code is echo'd or modify /admin/modules/config/settings.php and change the peeker function
function print_setting_peekers()
{
global $plugins, $peekers;
//add hook so users can modify peeker array
$plugins->run_hooks("admin_load_peekers_start");
//if we have peekers, generate JS content
if(count($peekers) > 0)
{
$peeker_code = '<script type="text/javascript" src="./jscripts/peeker.js"></script>
<script type="text/javascript">
Event.observe(window, "load", function() {
loadPeekers();
});
function loadPeekers()
{';
foreach($peekers as $peeker_name => $peeker_options)
{
if($peeker_options['type'] == 1)
{
$peeker_code .= ' new Peeker($$(".'.$peeker_name.'"), $("'.$peeker_options['rowid'].'"), /'.$peeker_options['setting'].'/, '.$peeker_options['value'].');';
}
elseif($peeker_options['type'] == 2)
{
$peeker_code .= ' new Peeker($(".'.$peeker_name.'"), $("'.$peeker_options['rowid'].'"), /'.$peeker_options['setting'].'/, '.$peeker_options['value'].');';
}
}
$peeker_code .= '</script>';
}
}
//global default peeker array, type 1 uses $$, type 2 uses $
$peekers['setting_boardclosed'] = array(type=>1, rowid=>'row_setting_boardclosed_reason', setting=>'1', value=>'true');
$peekers['setting_gzipoutput'] = array(type=>1, rowid=>'row_setting_gziplevel', setting=>'1', value=>'true');
$peekers['setting_useerrorhandling'] = array(type=>1, rowid=>'row_setting_errorlogmedium', setting=>'1', value=>'true');
$peekers['setting_useerrorhandling'] = array(type=>1, rowid=>'row_setting_errortypemedium', setting=>'1', value=>'true');
$peekers['setting_useerrorhandling'] = array(type=>1, rowid=>'row_setting_errorloglocation', setting=>'1', value=>'true');
$peekers['setting_subforumsindex'] = array(type=>2, rowid=>'row_setting_subforumsstatusicons', setting=>'[^0]', value=>'false');
$peekers['setting_showsimilarthreads'] = array(type=>1, rowid=>'row_setting_similarityrating', setting=>'1', value=>'true');
$peekers['setting_showsimilarthreads'] = array(type=>1, rowid=>'row_setting_similarlimit', setting=>'1', value=>'true');
$peekers['setting_disableregs'] = array(type=>1, rowid=>'row_setting_regtype', setting=>'0', value=>'true');
$peekers['setting_showsimilarthreads'] = array(type=>1, rowid=>'row_setting_similarlimit', setting=>'1', value=>'true');
$peekers['setting_failedlogincount'] = array(type=>2, rowid=>'row_setting_failedlogintime', setting=>'[^0]', value=>'false');
$peekers['setting_failedlogincount'] = array(type=>2, rowid=>'row_setting_failedlogintext', setting=>'[^0]', value=>'false');
$peekers['setting_postfloodcheck'] = array(type=>1, rowid=>'row_setting_postfloodsecs', setting=>'1', value=>'true');
$peekers['setting_postmergemins'] = array(type=>2, rowid=>'row_setting_postmergefignore', setting=>'[^0]', value=>'false');
$peekers['setting_postmergemins'] = array(type=>2, rowid=>'row_setting_postmergeuignore', setting=>'[^0]', value=>'false');
$peekers['setting_postmergemins'] = array(type=>2, rowid=>'row_setting_postmergesep', setting=>'[^0]', value=>'false');
$peekers['setting_enablememberlist'] = array(type=>1, rowid=>'row_setting_membersperpage', setting=>'1', value=>'true');
$peekers['setting_enablememberlist'] = array(type=>1, rowid=>'row_setting_default_memberlist_sortby', setting=>'1', value=>'true');
$peekers['setting_enablememberlist'] = array(type=>1, rowid=>'row_setting_default_memberlist_order', setting=>'1', value=>'true');
$peekers['setting_enablereputation'] = array(type=>1, rowid=>'row_setting_repsperpage', setting=>'1', value=>'true');
$peekers['setting_enablewarningsystem'] = array(type=>1, rowid=>'row_setting_allowcustomwarnings', setting=>'1', value=>'true');
$peekers['setting_enablewarningsystem'] = array(type=>1, rowid=>'row_setting_canviewownwarning', setting=>'1', value=>'true');
$peekers['setting_enablewarningsystem'] = array(type=>1, rowid=>'row_setting_maxwarningpoints', setting=>'1', value=>'true');
$peekers['setting_enablepms'] = array(type=>1, rowid=>'row_setting_pmsallowhtml', setting=>'1', value=>'true');
$peekers['setting_enablepms'] = array(type=>1, rowid=>'row_setting_pmsallowmycode', setting=>'1', value=>'true');
$peekers['setting_enablepms'] = array(type=>1, rowid=>'row_setting_pmsallowsmilies', setting=>'1', value=>'true');
$peekers['setting_enablepms'] = array(type=>1, rowid=>'row_setting_pmsallowimgcode', setting=>'1', value=>'true');
$peekers['setting_enablepms'] = array(type=>1, rowid=>'row_setting_pmsallowvideocode', setting=>'1', value=>'true');
$peekers['setting_smilieinserter'] = array(type=>1, rowid=>'row_setting_smilieinsertertot', setting=>'1', value=>'true');
$peekers['setting_smilieinserter'] = array(type=>1, rowid=>'row_setting_smilieinsertercols', setting=>'1', value=>'true');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_smtp_host', setting=>'smtp', value=>'false');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_smtp_port', setting=>'smtp', value=>'false');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_smtp_user', setting=>'smtp', value=>'false');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_smtp_pass', setting=>'smtp', value=>'false');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_secure_smtp', setting=>'smtp', value=>'false');
$peekers['setting_mail_handler'] = array(type=>2, rowid=>'row_setting_mail_parameters', setting=>'mail', value=>'false');
this is not tested, but it only took a few minutes to update
2011-11-27, 12:59 AM
Still kind of curious of Dylan's reply though lol. I'm assuming he thought i was talking about inc/settings.php as he said 'it should not contain hooks. ever'
2011-11-27, 03:23 AM
(2011-11-27, 12:59 AM)Booher Wrote: [ -> ]Still kind of curious of Dylan's reply though lol. I'm assuming he thought i was talking about inc/settings.php as he said 'it should not contain hooks. ever'
You are entirely correct. I totally misread what you wrote. Dammit
2011-11-27, 03:53 AM
(2011-11-27, 12:59 AM)Booher Wrote: [ -> ]Still kind of curious of Dylan's reply though lol. I'm assuming he thought i was talking about inc/settings.php as he said 'it should not contain hooks. ever'
either way, I posted a solution you can implement yourself, but at that point you might as well insert them directly into the function
2011-11-27, 04:44 AM
It might be useful. Although, you may trying checking it with something like if($mybb->settings[
'recaptcha'] = 1) then , but yes that'd be good to see it implemented as well.
'recaptcha'] = 1) then , but yes that'd be good to see it implemented as well.
Pages: 1 2