Index: trunk/kernel/include/itemreview.php =================================================================== diff -u -N -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 = ''; - + $i = 1; - + $topleft = 0; $topright = 0; $rightcount = 0; $total_items = $this->NumItems(); $topleft = ceil($total_items / 2); $topright = $total_items - $topleft; - - for($x = 0; $x < $topleft; $x++) + + for($x = 0; $x < $topleft; $x++) { //printingleft $item = $this->Items[$x]; @@ -746,13 +763,13 @@ } $o .= $item->AdminParseTemplate($template); $i++; - + //printingright - if ($rightcount < $topright && ( ($x + $topleft) < $total_items) ) + if ($rightcount < $topright && ( ($x + $topleft) < $total_items) ) { $item = $this->Items[ $x + $topleft ]; if ($i > 2) - { + { $o.="\n"; $i = 1; } @@ -761,7 +778,7 @@ $rightcount++; } } - $o .= "\n
\n"; + $o .= "\n\n"; return $o; }