The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
Help with conditional
I cannot seem to get the below conditional to work to save my life. I believe everything is correct, but I don't know what else to check.
Code:
<vb:if condition="$show['dso_slips_delete_own'] && $userinfo['userid'] == $bbuserinfo['userid']"> entire template: Code:
<div id="view-dso_slips" class="<vb:if condition="$selected_tab == 'dso_slips'">selected_view_section<vb:else />view_section</vb:if><vb:if condition="$userinfo['userid'] != $bbuserinfo['userid']"> vm_other_prof</vb:if>"> <div class="blockbody"> <table id="dso_slips_table" width="100%"> <tr class="columnsort"> <th class="blocksubhead"> </th> <th class="blocksubhead">Date - Time</th> <th class="blocksubhead">Vehicle</th> <th class="blocksubhead">Track</th> <th class="blocksubhead">R/T</th> <th class="blocksubhead">60'</th> <th class="blocksubhead">330'</th> <th class="blocksubhead">1/8 Mile</th> <th class="blocksubhead">1000'</th> <th class="blocksubhead">1/4 Mile</th> </tr> <vb:each from="queue" value="queuelist"><tr> <td><a href="./slips.php?do=viewslip&id={vb:raw queuelist.id}" title="View Details"><i class="fa fa-search"></i></a><vb:if condition="$show['dso_slips_edit']"> <a href="./slips.php?do=editslip&id={vb:raw queuelist.id}" title="Edit Slip"><i class="fa fa-pencil-square-o"></i></a></vb:if><vb:if condition="$show['dso_slips_delete_own'] && $userinfo['userid'] == $bbuserinfo['userid']"> <a href="./slips.php?do=delslip&id={vb:raw queuelist.id}" title="Delete Slip"><i class="fa fa-eraser"></i></a></vb:if></td> <td>{vb:raw queuelist.date}</td> <td><a href="./vbrides.php?do=viewride&rideid={vb:raw queuelist.car_id}" title="View Vehicle Page">{vb:raw queuelist.car_name}</a></td> <td><a href="{vb:raw queuelist.track_www}" title="Visit the {vb:raw queuelist.track} Website">{vb:raw queuelist.track}</a></td> <td>{vb:raw queuelist.rt}</td> <td>{vb:raw queuelist.60ft}</td> <td>{vb:raw queuelist.330ft}</td> <td>{vb:raw queuelist.8et}</td> <td>{vb:raw queuelist.1000ft}</td> <td>{vb:raw queuelist.4et}</td> </tr></vb:each> </table> </div> </div> Code:
if ($show['dso_slips_view']) { if (isset($vbulletin->GPC['tab'])) { $selected_tab = $vbulletin->GPC['tab']; } $blockinfo['title'] = "Timeslips"; $blockid = "dso_slips"; $taburl = $memberurl = fetch_seo_url('member', $prepared) . "&tab=dso_slips#dso_slips"; $templater = vB_Template::create('memberinfo_tab'); $templater->register('selected_tab', $selected_tab); $templater->register('relpath', $relpath); $templater->register('blockinfo', $blockinfo); $templater->register('blockid', $blockid); $templater->register('taburl', $taburl); $template_hook['profile_tabs_last'] .= $templater->render(); require_once('./includes/functions_dso_slips.php'); $slipsqueue = $db->query_read("SELECT ID,Car_ID,Date,Track,RT,Sixty,ThreeThirty,Eighth_ET,Eighth_MPH,Thousand,Fourth_ET,Fourth_MPH FROM ".TABLE_PREFIX."dso_slips WHERE Owner = ".$userinfo['userid']." ORDER BY Date DESC"); while ($row = $db->fetch_array($slipsqueue)) { if (isset($row['Eighth_ET']) AND isset($row['Eighth_MPH'])) { $row['Eighth_ET'] = number_format($row['Eighth_ET'],3,'.',',')." @ ".number_format($row['Eighth_MPH'],2,'.',',')." mph"; } if (isset($row['Fourth_ET']) AND isset($row['Fourth_MPH'])) { $row['Fourth_ET'] = number_format($row['Fourth_ET'],3,'.',',')." @ ".number_format($row['Fourth_MPH'],2,'.',',')." mph"; } $queue[] = array ( 'id' => $row['ID'], 'car_id' => $row['Car_ID'], 'car_name' => getVehicleName($row['Car_ID']), 'date' => date("M d, Y - g:i a ",strtotime($row['Date'])), 'track' => getTrackName($row['Track']), 'track_www' => getTrackWeb($row['Track']), 'rt' => number_format($row['RT'],3,'.',','), '60ft' => number_format($row['Sixty'],3,'.',','), '330ft' => number_format($row['ThreeThirty'],3,'.',','), '8et' => $row['Eighth_ET'], '1000ft' => number_format($row['Thousand'],3,'.',','), '4et' => $row['Fourth_ET'] ); } $templater = vB_Template::create('dso_slips_profile_tab'); $templater->register('selected_tab', $selected_tab); $templater->register('queue', $queue); $template_hook['profile_tabs'] .= $templater->render(); } |
#2
|
||||
|
||||
Try replacing $userinfo['userid'] with $vbulletin->userinfo['userid'] and see what happens.
|
#3
|
||||
|
||||
tried that to no affect
--------------- Added [DATE]1444605891[/DATE] at [TIME]1444605891[/TIME] --------------- well not no affect, it actually makes the conditional always true. without the vbulletin-> the conditional is always false. |
#4
|
|||
|
|||
Instead of adding the authorization check in the template, I would just move it to the script itself and redirect the user if they are not the owner. I always handle all my logic in scripts, not in the template/view.
That way it's also ten times easier to debug your code and variables. |
Благодарность от: | ||
Dragonsys |
#5
|
||||
|
||||
If your plugin hook is "member_complete" then try using $prepared['userid'] instead of $bbuserinfo['userid'].
--------------- Added [DATE]1444606104[/DATE] at [TIME]1444606104[/TIME] --------------- Quote:
|
#6
|
||||
|
||||
I tried moving it to the php code, and I end up with the same result. It is either always true, or always false. I like ti better in the php, as you stated, so I will leave it this way, but still can't get it to work right.
I tried $prepared['userid'] and still the same. --------------- Added [DATE]1444607425[/DATE] at [TIME]1444607425[/TIME] --------------- here is the updated php code: Code:
if ($show['dso_slips_view']) { if (isset($vbulletin->GPC['tab'])) { $selected_tab = $vbulletin->GPC['tab']; } $blockinfo['title'] = "Timeslips"; $blockid = "dso_slips"; $taburl = $memberurl = fetch_seo_url('member', $prepared) . "&tab=dso_slips#dso_slips"; $templater = vB_Template::create('memberinfo_tab'); $templater->register('selected_tab', $selected_tab); $templater->register('relpath', $relpath); $templater->register('blockinfo', $blockinfo); $templater->register('blockid', $blockid); $templater->register('taburl', $taburl); $template_hook['profile_tabs_last'] .= $templater->render(); require_once('./includes/functions_dso_slips.php'); $slipsqueue = $db->query_read("SELECT ID,Car_ID,Date,Track,RT,Sixty,ThreeThirty,Eighth_ET,Eighth_MPH,Thousand,Fourth_ET,Fourth_MPH FROM ".TABLE_PREFIX."dso_slips WHERE Owner = ".$userinfo['userid']." ORDER BY Date DESC"); while ($row = $db->fetch_array($slipsqueue)) { if (isset($row['Eighth_ET']) AND isset($row['Eighth_MPH'])) { $row['Eighth_ET'] = number_format($row['Eighth_ET'],3,'.',',')." @ ".number_format($row['Eighth_MPH'],2,'.',',')." mph"; } if (isset($row['Fourth_ET']) AND isset($row['Fourth_MPH'])) { $row['Fourth_ET'] = number_format($row['Fourth_ET'],3,'.',',')." @ ".number_format($row['Fourth_MPH'],2,'.',',')." mph"; } if ($show['dso_slips_edit_own'] && $userinfo['userid'] == $prepared['userid']) { $dso_slip_edit_own_link = 'true'; } else { $dso_slip_edit_own_link = 'false'; } if ($show['dso_slips_delete_own'] && $userinfo['userid'] == $prepared['userid']) { $dso_slip_delete_own_link = 'true'; } else { $dso_slip_delete_own_link = 'false'; } $queue[] = array ( 'id' => $row['ID'], 'car_id' => $row['Car_ID'], 'car_name' => getVehicleName($row['Car_ID']), 'date' => date("M d, Y - g:i a ",strtotime($row['Date'])), 'track' => getTrackName($row['Track']), 'track_www' => getTrackWeb($row['Track']), 'rt' => number_format($row['RT'],3,'.',','), '60ft' => number_format($row['Sixty'],3,'.',','), '330ft' => number_format($row['ThreeThirty'],3,'.',','), '8et' => $row['Eighth_ET'], '1000ft' => number_format($row['Thousand'],3,'.',','), '4et' => $row['Fourth_ET'] ); } $templater = vB_Template::create('dso_slips_profile_tab'); $templater->register('dso_slip_edit_own_link', $dso_slip_edit_own_link); $templater->register('dso_slip_delete_own_link', $dso_slip_delete_own_link); $templater->register('selected_tab', $selected_tab); $templater->register('queue', $queue); $template_hook['profile_tabs'] .= $templater->render(); } Code:
if ($show['dso_slips_delete_own'] && $userinfo['userid'] == $prepared['userid']) { $dso_slip_delete_own_link = 'true'; } else { $dso_slip_delete_own_link = 'false'; } If I change it to bbuserinfo (instead of prepared) then it is always false (but should be true when viewing my profile) EDIT: Finally got it, thank you for the help. When I added vbulletin-> to userinfo and used prepared instead of bbuserinfo it works. |
#8
|
||||
|
||||
Quote:
Thanks again |
Благодарность от: | ||
MarkFL |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|