View Full Version : Random User Widget
delicjous
04-07-2015, 04:38 PM
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
delicjous
04-22-2015, 06:02 PM
I try to get a random number like this:
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:
<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
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:
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:
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:
{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 :-)
Dave_The_Don
06-29-2016, 01:07 PM
how could i call for a certain usergroup to collect members of that group
Replicant
06-29-2016, 02:53 PM
$user['usergroupid']=6;
$profile[]='';
$result=vB_Api::instance('user')->getUsersFromCriteria($user,$profile,$options = array());
print_r($result);
Note: Requires admin permissions
Dave_The_Don
07-02-2016, 08:29 PM
thanks bro, really got me thinking ....
be safe
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.