Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 Programming Discussions
Prev Previous Post   Next Post Next
  #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
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:59 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03545 seconds
  • Memory Usage 2,413KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_html
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadedmode.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete