View Single Post
  #2  
Old 04-22-2015, 06:02 PM
delicjous's Avatar
delicjous delicjous is offline
 
Join Date: Nov 2014
Posts: 352
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I try to get a random number like this:

PHP Code:
PHP Code:
<?php
class doyouknow_Api_Page extends vB_Api_Extensions
{
  public 
$product 'doyouknow';
  public 
$version '1.0.0';
  public 
$developer 'test';
  public 
$title 'Kennst Du schon';
  public 
$minver '5.0.0 Beta 1';
  public 
$maxver '6.0.0';
  public 
$infourl '';
  public 
$checkurl '';
  public 
$AutoInstall 1;
  public 
$extensionOrder 5;

    public function 
fetchPageById($page$pageid$routeData = array())
    {
       
$page['random'] = vB::getDatastore()->rand(1,3);     
                         
      return 
$page;
    } 
}  
?>
Try it also with $page['random'] = rand(1,3);
in template:

HTML Code:
<vb:if condition="$page['random'] == 1>do something</vb:if>
<vb:if condition="$page['random'] == 2>do something more
<vb:else />
do something else
</vb:if>
But know I only have a blank window with background look like background-stylevar.

Is there a possible way to get a random number so I could change sortorder about a if condition=random ==1 / 2 /3 eg or could I change the limit of data so I can change the "selection" by a if on timenow = monday ... or any other way?

Iam totally become desperate on this thing!

Any help pleeeeease...

I just try to do a list of 15 different (random) user.

Iam very thankfull for any help I could get!

Thanks a lot again!


Got it:

Creat a new php-file "random.php" (place it into ...includes/vb5/frontend/controller/ :
PHP Code:
 <?php
 
 
class vB5_Frontend_Controller_Random extends vB5_Frontend_Controller {
    public function 
randomnum() {
            
$output rand(1,3);
            return 
$output;
    }
}
?>
Put the following in your template:
{vb:action random_result, random, randomnum}
{vb:raw $random_result}


Question: How could I get max(userid) to limit the random?
Because I got no answer to this poor forum-system (without a good code documentation and unfortunately no support) I did the following:

go to core/vb/db/mysql/querydefs.php and find:
PHP Code:
switch ($params['sortfield'])
                {
                    case 
'username':
                        
$sqlsort 'user.username';
                        break;
                    case 
'joindate':
                        
$sqlsort 'user.joindate';
                        break;
                    case 
'posts':
                        
$sqlsort 'user.posts';
                        break;
                    case 
'reputation':
                        
$sqlsort 'user.reputation';
                        break;
                    case 
'lastvisity':
                        
$sqlsort 'session.lastactivity';
                        break;
                    default:
                        
$sqlsort 'user.username';
                } 
Replace it with:

PHP Code:
switch ($params['sortfield'])
                {
                    case 
'username':
                        
$sqlsort 'user.username';
                        break;
                    case 
'joindate':
                        
$sqlsort 'user.joindate';
                        break;
                    case 
'posts':
                        
$sqlsort 'user.posts';
                        break;
                    case 
'reputation':
                        
$sqlsort 'user.reputation';
                        break;
                    case 
'lastvisity':
                        
$sqlsort 'session.lastactivity';
                        break;
case 
'random':
                        
$sqlsort 'rand()';
                        break;
                    default:
                        
$sqlsort 'user.username';
                } 
now you could use random as a config like this:

HTML Code:
{vb:set config, {vb:php array}}
{vb:set config.perpage, {vb:raw widgetConfig.number_of_users}}
{vb:set config.sortfield, 'random'}
Hope it will help someone... wish somebody is make a little documentation about how to make a mod with own sql, classes and functions.
Iam not that got in php...so I have to find workarounds :-)
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01238 seconds
  • Memory Usage 1,821KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_html
  • (4)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete