common.php3 //echo __FILE__ . __LINE__ . " 6 - ASSET_CLASS_SET" . defined("ASSET_CLASS_SET") . "
"; if( !defined("BFOPT_WITH_ALL") ){ require $_SERVER['DOCUMENT_ROOT'] . "/utils/TheBlobAPI.php3"; } if( !defined("ASSET_CLASS_SET") ){ require $_SERVER['DOCUMENT_ROOT'] . "/utils/TheAssetClass.php3"; } if( !defined("THE_DB_FORMS_MODULE") ){ require $_SERVER['DOCUMENT_ROOT'] . "/utils/DBForms.php3"; } //echo __FILE__ . __LINE__ . "ASSET_CLASS_SET" . defined("ASSET_CLASS_SET") . "
"; function GetCategory($CATEGORY_ID){ global $DB, $SLANG; $CATEGORY_ID = intval($CATEGORY_ID); $SQL = "select AIV_CATEGORY.*, ASSET_ID from AIV_CATEGORY LEFT JOIN AIV_ASSET ON CATEGORY_ID=RESOURCE_ID AND ASSET_TYPE='CATEGORY' where CATEGORY_ID='$CATEGORY_ID'"; if( $SLANG == "Ru" ){ $CategoryNameFld = "CATEGORY_NAME_Ru"; $CategoryDescFld = "CATEGORY_DESCR_Ru"; $CategoryTitleFld = "CATEGORY_TITLE_HTML_Ru"; }else{ $CategoryNameFld = "CATEGORY_NAME"; $CategoryDescFld = "CATEGORY_DESCR"; $CategoryTitleFld = "CATEGORY_TITLE_HTML"; } $Category = GetObject($DB, $SQL); if( trim($Category[$CategoryNameFld]) != "" ){ $Category["CATEGORY_NAME"] = $Category[$CategoryNameFld]; } if( trim($Category[$CategoryDescFld]) != "" ){ $Category["CATEGORY_DESCR"] = $Category[$CategoryDescFld]; } if( trim($Category[$CategoryTitleFld]) != "" ){ $Category["CATEGORY_TITLE_HTML"] = $Category[$CategoryTitleFld]; } return $Category; } // GetCategory function ShowCategoryMedia($CATEGORY_ID){ global $MAXIMAGESPERARTICLE; $CATEGORY_ID = intval($CATEGORY_ID); if( (!isset($CATEGORY_ID)) || ($CATEGORY_ID=="") || $CATEGORY_ID<=0 ){ return ; } $Blobs = new TheBlob; $Asset = new TheAsset() ; $Asset->LoadAsset2($CATEGORY_ID, 'CATEGORY'); $Asset->ShowImageList("category image", "Category Images", "CPICKS"); return; } function ShowCategoryGallery($CATEGORY_ID){ $CATEGORY_ID = intval($CATEGORY_ID); if( (!isset($CATEGORY_ID)) || ($CATEGORY_ID=="") || $CATEGORY_ID<=0 ){ return ; } $Asset = new TheAsset() ; $Asset->LoadAsset2($CATEGORY_ID, 'CATEGORY'); // var_dump($Asset) ; $TBlob = new TheBlob; $RelatedBlobIDs = $TBlob->FindBlobs($Asset->ASSET_ID, 'IMAGE', "", GetLimitationIDbyName("category gallery")); // var_dump($TBlob) ; // var_dump($RelatedBlobIDs) ; if( is_array($RelatedBlobIDs) && sizeof($RelatedBlobIDs) > 0 ){ echo "ASSET_ID . "\">В галерее изображений:" . sizeof($RelatedBlobIDs) . ""; }else{ echo "В галерее нет изображений"; } return; } function DeleteCategoryArticles($CATEGORY_ID){ } function DeleteCategoryURLs($CATEGORY_ID){ } function DeleteCategoryRelatedLinks($CATEGORY_ID){ } function GetCategoryArticleStats($CATEGORY_ID){ global $DB, $SLANG; $CATEGORY_ID = intval($CATEGORY_ID); if( (!isset($CATEGORY_ID)) || $CATEGORY_ID<0 ){ return "error: Bad category ID."; } $SQL = "select count(*) as numarts from AIV_ARTICLE where CATEGORY_ID='$CATEGORY_ID' and WORKFLOW_STATUS<>'NEW'"; $Data = GetObject($DB, $SQL); if( $Data ){ $numarts = $Data["numarts"]; }else{ $numarts = 0; } if( $numarts>0 ){ switch( $SLANG ){ case "Ru": return "В данном разделе $numarts документ(ов)."; default: return "$numarts article(s) in this category."; } }else{ switch( $SLANG ){ case "Ru": return "В данном разделе нет документов."; default: return "No articles in this category."; } } } function GetCategoryURLStats($CATEGORY_ID){ global $DB; $Unchecked = 0; $CATEGORY_ID = intval($CATEGORY_ID); if( (!isset($CATEGORY_ID)) || ($CATEGORY_ID=="") || $CATEGORY_ID<=0 ){ return "error: Bad category ID."; } $SQL = "select count(*) as numURLs from AIV_CATEGORY_URL where CATEGORY_ID='$CATEGORY_ID'"; $Data = GetObject($DB, $SQL); if( $Data ){ $numURLs = $Data["numURLs"]; $SQL = "select count(*) as Unchecked from AIV_CATEGORY_URL where CATEGORY_ID='$CATEGORY_ID' and STATUS='JUSTIN'"; $DataJI = GetObject($DB, $SQL); $Unchecked = $DataJI["Unchecked"]; $SQL = "select count(*) as Disabled from AIV_CATEGORY_URL where CATEGORY_ID='$CATEGORY_ID' and STATUS='DISABLED'"; $DataDis = GetObject($DB, $SQL); $Disabled = $DataDis["Disabled"]; }else{ $numURLs = 0; $Unchecked = 0; $Disabled = 0; } if( $numURLs>0 ){ return "Количество ссылок в разделе: $numURLs. Непроверенных: $Unchecked. Закрытых: $Disabled. "; }else{ return "В разделе нет ссылок. "; } } function GetCategoryPollStats($CATEGORY_ID) { global $DB; $CATEGORY_ID = intval($CATEGORY_ID); if( (!isset($CATEGORY_ID)) || $CATEGORY_ID<0 ){ return "error: Bad category ID."; } $Result = ""; $SQL = "select count(*) as cnt from AIV_QBASE where originator_id = '$CATEGORY_ID' and originator_class = '0'"; $Data = GetObject($DB, $SQL); if( $Data ){ $Result .= "Total: ".$Data["cnt"]." poll(s)"; } $SQL = "select count(*) as cnt from AIV_QBASE where originator_id = '$CATEGORY_ID' and originator_class = '0' and active = 'Y'"; $Data = GetObject($DB, $SQL); if( $Data ){ $Result .= " Enabled: ".$Data["cnt"]." poll(s)"; } if ($Result!=""){ return $Result; }else{ return "No polls in this category"; } } /* ** */ function AllowCreateCategory($UserID, $BaseCategoryID){ // echo "AC:"; return IsCE($UserID) || IsCategoryGuide($UserID, $BaseCategoryID); } function AllowModifyCategory($UserID, $BaseCategoryID){ // echo "AM:"; return IsCE($UserID) || IsCategoryGuide($UserID, $BaseCategoryID); } /* ** Really - nothing is deleted!!! we only lock access to data. */ function AllowDeleteCategory($UserID, $BaseCategoryID){ global $DB; // echo "AD:"; return IsCE($UserID) || IsCategoryGuide($UserID, $BaseCategoryID); } /* ** Category(Category) display subroutine */ function PrepareCategoryImagesAndLinks($folder, $article){ $Blobs = new TheBlob; $Asset = new TheAsset ; $Asset->LoadAsset2($folder, 'CATEGORY'); $RelatedBlobIDs = $Blobs->FindBlobs($Asset->ASSET_ID, 'IMAGE', "", GetLimitationIDbyName("category image") ); // var_dump($RelatedBlobIDs); if( is_array($RelatedBlobIDs) ){ $pattern = "\[IMG[ ]*.*\]" ; if( !ereg( $pattern, $article ) ){ // no direct image links in article for($bno = 0; $bno < sizeof($RelatedBlobIDs); $bno++ ){ $Blobs->LoadBlob($RelatedBlobIDs[$bno], 0); if( ereg_replace($Blobs->CD_CLASS, "", $EXCEPT) != $EXCEPT ){ continue; } $replacement = ""; $article = $replacement . $article; } }else{ // direct image links in article for($bno = 0; $bno < sizeof($RelatedBlobIDs); $bno++ ){ $Blobs->LoadBlob($RelatedBlobIDs[$bno], 0); if( ereg_replace($Blobs->CD_CLASS, "", $EXCEPT) != $EXCEPT ){ continue; } $pattern = "\[IMG[ ]*" . $Blobs->CD_NAME . "\]" ; $replacement = "CD_WIDTH' height='$Blobs->CD_HEIGHT'>"; $article = ereg_replace($pattern, $replacement, $article); } } } if( !ereg( "

", $article ) && !ereg( "
", $article ) ){ $article = nl2br($article); } srand((double)microtime()*1000000); $randval = rand(); $pattern = "\[RAND\]" ; $replacement = "$randval"; $article = ereg_replace($pattern, $replacement, $article); $pattern = "\[/A\]" ; $replacement = ""; $article = ereg_replace($pattern, $replacement, $article); return $article; } function CreateSymLinkCategory($BaseCategoryID, $ParentCategoryID){ global $DB; global $UserID; $Cat = GetCategoryByID($BaseCategoryID); if( !is_object($Cat) ){ return 0; } $Data['CATEGORY_DESCR'] = QuoteAndSlashes($Cat['CATEGORY_DESCR']); $Data['CATEGORY_PARENT_ID'] = QuoteAndSlashes($ParentCategoryID); $Data['CATEGORY_NAME'] = QuoteAndSlashes($Cat['CATEGORY_NAME']); $Data['CATEGORY_ORD'] = QuoteAndSlashes($Cat['CATEGORY_ORD']); $Data['CATEGORY_GUIDE_MEMBER_ID'] = QuoteAndSlashes(0); $Data['CATEGORY_CREATOR'] = QuoteAndSlashes($UserID); $Data['CATEGORY_BASE_ID'] = QuoteAndSlashes($BaseCategoryID); return DBInsert($DB, 'AIV_CATEGORY', $Data); } // CreateSymLinkCategory function GetSymLinkCategories($BaseCategoryID){ global $DB; $SLC = array() ; $SQL = "select CATEGORY_ID from AIV_CATEGORY where CATEGORY_BASE_ID='$BaseCategoryID'"; $result = GetArray($DB, $SQL); if( $result ){ for($cat=0; $cat EOF; for($slc=0; $slc<$nrows; $slc++){ $SLCategoryID = $result[$slc]["CATEGORY_ID"]; $PathWithHLinks = ""; $SLCategoryName = DrawThePath($SLCategoryID, $PathWithHLinks, "", $Node1Index, $__BoldDisabled=0, $__Style="", $__FirstCall=1); $Name = "$SLCategoryName\n"; $Output .=<< EOF; } $Output .=<<
Synonyms inAction
$Name
EOF; }else{ $Output = "

No symbolic links to current category"; } return $Output; } // ModifySuggestionsForm ?>