Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 02-23-2009, 08:10 PM
Vaupell's Avatar
Vaupell Vaupell is offline
 
Join Date: Apr 2008
Location: Esbjerg, Denmark
Posts: 1,036
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default comma seperated values only display first value

Trying to achive :

1) Admin can set usergroups who can acces/use this app, in his cp
2) its stored in a table>colum , ELoptions > Optionallowed

I get the data in php like this

PHP Code:
$getpermission=$db->query("SELECT Optionallowed FROM " TABLE_PREFIX."ELoptions");
$permission=$db->fetch_array($getpermission);
$permissionPOSTER htmlspecialchars_uni($permission['Optionallowed']); 
And i use it in my template like this

HTML Code:
<if condition="is_member_of($bbuserinfo, $permissionPOSTER[Optionallowed])">
<a href="Elinks.php?do=input" class="botton">$vbphrase[Btn_new]</a></div>
</if>
and for some reasion this specik one dont work, im pulling 3 other settings the same way
and they work fine, but they also are just 1 = enable 0 = disabled.

This is stored as TEXT in the db due to the "comma's" between the numbers

Since it dint work and only showed the wery first number admin sets in cp
i tryed to display the contents in a table to see what was going on.
and true it only shows the first number all others are ignored

ewen if i try to write a sentence or do anything else only the first character
is enabled..

What am i doing wrong, is it the htmlspecialchars_uni ? i dont get it
should i pull the data with an array instead, ewen with the table only
containing 1 row.
Reply With Quote
  #2  
Old 02-23-2009, 08:28 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You're close, try this:

PHP Code:
$getpermission=$db->query("SELECT Optionallowed FROM " TABLE_PREFIX."ELoptions");
$permission=$db->fetch_array($getpermission);
$permissionPOSTER htmlspecialchars_uni($permission['Optionallowed']);

$permissionGROUPS preg_split('/[\s,]+/'$permissionPOSTER ); 
Then just use $permissionGROUPS in your is_member_of function call.
Reply With Quote
  #3  
Old 02-23-2009, 08:32 PM
Vaupell's Avatar
Vaupell Vaupell is offline
 
Join Date: Apr 2008
Location: Esbjerg, Denmark
Posts: 1,036
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ohhh preg_split never knew...

Thank you!
Reply With Quote
  #4  
Old 02-24-2009, 04:24 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Unless I'm understanding something wrong, can't you just use explode() instead?
Reply With Quote
  #5  
Old 02-24-2009, 05:01 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could, but explode has a very specific delimiter - with the preg_split he can match comma separated values, as well as comma and space separated values.
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 03:19 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.04846 seconds
  • Memory Usage 2,198KB
  • Queries Executed 11 (?)
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
  • (1)bbcode_html
  • (2)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_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