Website Ideas blog dedicated to web-developers for design inspiration
February 09, 2012, 04:43:51 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome To Website Ideas blog dedicated to web-developers for design inspiration
 
 Website Ideas  Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Getting a unexpected error on Sobi feature mod  (Read 1523 times)
0 Members and 1 Guest are viewing this topic.
Top Nerd
Newbie
*
South Africa South Africa

Posts: 15



View Profile Email
« on: June 03, 2008, 09:51:14 AM »

Hi guys

I have this mode and would like to add the stars review to it, But getting a unexpected error. Here is my code:

Code:
<?php
/**
 * @version $Id&#58; 1&#46;0&#46;5
 * @package Sigsiu Online Business Index 2
 * @authorName Sigrid &amp; Radek Suski, Sigsiu&#46;NET
 * @authorEmail Mark&#46;Smith@iBayIslands&#46;com 
 * @authorUrl http&#58;//AboutUtila&#46;com
 * @copyright Copyright (C) 2007 Sigsiu&#46;NET (http&#58;//www&#46;sigsiu&#46;net)&#46; All rights reserved&#46;
 * @license see http&#58;//www&#46;gnu&#46;org/copyleft/gpl&#46;html GNU/GPL&#46;
 * SOBI2 is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation&#46;  
 * @Module mod_sobi2featured&#46;php 14-Oct-2007 Mark Smith 
 */
defined'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed&#46;' );
#print 'Debug Line '&#46;__LINE__&#46;' $params structure <pre>'; print_r ($params); print "</pre><br />\n";
$sobi2ModFeaturedOutput=TRUE# Set Module output Flag
$output=NULL# Clear Module output buffer

while($sobi2ModFeaturedOutput) {
# Start evaluate Module Parameters
# Set <div class='sobi2Featured{$class}'>
$class=$params->get('divclass_sfx');
if ($class$class=' '&#46;$class;
# Set SQL query limit
$limit $params->get('count');
if ($limit == 0) {$sobi2ModFeaturedOutput=FALSE; break;} #Display 0 Entries
if(!$limit$limit 1; #Default value = display 1 Entry
if ($limit 20$limit 20; #Maximum value = display 20 Entries
# End set SQL query limit
# Start evaluate 'Featured Entry Field ID' simple error check 
$selectFieldId=$params->get('FeaturedEntryFieldId');
if ($selectFieldId=='') {
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - No Featured Entry field ID specified **\n";
break;
}
if (!(strpos($selectFieldId,'_')===FALSE)) {
# Featured Entry Field has probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Featured Entry Field ID **<br />Check Module configuration Featured Entry field ID&#46; This should be set to a the <b>ID</b> of the Featured Entry Field, (<b>not</b> the Field name)\n";
break;
}
# End evaluate 'Featured Entry Field ID' simple error check
# Start evalulate 'Featured Entry Key' simple error check
$featuredEntryKey=$params->get('FeaturedEntryKey');
if (!$featuredEntryKey) {
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - No Featured Entry Key specified **\n";
break;
}
# End evalulate 'Featured Entry Key' simple error check
# Start Evaluate 'Display Custom Field ID's'
$customFields=$params->get('customfields');
if ($customFields!==''){
# Display Custom Field ID's are specified 
$customFields=trim(rtrim($params->get('customfields'),','));
# Simple check to see if Custom Field Names have been used instead of Custom Field ID Numbers
if (strpos($customFields,'_')===FALSE$customFields=explode(',',$customFields);
else {
# Custom Fields have probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Display Custom Field ID's **<br />Check Module configuration 'Display Custom Field ID's'&#46; This should be set to a list of the Custom Field <b>ID's</b>, (<b>not</b> Custom Field names)\n";
break;
}
}
#print 'Debug Line '&#46;__LINE__&#46;' $customFields structure <pre>'; print_r ($customFields); print "</pre><br />\n";
# End Evaluate 'Display Custom Field ID's'
# Start evaluate Custom Field sorting
$sortOrder=$params->get('sortOrder');
if (strpos($sortOrder,'CustomField')!==FALSE){
# Sort by Custom Field is selected
$SortCustomFieldId=$params->get('SortCustomFieldId');
if ($customFields==''){
# No 'Display Custom Field ID's' specified
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field **<br />Check Module configuration - Sort by Custom Field has been selected, but no 'Display Custom Field ID's' have been specified&#46;\n";
break;
}
if ($SortCustomFieldId=='') {
# No 'Sort by Custom Field ID' specified
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field **<br />Check Module configuration - Sort by Custom Field has been selected, but no Sort by Custom Field ID is specified\n";
break;
}
if (strpos($SortCustomFieldId,"_")!==FALSE) {
# 'Sort by Custom Field ID' has probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field ID **<br />Check Module configuration - 'Sort by Custom Field ID'&#46; This should be set to Custom Field <b>ID</b>, (<b>not</b> a Custom Field name)\n\n";
break;
}
if (!in_array($SortCustomFieldId,$customFields)) {
# 'Sort by Custom Field ID' is not in 'Display Custom Field ID's' list
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field ID **<br />Check Module configuration - 'Sort by Custom Field ID' is not in list of 'Display Custom Field ID's'\n";
break;
}
# Assume 'Sort by Custom Field ID' is valid
}
# End evaluate Custom Field sorting
# End evalulate Module Parameters

# Start getting required data from Database
# All required data will be stored in multi-dimensional array named $records
# Get the itemids for non-expired 'Featured Entries' where $selectFieldId is checked (data_txt = '1')
$currdate =  date('y-m-d h&#58;i&#58;s');
$query="SELECT i&#46;itemid FROM #__sobi2_fields_data fd inner join  #__sobi2_item i on fd&#46;itemid = i&#46;itemid WHERE (i&#46;publish_down > '"&#46;$currdate&#46;"' OR i&#46;publish_down = '0000-00-00 00&#58;00&#58;00') AND fd&#46;fieldid=$selectFieldId and fd&#46;data_txt='$featuredEntryKey' ORDER BY RAND() LIMIT $limit";
$database->setQuery($query);
$itemids=$database->loadResultArray();
#print 'Debug Line '&#46;__LINE__&#46;' $itemids structure <pre>'; print_r ($itemids); print "</pre><br />\n";
# If No 'Featured Entries' found, stop module processing
if (!count($itemids)) {$sobi2ModFeaturedOutput=FALSE; break;}
# Reset SQL query limit to the actual number of 'Featured Entries' found
$limit=count($itemids);
# Get a Joomla Menu ID for SOBI component
$query="SELECT id FROM #__menu WHERE link LIKE '%index&#46;php?option=com_sobi2%' AND type = 'components' AND published = '1' LIMIT 1";
$database->setQuery($query);
$menuId=$database->loadResult();
#print 'Debug Line '&#46;__LINE__&#46;' $menuId structure <pre>'; print_r ($menuId); print "</pre><br />\n";
# Build $records for href (URL link to each Featured Entry details display)
foreach ($itemids as $itemid){
$href="index&#46;php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp;sobi2Id=$itemid&amp;Itemid={$menuId}";
$href=sefRelToAbs($href);
$records[$itemid&#93;['href'&#93;=$href;
}
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# Build SQL search sub-string for itemid's to be retrieved
$itemidMatch=NULL;
foreach ($itemids as $itemid){
$itemidMatch&#46;=$itemid&#46;',';
}
$itemidMatch=trim(rtrim($itemidMatch,','));
#print 'Debug Line '&#46;__LINE__&#46;' $itemidMatch structure <pre>'; print_r ($itemidMatch); print "</pre><br />\n";
# Start get Custom Fields data
#print 'Debug Line '&#46;__LINE__&#46;' $customFields structure <pre>'; print_r ($customFields); print "</pre><br />\n";
if ($customFields!=='') {
# Only if custom field Id's were specified in 'Display Custom Field ID's'
# Build SQL search sub-string for Custom Fields to be retrieved
$customFieldsMatch=NULL;
foreach ($customFields as $field$customFieldsMatch&#46;=$field&#46;',';
$customFieldsMatch=trim(rtrim($customFieldsMatch,','));
# Build an SQL query limit for the maximum number of Custom Fields that can be found
$thisLimit=$limit*count($customFields);
# Get the Custom Fields Data for 'Featured Entries'
$query="SELECT itemid, fieldid, data_txt FROM #__sobi2_fields_data WHERE itemid IN ($itemidMatch) AND fieldid IN ($customFieldsMatch) ORDER BY itemid ASC, fieldid ASC LIMIT {$thisLimit}";
$database->setQuery($query);
$customFieldsData=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $customFieldsData structure <pre>'; print_r ($customFieldsData); print "</pre><br />\n";
if ($params->get('displayCustomFieldLabels')=='TRUE') {
# Get the Custom Fields Labels for 'Featured Entries'
# Get Configuration Language
$query="SELECT `configValue` FROM #__sobi2_config WHERE `configKey`='language'";
$database->setQuery($query);
$sobi2Language=$database->loadResult();
#print 'Debug Line '&#46;__LINE__&#46;' $sobi2Language structure <pre>'; print_r ($sobi2Language); print "</pre><br />\n";
# Get the Custom Field Labels for this language
$query="SELECT langValue,fieldid FROM #__sobi2_language WHERE fieldid IN ($customFieldsMatch) AND sobi2Lang='{$sobi2Language}'";
$database->setQuery($query);
$sobi2Labels=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $sobi2Labels structure <pre>'; print_r ($sobi2Labels); print "</pre><br />\n";
# Build Fields Labels arrary
foreach ($sobi2Labels as $Label)$customFieldsLabels[$Label->fieldid&#93;=$Label->langValue;
# print 'Debug Line '&#46;__LINE__&#46;' $customFieldsLabels structure <pre>'; print_r ($customFieldsLabels); print "</pre><br />\n";
}
# Build $records for Custom Fields
foreach ($customFieldsData as $customFieldData){
$records[$customFieldData->itemid&#93;['itemId'&#93;=$customFieldData->itemid;
$records[$customFieldData->itemid&#93;['fieldId'&#46;$customFieldData->fieldid&#93;=$customFieldData->data_txt;
if ($params->get('displayCustomFieldLabels')=='TRUE')
$records[$customFieldData->itemid&#93;['fieldLabel'&#46;$customFieldData->fieldid&#93;=$customFieldsLabels[$customFieldData->fieldid&#93;;
}
}
else $customFieldsData=FALSE;
#print 'Debug Line '&#46;__LINE__&#46;' $customFieldsData structure <pre>'; print_r ($customFieldsData); print "</pre><br />\n";
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End get Custom Fields data

# Get the standard Fields data for 'Featured Entries'
$query "SELECT itemid,title,icon,image FROM #__sobi2_item WHERE itemid IN ($itemidMatch) AND published = 1 LIMIT {$limit}";
$database->setQuery($query);
$stdFieldsData=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $stdFieldsData structure <pre>'; print_r ($stdFieldsData); print "</pre><br />\n";
# Build $records for standard Fields data
foreach ($stdFieldsData as $stdFieldData){
$records[$stdFieldData->itemid&#93;['title'&#93;=$stdFieldData->title;
$records[$stdFieldData->itemid&#93;['icon'&#93;=$stdFieldData->icon;
$records[$stdFieldData->itemid&#93;['image'&#93;=$stdFieldData->image;
}
# multi-dimensional array named $records now contains all required data
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End getting required data from Database

# Start Sort Module Output (using Sort Order parameters)
# (There is probably a better way to do this in PHP, but I don't know what it is)
switch ($params->get('sortOrder')){
case 'Random'&#58;
# We don't need to do anything, $records is already in random order
break;
case 'ItemidAsc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($b['itemId'&#93;,$a['itemId'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'ItemidDesc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($a['itemId'&#93;,$b['itemId'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'TitleAsc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($a['title'&#93;,$b['title'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'TitleDesc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($b['title'&#93;,$a['title'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'CustomFieldAsc'&#58;
$GLOBALS['$sobi2SortCustomFieldId'&#93;=$params->get('SortCustomFieldId');
function sobi2ModFeaturedSort($a,$b){
$key='fieldId'&#46;$GLOBALS['$sobi2SortCustomFieldId'&#93;;
return strcmp($a[$key&#93;,$b[$key&#93;);
}
usort($records,'sobi2ModFeaturedSort');
unset($GLOBALS['$sobi2SortCustomFieldId'&#93;);
break;
case 'CustomFieldDesc'&#58;
$GLOBALS['$sobi2SortCustomFieldId'&#93;=$params->get('SortCustomFieldId');
function sobi2ModFeaturedSort($a,$b){
$key='fieldId'&#46;$GLOBALS['$sobi2SortCustomFieldId'&#93;;
return strcmp($b[$key&#93;,$a[$key&#93;);
}
usort($records,'sobi2ModFeaturedSort');
unset($GLOBALS['$sobi2SortCustomFieldId'&#93;);
break;
default&#58;
# Shouldn't really be able to go here, so do nothing
break;
}
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End Sort Module Output

# Start Build Module HTML output
$output="<!-- Start Module mod_sobi2featured -->\n";
$output&#46;="<div class='sobi2Featured{$class}'>\n";
foreach ($records as $record) {
#print 'Debug Line '&#46;__LINE__&#46;' $record structure <pre>'; print_r ($record); print "</pre><br />\n";
$output&#46;="\t<div class='entry'>\n";
if ($params->get('displayTitle')=='TRUE') {
if ($params->get('linkTitle')=='TRUE')
$output&#46;="\t\t<div class='title'><a href='{$record['href'&#93;}'>{$record['title'&#93;}</a></div>\n";
else
$output&#46;="\t\t<div class='title'>{$record['title'&#93;}</div>\n";
}
if ($params->get('displayIcon')=='TRUE') {
if ($record['icon'&#93;==''){ # No Icon image file value in sobi2 database
$output&#46;="\t\t<div class='noicon'></div>\n";
}
else {
$url="images/com_sobi2/clients/{$record['icon'&#93;}";
$url=sefRelToAbs($url);
if ($params->get('linkIcon')=='TRUE')
$output&
#46;="\t\t<div class='icon'><a href='{$record['href'&#93;}'><img src='$url' alt='{$record['title'&#93;}' /></a></div>\n";
else
$output&
#46;="\t\t<div class='icon'><img src='$url' alt='{$record['title'&#93;}' /></div>\n";
}
}
if ($params->get('displayImage')=='TRUE') {
if ($record['image'&#93;==''){ # No Image image file value in sobi2 database
$output&#46;="
tt<div class='noimage'></div>n";
}
else {
$url="
images/com_sobi2/clients/{$record['image'&#93;}";
$url=sefRelToAbs($url);
if ($params->get('linkImage')=='TRUE')
$output&#46;="\t\t<div class='image'><a href='{$record['href'&#93;}'><img src='$url' alt='{$record['title'&#93;}' /></a></div>\n";
else
$output&#46;="\t\t<div class='image'><img src='$url' alt='{$record['title'&#93;}' /></div>\n";
}
}
if ($customFieldsData) {
$output&#46;="\t\t<div class='customfields'>\n";
#print 'Debug Line '&#46;__LINE__&#46;' $customFields <pre>'; print_r ($customFields); print "</pre><br />\n";
foreach ($customFields as $customField) {
#print 'Debug Line '&#46;__LINE__&#46;' $customField <pre>'; print_r ($customField); print "</pre><br />\n";
if ($params->get('displayCustomFieldLabels')=='TRUE')
$output&#46;="\t\t\t<div class='C{$customField}'><span>{$record['fieldLabel'&#46;$customField&#93;}"&#46;$params->get('LabelSeparator')&#46;"</span>{$record['fieldId'&#46;$customField&#93;}</div>\n";
else
$output&#46;="\t\t\t<div class='C{$customField}'>{$record['fieldId'&#46;$customField&#93;}</div>\n";
};
$output&#46;="\t\t</div>\n";
}
if ($params->get('displayLink')=='TRUE') {
$output&#46;="\t\t<div class='link'><a href='{$record['href'&#93;}'>"&#46;$params->get('displayLinkText')&#46;"</a></div>\n";
$output&#46;="\t</div>\n";
};
};
$output&#46;="</div>\n";
$output&#46;="<!-- End Module mod_sobi2featured -->\n";
# End Build Module HTML output
# Properly recode HTML and Special Characters
$iso explode'='_ISO );
if(strtoupper($iso[1&#93;) != "UTF-8")
$output=stripslashes(stripslashes(html_entity_decode($output)));
else
$output=stripslashes(stripslashes($output));
$sobi2ModFeaturedOutput=FALSE;
# Output HTML
echo $output;
}
?>

That's the standard version of the module, then i went and added this:

Code:
<?php
/**
 * @version $Id&#58; 1&#46;0&#46;5
 * @package Sigsiu Online Business Index 2
 * @authorName Sigrid &amp; Radek Suski, Sigsiu&#46;NET
 * @authorEmail Mark&#46;Smith@iBayIslands&#46;com 
 * @authorUrl http&#58;//AboutUtila&#46;com
 * @copyright Copyright (C) 2007 Sigsiu&#46;NET (http&#58;//www&#46;sigsiu&#46;net)&#46; All rights reserved&#46;
 * @license see http&#58;//www&#46;gnu&#46;org/copyleft/gpl&#46;html GNU/GPL&#46;
 * SOBI2 is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation&#46;  
 * @Module mod_sobi2featured&#46;php 14-Oct-2007 Mark Smith 
 */
defined'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed&#46;' );
global 
$mosConfig_live_site;
require_once(
$mosConfig_absolute_path&#46;'/components/com_sobi2/config&#46;class&#46;php' );
#print 'Debug Line '&#46;__LINE__&#46;' $params structure <pre>'; print_r ($params); print "</pre><br />\n";
$sobi2ModFeaturedOutput=TRUE# Set Module output Flag
$output=NULL# Clear Module output buffer

while($sobi2ModFeaturedOutput) {
# Start evaluate Module Parameters
# Set <div class='sobi2Featured{$class}'>
$class=$params->get('divclass_sfx');
if ($class$class=' '&#46;$class;
# Set SQL query limit
$limit $params->get('count');
if ($limit == 0) {$sobi2ModFeaturedOutput=FALSE; break;} #Display 0 Entries
if(!$limit$limit 1; #Default value = display 1 Entry
if ($limit 20$limit 20; #Maximum value = display 20 Entries
# End set SQL query limit
# Start evaluate 'Featured Entry Field ID' simple error check 
$selectFieldId=$params->get('FeaturedEntryFieldId');
if ($selectFieldId=='') {
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - No Featured Entry field ID specified **\n";
break;
}
if (!(strpos($selectFieldId,'_')===FALSE)) {
# Featured Entry Field has probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Featured Entry Field ID **<br />Check Module configuration Featured Entry field ID&#46; This should be set to a the <b>ID</b> of the Featured Entry Field, (<b>not</b> the Field name)\n";
break;
}
# End evaluate 'Featured Entry Field ID' simple error check
# Start evalulate 'Featured Entry Key' simple error check
$featuredEntryKey=$params->get('FeaturedEntryKey');
if (!$featuredEntryKey) {
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - No Featured Entry Key specified **\n";
break;
}
# End evalulate 'Featured Entry Key' simple error check
# Start Evaluate 'Display Custom Field ID's'
$customFields=$params->get('customfields');
if ($customFields!==''){
# Display Custom Field ID's are specified 
$customFields=trim(rtrim($params->get('customfields'),','));
# Simple check to see if Custom Field Names have been used instead of Custom Field ID Numbers
if (strpos($customFields,'_')===FALSE$customFields=explode(',',$customFields);
else {
# Custom Fields have probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Display Custom Field ID's **<br />Check Module configuration 'Display Custom Field ID's'&#46; This should be set to a list of the Custom Field <b>ID's</b>, (<b>not</b> Custom Field names)\n";
break;
}
}
#print 'Debug Line '&#46;__LINE__&#46;' $customFields structure <pre>'; print_r ($customFields); print "</pre><br />\n";
# End Evaluate 'Display Custom Field ID's'
# Start evaluate Custom Field sorting
$sortOrder=$params->get('sortOrder');
if (strpos($sortOrder,'CustomField')!==FALSE){
# Sort by Custom Field is selected
$SortCustomFieldId=$params->get('SortCustomFieldId');
if ($customFields==''){
# No 'Display Custom Field ID's' specified
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field **<br />Check Module configuration - Sort by Custom Field has been selected, but no 'Display Custom Field ID's' have been specified&#46;\n";
break;
}
if ($SortCustomFieldId=='') {
# No 'Sort by Custom Field ID' specified
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field **<br />Check Module configuration - Sort by Custom Field has been selected, but no Sort by Custom Field ID is specified\n";
break;
}
if (strpos($SortCustomFieldId,"_")!==FALSE) {
# 'Sort by Custom Field ID' has probably been specified by name and not ID number
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field ID **<br />Check Module configuration - 'Sort by Custom Field ID'&#46; This should be set to Custom Field <b>ID</b>, (<b>not</b> a Custom Field name)\n\n";
break;
}
if (!in_array($SortCustomFieldId,$customFields)) {
# 'Sort by Custom Field ID' is not in 'Display Custom Field ID's' list
$sobi2ModFeaturedOutput=FALSE;
echo "** Error - Sort by Custom Field ID **<br />Check Module configuration - 'Sort by Custom Field ID' is not in list of 'Display Custom Field ID's'\n";
break;
}
# Assume 'Sort by Custom Field ID' is valid
}
# End evaluate Custom Field sorting
# End evalulate Module Parameters

# Start getting required data from Database
# All required data will be stored in multi-dimensional array named $records
# Get the itemids for non-expired 'Featured Entries' where $selectFieldId is checked (data_txt = '1')
$currdate =  date('y-m-d h&#58;i&#58;s');
$query="SELECT i&#46;itemid FROM #__sobi2_fields_data fd inner join  #__sobi2_item i on fd&#46;itemid = i&#46;itemid WHERE (i&#46;publish_down > '"&#46;$currdate&#46;"' OR i&#46;publish_down = '0000-00-00 00&#58;00&#58;00') AND fd&#46;fieldid=$selectFieldId and fd&#46;data_txt='$featuredEntryKey' ORDER BY RAND() LIMIT $limit";
$database->setQuery($query);
$itemids=$database->loadResultArray();
#print 'Debug Line '&#46;__LINE__&#46;' $itemids structure <pre>'; print_r ($itemids); print "</pre><br />\n";
# If No 'Featured Entries' found, stop module processing
if (!count($itemids)) {$sobi2ModFeaturedOutput=FALSE; break;}
# Reset SQL query limit to the actual number of 'Featured Entries' found
$limit=count($itemids);
# Get a Joomla Menu ID for SOBI component
$query="SELECT id FROM #__menu WHERE link LIKE '%index&#46;php?option=com_sobi2%' AND type = 'components' AND published = '1' LIMIT 1";
$database->setQuery($query);
$menuId=$database->loadResult();
#print 'Debug Line '&#46;__LINE__&#46;' $menuId structure <pre>'; print_r ($menuId); print "</pre><br />\n";
# Build $records for href (URL link to each Featured Entry details display)
foreach ($itemids as $itemid){
$href="index&#46;php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp;sobi2Id=$itemid&amp;Itemid={$menuId}";
$href=sefRelToAbs($href);
$records[$itemid&#93;['href'&#93;=$href;
}
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# Build SQL search sub-string for itemid's to be retrieved
$itemidMatch=NULL;
foreach ($itemids as $itemid){
$itemidMatch&#46;=$itemid&#46;',';
}
$itemidMatch=trim(rtrim($itemidMatch,','));
#print 'Debug Line '&#46;__LINE__&#46;' $itemidMatch structure <pre>'; print_r ($itemidMatch); print "</pre><br />\n";
# Start get Custom Fields data
#print 'Debug Line '&#46;__LINE__&#46;' $customFields structure <pre>'; print_r ($customFields); print "</pre><br />\n";
if ($customFields!=='') {
# Only if custom field Id's were specified in 'Display Custom Field ID's'
# Build SQL search sub-string for Custom Fields to be retrieved
$customFieldsMatch=NULL;
foreach ($customFields as $field$customFieldsMatch&#46;=$field&#46;',';
$customFieldsMatch=trim(rtrim($customFieldsMatch,','));
# Build an SQL query limit for the maximum number of Custom Fields that can be found
$thisLimit=$limit*count($customFields);
# Get the Custom Fields Data for 'Featured Entries'
$query="SELECT itemid, fieldid, data_txt FROM #__sobi2_fields_data WHERE itemid IN ($itemidMatch) AND fieldid IN ($customFieldsMatch) ORDER BY itemid ASC, fieldid ASC LIMIT {$thisLimit}";
$database->setQuery($query);
$customFieldsData=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $customFieldsData structure <pre>'; print_r ($customFieldsData); print "</pre><br />\n";
if ($params->get('displayCustomFieldLabels')=='TRUE') {
# Get the Custom Fields Labels for 'Featured Entries'
# Get Configuration Language
$query="SELECT `configValue` FROM #__sobi2_config WHERE `configKey`='language'";
$database->setQuery($query);
$sobi2Language=$database->loadResult();
#print 'Debug Line '&#46;__LINE__&#46;' $sobi2Language structure <pre>'; print_r ($sobi2Language); print "</pre><br />\n";
# Get the Custom Field Labels for this language
$query="SELECT langValue,fieldid FROM #__sobi2_language WHERE fieldid IN ($customFieldsMatch) AND sobi2Lang='{$sobi2Language}'";
$database->setQuery($query);
$sobi2Labels=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $sobi2Labels structure <pre>'; print_r ($sobi2Labels); print "</pre><br />\n";
# Build Fields Labels arrary
foreach ($sobi2Labels as $Label)$customFieldsLabels[$Label->fieldid&#93;=$Label->langValue;
# print 'Debug Line '&#46;__LINE__&#46;' $customFieldsLabels structure <pre>'; print_r ($customFieldsLabels); print "</pre><br />\n";
}
# Build $records for Custom Fields
foreach ($customFieldsData as $customFieldData){
$records[$customFieldData->itemid&#93;['itemId'&#93;=$customFieldData->itemid;
$records[$customFieldData->itemid&#93;['fieldId'&#46;$customFieldData->fieldid&#93;=$customFieldData->data_txt;
if ($params->get('displayCustomFieldLabels')=='TRUE')
$records[$customFieldData->itemid&#93;['fieldLabel'&#46;$customFieldData->fieldid&#93;=$customFieldsLabels[$customFieldData->fieldid&#93;;
}


$class $params->get('class_sfx');
$limit $params->get('count');
if(!
$limit || $limit 2)
$limit 5;
$query "SELECT `id` FROM `#__menu` WHERE `link` LIKE '%index&#46;php?option=com_sobi2%' AND `type` = 'components' AND `published` = '1' LIMIT 1";
$database->setQuery$query );
$S_Itemid $database->loadResult();

$query "SELECT COUNT(*) AS `Rows`, #__sobi2_plugin_reviews&#46;itemid, #__sobi2_item&#46;itemid, #__sobi2_item&#46;title AS `title` FROM `#__sobi2_plugin_reviews`, `#__sobi2_item` WHERE #__sobi2_plugin_reviews&#46;itemid=#__sobi2_item&#46;itemid AND #__sobi2_plugin_reviews&#46;title > '' GROUP BY #__sobi2_plugin_reviews&#46;itemid ORDER BY `Rows` DESC LIMIT {$limit}";
$database->setQuery$query );
$resutlts $database->loadObjectList();


$query "SELECT SUM(vote) / COUNT(*) as `medie`, #__sobi2_plugin_reviews&#46;itemid, #__sobi2_item&#46;itemid, #__sobi2_item&#46;icon AS `icon`,  #__sobi2_item&#46;title AS `title` FROM `#__sobi2_plugin_reviews`, `#__sobi2_item` WHERE #__sobi2_plugin_reviews&#46;itemid=$revid AND #__sobi2_plugin_reviews&#46;vote > 0 GROUP BY #__sobi2_plugin_reviews&#46;itemid ORDER BY `medie` DESC LIMIT {$limit}";
$database->setQuery$query );
$resultsrating $database->loadObjectList();

$query "SELECT #__sobi2_item&#46;icon AS `icon` FROM `#__sobi2_item` WHERE #__sobi2_item&#46;itemid=$revid";
$database->setQuery$query );
$resulticon $database->loadObjectList();

$url "index&#46;php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp;sobi2Id={$resutlt->itemid}&amp;Itemid={$S_Itemid}";
$url sefRelToAbs($url);
}

else $customFieldsData=FALSE;
#print 'Debug Line '&#46;__LINE__&#46;' $customFieldsData structure <pre>'; print_r ($customFieldsData); print "</pre><br />\n";
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End get Custom Fields data

# Get the standard Fields data for 'Featured Entries'
$query "SELECT itemid,title,icon,image FROM #__sobi2_item WHERE itemid IN ($itemidMatch) AND published = 1 LIMIT {$limit}";
$database->setQuery($query);
$stdFieldsData=$database->loadObjectList();
#print 'Debug Line '&#46;__LINE__&#46;' $stdFieldsData structure <pre>'; print_r ($stdFieldsData); print "</pre><br />\n";
# Build $records for standard Fields data
foreach ($stdFieldsData as $stdFieldData){
$records[$stdFieldData->itemid&#93;['title'&#93;=$stdFieldData->title;
$records[$stdFieldData->itemid&#93;['icon'&#93;=$stdFieldData->icon;
$records[$stdFieldData->itemid&#93;['image'&#93;=$stdFieldData->image;
}

# multi-dimensional array named $records now contains all required data
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End getting required data from Database

# Start Sort Module Output (using Sort Order parameters)
# (There is probably a better way to do this in PHP, but I don't know what it is)
switch ($params->get('sortOrder')){
case 'Random'&#58;
# We don't need to do anything, $records is already in random order
break;
case 'ItemidAsc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($b['itemId'&#93;,$a['itemId'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'ItemidDesc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($a['itemId'&#93;,$b['itemId'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'TitleAsc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($a['title'&#93;,$b['title'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'TitleDesc'&#58;
function sobi2ModFeaturedSort($a,$b){return strcmp($b['title'&#93;,$a['title'&#93;);}
usort($records,'sobi2ModFeaturedSort');
break;
case 'CustomFieldAsc'&#58;
$GLOBALS['$sobi2SortCustomFieldId'&#93;=$params->get('SortCustomFieldId');
function sobi2ModFeaturedSort($a,$b){
$key='fieldId'&#46;$GLOBALS['$sobi2SortCustomFieldId'&#93;;
return strcmp($a[$key&#93;,$b[$key&#93;);
}
usort($records,'sobi2ModFeaturedSort');
unset($GLOBALS['$sobi2SortCustomFieldId'&#93;);
break;
case 'CustomFieldDesc'&#58;
$GLOBALS['$sobi2SortCustomFieldId'&#93;=$params->get('SortCustomFieldId');
function sobi2ModFeaturedSort($a,$b){
$key='fieldId'&#46;$GLOBALS['$sobi2SortCustomFieldId'&#93;;
return strcmp($b[$key&#93;,$a[$key&#93;);
}
usort($records,'sobi2ModFeaturedSort');
unset($GLOBALS['$sobi2SortCustomFieldId'&#93;);
break;
default&#58;
# Shouldn't really be able to go here, so do nothing
break;
}
#print 'Debug Line '&#46;__LINE__&#46;' $records structure <pre>'; print_r ($records); print "</pre><br />\n";
# End Sort Module Output

# Start Build Module HTML output
$output="<!-- Start Module mod_sobi2featured -->\n";
$output&#46;="<div class='sobi2Featured{$class}'>\n";
$iso explode'='_ISO );


if(strtoupper($iso[1&#93;) != "UTF-8")
$string stripslashes(stripslashes(html_entity_decode($resutlt->title)));
else
$string stripslashes(stripslashes($resutlt->title));
$reviews $resutlt->Rows;

 {
$rating $resultrating->medie;
if ($rating >= 4&#46;7)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/05-0-star&#46;png alt="5-Stars">';
elseif ($rating >= 4&#46;3 and $rating < 4&#46;7)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/04-5-star&#46;png alt="4&#46;5-Stars">';
elseif ($rating >= 3&#46;7 and $rating < 4&#46;3)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/04-0-star&#46;png alt="4-Stars">';
elseif ($rating >= 3&#46;3 and $rating < 3&#46;7)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/03-5-star&#46;png alt="3&#46;5-Stars">';
elseif ($rating >= 2&#46;7 and $rating < 3&#46;3)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/03-0-star&#46;png alt="3-Stars">';
elseif ($rating >= 2&#46;3 and $rating < 2&#46;7)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/02-5-star&#46;png alt="2&#46;5-Stars">';
elseif ($rating >= 1&#46;7 and $rating < 2&#46;3)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/02-0-star&#46;png alt="2-Stars">';
elseif ($rating >= 1&#46;3 and $rating < 1&#46;7)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/01-5-star&#46;png alt="1&#46;5-Stars">';
elseif ($rating >= 0&#46;3 and $rating < 1&#46;3)
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/01-0-star&#46;png alt="1-Star">';
elseif ($rating 0&#46;3 )
$rating '<img class="ratingstars" src=components/com_sobi2/plugins/reviews/images/Star-Rating/01-0-star&#46;png alt="0-Star">';
}
foreach ($records as $record) {
#print 'Debug Line '&#46;__LINE__&#46;' $record structure <pre>'; print_r ($record); print "</pre><br />\n";
$output&#46;="\t<div class='entry'>\n";
if ($params->get('displayTitle')=='TRUE') {
if ($params->get('linkTitle')=='TRUE')
$output&#46;="\t\t<div class='title'><a href='{$record['href'&#93;}'>{$record['title'&#93;}</a></div>\n";
else
$output&#46;="\t\t<div class='title'>{$record['title'&#93;}</div>\n";
echo "<tr><th>Rating&#58;&nbsp; $rating</th></tr>";
}
if ($params->get('displayIcon')=='TRUE') {
if ($record['icon'&#93;==''){ # No Icon image file value in sobi2 database
$output&#46;="\t\t<div class='noicon'></div>\n";
}
else {
$url="images/com_sobi2/clients/{$record['icon'&#93;}";
$url=sefRelToAbs($url);
if ($params->get('linkIcon')=='TRUE')
$output&
#46;="\t\t<div class='icon'><a href='{$record['href'&#93;}'><img src='$url' alt='{$record['title'&#93;}' /></a></div>\n";
else
$output&
#46;="\t\t<div class='icon'><img src='$url' alt='{$record['title'&#93;}' /></div>\n";
}
}
if ($params->get('displayImage')=='TRUE') {
if ($record['image'&#93;==''){ # No Image image file value in sobi2 database
$output&#46;="
tt<div class='noimage'></div>n";
}
else {
$url="
images/com_sobi2/clients/{$record['image'&#93;}";
$url=sefRelToAbs($url);
if ($params->get('linkImage')=='TRUE')
$output&#46;="\t\t<div class='image'><a href='{$record['href'&#93;}'><img src='$url' alt='{$record['title'&#93;}' /></a></div>\n";
else
$output&#46;="\t\t<div class='image'><img src='$url' alt='{$record['title'&#93;}' /></div>\n";
}
}
if ($customFieldsData) {
$output&#46;="\t\t<div class='customfields'>\n";
#print 'Debug Line '&#46;__LINE__&#46;' $customFields <pre>'; print_r ($customFields); print "</pre><br />\n";
foreach ($customFields as $customField) {
#print 'Debug Line '&#46;__LINE__&#46;' $customField <pre>'; print_r ($customField); print "</pre><br />\n";
if ($params->get('displayCustomFieldLabels')=='TRUE')
$output&#46;="\t\t\t<div class='C{$customField}'><span>{$record['fieldLabel'&#46;$customField&#93;}"&#46;$params->get('LabelSeparator')&#46;"</span>{$record['fieldId'&#46;$customField&#93;}</div>\n";
else
$output&#46;="\t\t\t<div class='C{$customField}'>{$record['fieldId'&#46;$customField&#93;}</div>\n";
};
$output&#46;="\t\t</div>\n";
}
if ($params->get('displayLink')=='TRUE') {
$output&#46;="\t\t<div class='link'><a href='{$record['href'&#93;}'>"&#46;$params->get('displayLinkText')&#46;"</a></div>\n";
$output&#46;="\t</div>\n";
};
};
$output&#46;="</div>\n";
$output&#46;="<!-- End Module mod_sobi2featured -->\n";
# End Build Module HTML output
# Properly recode HTML and Special Characters
$iso explode'='_ISO );
if(strtoupper($iso[1&#93;) != "UTF-8")
$output=stripslashes(stripslashes(html_entity_decode($output)));
else
$output=stripslashes(stripslashes($output));
$sobi2ModFeaturedOutput=FALSE;
# Output HTML
echo $output;
}
?>

Every thing is working other than the stars count. It shows 1 star the whole time. Please help

Thanks

Do the right thing and muscle up
www.musclefitness.co.za
Snake Blisken
Newbie
*
Posts: 41



View Profile WWW
« Reply #1 on: December 08, 2008, 01:07:44 PM »

Sorry to bump this, but best would be to use sobi2 forum for this  Wink

Walk Slowly and carry a big gun
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 0.322 seconds with 20 queries.

Google visited last this page January 07, 2012, 09:55:46 PM