PDA

View Full Version : need a little help


AN-net
07-23-2004, 03:18 AM
i dont get why php is considering 2 of these entries private because they are not private and the database has them listed as not private so i have no clue y.

here is my code:

$fentries = $DB_site->query("
SELECT journal_entries.entry_id, journal_entries.entrytitle,
journal_entries.entrytext, journal_entries.entrydate,
journal_entries.entry_totalvotes, journal_entries.entry_totalrating,
journal_entries.private, journal_entries.whocanview,
COUNT(journal_comments.comment_text) AS comments
FROM ".TABLE_PREFIX."journal_entries
LEFT JOIN journal_comments
ON (journal_entries.entry_id=journal_comments.entry_i d)
WHERE journal_entries.journal_id='".$j."'
AND entry_active='1'
GROUP BY journal_entries.entry_id
ORDER BY entrydate ASC
");
$check= $DB_site->num_rows($fentries);
if($check=="0")
{
$entrybits= $vbphrase['journalnoentries'];
}
else
{
while($entry= $DB_site->fetch_array($fentries))
{
$enum++;
$entry['date']= vbdate($vboptions['dateformat'], $entry['entrydate'], 1);
$entry['time']= vbdate($vboptions['timeformat'], $entry['entrydate']);
if(empty($entry['entry_totalrating']) OR empty($entry['entry_totalvotes']))
{
$rating= "0";
}
else
{
$calcrating= $entry['entry_totalrating']/$entry['entry_totalvotes'];
$rating= round($calcrating);
}
if (is_array($replacewords))
{
require_once('./includes/functions_showthread.php');
$entry['entrytext'] = preg_replace('#(^|>)([^<]+)(?=<|$)#sUe', "process_highlight_postbit('\\2', \$replacewords, '\\1')", $entry['entrytext']);
$entry['entrytext'] = preg_replace('#<vb_highlight>(.*)</vb_highlight>#siU', '<span class="highlight">$1</span>', $entry['entrytext']);
}
require_once('./includes/functions_bbcodeparse.php');
$entry['entrytext']= parse_bbcode2($entry['entrytext'], 0, $setting['allow_imgcode'], $setting['allow_smilies'], $setting['allow_bbcode']);
$wcv_entry= explode(',', $entry['whocanview']);
if($entry['private'])
{
if(($bbuserinfo['usergroupid']=="6") OR ($bbuserinfo['userid'] == $journalinfo['journalist_id']) OR (in_array($bbuserinfo['userid'], $wcv_entry)))
{
eval('$entrybits .= "' . fetch_template('journal_entrybits') . '";');
}
else
{
$entrybits='';
}
}
else
{
eval('$entrybits .= "' . fetch_template('journal_entrybits') . '";');
}
}


it is taking the first 2 and counting them as private and the 3rd is private and the rest are not private but they show up, so y are the first whens being looked at as private even though they arent?

thanks in advance

AN-net
07-24-2004, 04:27 AM
bump!!

Modin
07-24-2004, 05:47 AM
probably the private field for those 2 entries is not Null for some reason.

Try something like

if($entry['private'] == 1)


assuming it's private when it's 1.

AN-net
07-24-2004, 10:20 PM
that didnt fix it:(

CarCdr
07-25-2004, 03:02 PM
I think you may be emptying $entrybits (setting it to "") when all you want to do is not add to it.

Your code, given the following journal table entries, would result in your collected template output looking as follows:
JOURNAL ENTRY $entrybits
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1_Not_Private "1_Not_Private"
2_Not_Private "1_Not_Private 2_Not_Private"
3_Private ""
4_Not_Private "4_Not_Private"
rest_not_private "4_Not_Private rest_not_private"

If this is right, you will want to just remove the code I have colored here:if($entry['private'])
{
if(($bbuserinfo['usergroupid']=="6") OR ($bbuserinfo['userid'] == $journalinfo['journalist_id']) OR (in_array($bbuserinfo['userid'], $wcv_entry)))
{
eval('$entrybits .= "' . fetch_template('journal_entrybits') . '";');
}
else
{
$entrybits='';
}

AN-net
07-25-2004, 05:48 PM
OMG! that worked thanks so much ^_^
/me gives hug to CarCdr