Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 Programming Discussions
  #1  
Old 04-07-2015, 04:38 PM
delicjous's Avatar
delicjous delicjous is offline
 
Join Date: Nov 2014
Posts: 352
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Random User Widget

Hello,

is it possible to display a couple of users but random order?

I want to display (eg 15 ) User in a row. But every pageload it should display random users.
Is there a template function or tag for randomize something?

Or do anybody have any other idea?

Thanks
Reply With Quote
  #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
  #3  
Old 06-29-2016, 01:07 PM
Dave_The_Don's Avatar
Dave_The_Don Dave_The_Don is offline
 
Join Date: May 2011
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how could i call for a certain usergroup to collect members of that group
Reply With Quote
  #4  
Old 06-29-2016, 02:53 PM
Replicant's Avatar
Replicant Replicant is offline
 
Join Date: Sep 2014
Location: Phoenix, Az. USA
Posts: 485
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$user['usergroupid']=6;
$profile[]='';
$result=vB_Api::instance('user')->getUsersFromCriteria($user,$profile,$options = array());
print_r($result);

Note: Requires admin permissions
Reply With Quote
  #5  
Old 07-02-2016, 08:29 PM
Dave_The_Don's Avatar
Dave_The_Don Dave_The_Don is offline
 
Join Date: May 2011
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks bro, really got me thinking ....

be safe
Reply With Quote
Reply

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 01:30 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03933 seconds
  • Memory Usage 2,225KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (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)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_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
  • 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