Index: trunk/kernel/include/itemreview.php
===================================================================
diff -u -r3983 -r7635
--- trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 3983)
+++ trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 7635)
@@ -4,17 +4,17 @@
{
$count = 0;
$sql = "SELECT count(*) as DupCount FROM $SourceTable WHERE IPAddress='$ip' and ItemId=$id";
- $adodbConnection = &GetADODBConnection();
+ $adodbConnection = &GetADODBConnection();
$rs = $adodbConnection->Execute($sql);
if($rs)
{
$count = $rs->fields["DupCount"];
}
- return ($count>0);
+ return ($count>0);
}
RegisterPrefix("clsItemReview","review","kernel/include/itemreview.php");
-
+
class clsItemReview extends clsParsedItem
{
function clsItemReview($ReviewId=NULL,$table="ItemReview")
@@ -46,25 +46,25 @@
$Errors->AddError("error.fieldIsRequired",'ReviewText',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
if(!isset($this->m_Pending))
{
$Error->AddError("error.fieldIsRequired",'Pending',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
if(!isset($this->m_IPAddress))
{
$Error->AddError("error.fieldIsRequired",'IPAddress',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
if(!isset($this->m_ItemId))
{
$Error->AddError("error.fieldIsRequired",'ItemId',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
if(!isset($this->m_CreatedById))
{
$Error->AddError("error.fieldIsRequired",'CreatedBy',"","",get_class($this),"Validate");
@@ -83,7 +83,7 @@
$Errors->AddError("error.AppError",NULL,'Internal error: LoadFromDatabase id',"",get_class($this),"LoadFromDatabase");
return false;
}
-
+
$sql = sprintf("SELECT * FROM ".$this->tablename." WHERE ReviewId = '%s'",$Id);
if( $GLOBALS['debuglevel'] ) echo $sql."
";
$result = $this->adodbConnection->Execute($sql);
@@ -97,8 +97,8 @@
$this->SetFromArray($data);
$this->Clean();
return TRUE;
- }
-
+ }
+
function MoveUp()
{
$this->Increment("Priority");
@@ -110,14 +110,14 @@
}
function ParseObject($element)
- {
+ {
global $objConfig, $objCatList, $rootURL, $objUsers, $objModules;
$extra_attribs = ExtraAttributes($element->attributes);
-
+
if(strtolower($element->name)==$this->TagPrefix)
- {
- $field = strtolower($element->attributes["_field"]);
+ {
+ $field = strtolower($element->attributes["_field"]);
switch($field)
{
case 'itemname':
@@ -126,25 +126,25 @@
$module_info=$module_info[$this->Get('Module')];
$ret=$db->GetOne('SELECT '.$module_info['ItemNameField'].' FROM '.GetTablePrefix().$module_info['MainTable'].' WHERE ResourceId='.$this->Get('ItemId'));
break;
-
+
case 'itemlink':
$db=&GetADODBConnection();
$module_info=$objModules->ExecuteFunction('GetModuleInfo','rel_list');
$module_info=$module_info[$this->Get('Module')];
$prefix=$db->GetOne('SELECT Var FROM '.$objModules->SourceTable.' WHERE Name=\''.$this->Get('Module').'\'');
-
+
$id=$db->GetOne('SELECT '.$module_info['MainTable'].'Id FROM '.GetTablePrefix().$module_info['MainTable'].' WHERE ResourceId='.$this->Get('ItemId'));
$GLOBALS[$prefix.'_var_list_update'][ $module_info['EnvIDField'] ]=$id;
-
+
/*$env_unparsed=explode(':',$_REQUEST['env']);
m_ParseEnv($tmp[1]);*/
-
+
$url=rtrim(GetIndexUrl(2),'index.php');
-
+
$ret = $url.strtolower($this->Get('Module')).'/admin/'.$module_info['EditFile'].'?env='.BuildEnv();
unset($GLOBALS[$prefix.'_var_list_update'][ $module_info['EnvIDField'] ]);
break;
-
+
case "id":
/*
@field:review.id
@@ -168,17 +168,17 @@
{
$ret = inp_htmlize($this->Get("ReviewText"));
}
- else
+ else
{
$ret = $this->Get("ReviewText");
}
-
+
$cut_first_chars=$element->GetAttributeByName('_CutFirst');
if($cut_first_chars && strlen($ret)>$cut_first_chars)
{
$ret=substr($ret,0,$cut_first_chars).' ...';
}
- break;
+ break;
case "ip":
/*
@field:review.ip
@@ -192,23 +192,23 @@
@description: Returns the review pening status
*/
$ret = $this->Get("Pending");
- break;
+ break;
case "item_type":
/*
@field:review.item_type
@description:Returns the name of the reviewed item type
*/
$type =& $objItemTypes->GetItem($this->Get("ItemType"));
if(is_object($type))
- $ret = $type->Get("ItemName");
+ $ret = $type->Get("ItemName");
break;
case "date":
/*
@field:review.date
@description:Returns the date/time the review was created
@attrib:_tz:bool:Convert the date to the user's local time
@attrib:_part::Returns part of the date. The following options are available: month,day,year,time_24hr,time_12hr
- */
+ */
$d = $this->Get("CreatedOn");
if($element->GetAttributeByName('_tz'))
{
@@ -221,9 +221,9 @@
$ret = ExtractDatePart($part,$d);
}
else
- {
+ {
if($d<=0)
- {
+ {
$ret = "";
}
else
@@ -243,18 +243,18 @@
}
if($this->Get("CreatedById")>0)
{
- $u =& $objUsers->GetItem($this->Get("CreatedById"));
- $e = new clsHtmlTag();
+ $u =& $objUsers->GetItem($this->Get("CreatedById"));
+ $e = new clsHtmlTag();
$e->name = $u->TagPrefix;
$e->attributes = $element->attributes;
$e->attributes["_field"] = $userfield;
$ret = $u->ParseObject($e);
}
- else
+ else
if($userfield=="login")
$ret = "root";
break;
-
+
case "admin_icon":
if( $element->GetAttributeByName('fulltag') )
{
@@ -265,7 +265,7 @@
$ret = $this->StatusIcon();
}
break;
-
+
default:
$tag = $this->TagPrefix."_".$field;
$ret = "Undefined: ".$tag->name;
@@ -274,7 +274,7 @@
}
else
{
- $ret = $element->Execute();
+ $ret = $element->Execute();
}
return $ret;
}
@@ -290,26 +290,26 @@
$ret .= "icon16_review_disabled.gif";
break;
case STATUS_PENDING:
- $ret .= "icon16_review_pending.gif";
+ $ret .= "icon16_review_pending.gif";
break;
case STATUS_ACTIVE:
$ret .= "icon16_review.gif";
break;
}
return $ret;
}
-
+
function parsetag($tag)
- {
+ {
global $objConfig, $objUsers, $objItemTypes;
if(is_object($tag))
- {
+ {
$tagname = $tag->name;
}
else
$tagname = $tag;
switch($tagname)
- {
+ {
case "review_id":
return $this->Get("ReviewId");
break;
@@ -318,13 +318,13 @@
break;
case "review_text":
return $this->Get("ReviewText");
- break;
+ break;
case "review_ip_address":
return $this->Get("IPAddress");
break;
case "review_pending":
return $this->Get("Pending");
- break;
+ break;
case "review_item_type":
$type =& $objItemTypes->GetItem($this->Get("ItemType"));
$res = $type->Get("ItemName");
@@ -333,7 +333,7 @@
case "review_created_date":
return LangDate($this->Get('CreatedOn'), 0, true);
break;
-
+
case "review_created_time":
if ($this->Get('CreatedOn') <= 0) {
return '';
@@ -343,10 +343,10 @@
case "review_created_date_month":
return adodb_date("m", $this->Get("CreatedOn"));
- break;
+ break;
case "review_created_date_day":
return adodb_date("d", $this->Get("CreatedOn"));
- break;
+ break;
case "review_created_date_year":
return adodb_date("Y", $this->Get("CreatedOn"));
break;
@@ -368,7 +368,15 @@
{
global $objItemTypes, $objMessageList;
- $type =& $objItemTypes->GetItem($this->Get("ItemType"));
+ $types = array(
+ 'In-Link' => 4,
+ 'In-Bulletin' => 3,
+ 'In-Commerce' => 11,
+ 'In-News' => 2,
+ );
+ $type_id = $types[$this->Get('Module')];
+
+ $type =& $objItemTypes->GetItem($type_id);
$res = $type->Get("ItemName");
$EventName = $res.$Suffix;
@@ -378,7 +386,7 @@
if($Event->Get("Enabled")=="1")
{
$Event->Item = $this;
- return $Event->SendToUser($ToUserId);
+ return $Event->SendToUser($ToUserId);
}
}
}
@@ -387,7 +395,16 @@
{
global $objItemTypes, $objMessageList;
- $type =& $objItemTypes->GetItem($this->Get("ItemType"));
+ $types = array(
+ 'In-Link' => 4,
+ 'In-Bulletin' => 3,
+ 'In-Commerce' => 11,
+ 'In-News' => 2,
+ );
+ $type_id = $types[$this->Get('Module')];
+
+ $type =& $objItemTypes->GetItem($type_id);
+
$res = $type->Get("ItemName");
$EventName = $res; //.$Suffix;
@@ -427,7 +444,7 @@
{
$GLOBALS['m_var_list']['reviews_page']=$this->Page;
}
-
+
function ItemCount()
{
return $this->NumItems();
@@ -461,7 +478,7 @@
if($TodayOnly)
{
$today = adodb_mktime(0,0,0,adodb_date('m'),adodb_date('d'),adodb_date('Y'));
- $sql .= ' AND CreatedOn >= '.$today;
+ $sql .= ' AND CreatedOn >= '.$today;
}
return (int)$this->adodbConnection->GetOne($sql);
}
@@ -508,49 +525,49 @@
$Priority, $ItemId,$ItemType,$CreatedById,$TextFormat=0,$Module)
{
global $objSession;
-
- $r = new clsItemReview(NULL,$this->SourceTable);
-
- $ReviewText = str_replace("env=".$objSession->GetSessionKey(), "env=",$ReviewText);
+
+ $r = new clsItemReview(NULL,$this->SourceTable);
+
+ $ReviewText = str_replace("env=".$objSession->GetSessionKey(), "env=",$ReviewText);
//$r->debuglevel = 1;
$r->Set(array("CreatedOn","ReviewText","Status", "IPAddress",
"Priority","ItemId","ItemType","CreatedById","TextFormat","Module"),
array($CreatedOn,$ReviewText,$Status, $IPAddress,
- $Priority, $ItemId,$ItemType,$CreatedById,$TextFormat,$Module));
- $r->Create();
+ $Priority, $ItemId,$ItemType,$CreatedById,$TextFormat,$Module));
+ $r->Create();
array_push($this->Items,$r);
if($Status==1)
{
$r->SendUserEventMail("REVIEW.ADD",$CreatedById);
- $r->SendAdminEventMail("REVIEW.ADD");
+ $r->SendAdminEventMail("REVIEW.ADD");
}
else
{
$r->SendUserEventMail("REVIEW.ADD.PENDING",$CreatedById);
- $r->SendAdminEventMail("REVIEW.ADD.PENDING");
+ $r->SendAdminEventMail("REVIEW.ADD.PENDING");
}
return $r;
}
- function EditReview($ReviewId,$CreatedOn,$ReviewText, $Status,
+ function EditReview($ReviewId,$CreatedOn,$ReviewText, $Status,
$IPAddress, $Priority, $ItemId,$ItemType,$CreatedById,$TextFormat,$Module='')
{
global $objSession;
-
+
$r = $this->GetItem($ReviewId);
if($CreatedById==0)
$CreatedById = $r->Get("CreatedById");
- $r->Set(array("ReviewId","CreatedOn","ReviewText","Status",
+ $r->Set(array("ReviewId","CreatedOn","ReviewText","Status",
"IPAddress", "Priority", "ItemId","ItemType","CreatedById","TextFormat"),
array($ReviewId,$CreatedOn,$ReviewText,$Status,
$IPAddress, $Priority, $ItemId,$ItemType,$CreatedById,$TextFormat));
if($Module) $r->Set('Module',$Module);
-
+
$r->Update();
//$r->SendUserEventMail("REVIEW.MODIFY",$objSession->Get("PortalUserId"));
- $r->SendAdminEventMail("REVIEW.MODIFY");
+ $r->SendAdminEventMail("REVIEW.MODIFY");
return $r;
}
@@ -584,7 +601,7 @@
$idlist = array();
$sql = 'SELECT * FROM '.$edit_table;
$this->Clear();
-
+
// get all items in edit-table
$rs = $this->adodbConnection->Execute($sql);
while($rs && !$rs->EOF)
@@ -593,18 +610,18 @@
$c = $this->AddItemFromArray($data);
$c->Dirty();
$c->Update();
-
+
$idlist[] = $c->Get("ReviewId");
$rs->MoveNext();
}
-
+
//echo "DEL REVIEW SQL: $sql
";
-
+
$this->PurgeEditTable();
-
+
unset($GLOBALS['_CopyFromEditTable']);
}
-
+
function CopyFromEditTable($ResourceId, $saveEditTable = false)
{
global $objSession;
@@ -639,9 +656,9 @@
$sql = "DELETE FROM ".$this->SourceTable." WHERE ItemId=$ResourceId ".(count($idlist) > 0 ? "AND ReviewId NOT IN (".implode(",",$idlist).")" : "");
//echo "DEL REVIEW SQL: $sql
";
$this->adodbConnection->Execute($sql);
-
+
if(!$saveEditTable) $this->PurgeEditTable();
-
+
unset($GLOBALS['_CopyFromEditTable']);
}
@@ -650,8 +667,8 @@
$edit_table = $GLOBALS['objSession']->GetEditTable($this->SourceTable);
@$this->adodbConnection->Execute("DROP TABLE IF EXISTS ".$edit_table);
}
-
+
function GetPageLinkList(&$UpdateVar,$dest_template=NULL,$page = NULL,$PagesToList=10,$HideEmpty=TRUE)
{
global $objConfig, $var_list_update, $var_list;
@@ -716,26 +733,26 @@
$UpdateVar["rp"]=$this->Page+$PagesToList;
$next_url = HREF_Wrapper();
$o .= " >>";
- }
+ }
unset($UpdateVar,$var_list_update["t"] );
- return $o;
+ return $o;
}
-
+
function AdminPrintItems($template)
{
// prints item listing for admin (browse/advanced view) tabs
$o = '