/*
** Search API
*/
require_once $_SERVER['DOCUMENT_ROOT'] . "/utils/TheAssetClass.php3";
require_once $_SERVER['DOCUMENT_ROOT'] . "/utils/DBForms.php3";
DEFINE('SRCH_ALL', 0);
DEFINE('SRCH_ARTICLES', 1);
DEFINE('SRCH_MEMBERS', 2);
DEFINE('SRCH_CATEGORIES', 3);
DEFINE('SRCH_LINKS', 4);
DEFINE('SRCH_FORUMMESSAGES', 5);
DEFINE('SRCH_NEWS', 6);
DEFINE('SRCH_GLOSSARY', 7);
DEFINE('SRCH_CALENDAR', 8);
DEFINE('SRCH_FORUMS', 9);
//DEFINE(SRCH_ , 9);
const USE_DYNACONT_WEBLINKS = false;
const USE_DYNACONT_GLOSSARY = false;
const USE_DYNACONT_CALENDAR = false;
// Visual search targets
if( $SLANG == "Ru" ){
$SRCH_TARGETS['SRCH_ALL'] = "Все страницы";
$SRCH_TARGETS['SRCH_ARTICLES'] = "Документы";
$SRCH_TARGETS['SRCH_MEMBERS'] = "Персональные страницы";
$SRCH_TARGETS['SRCH_CATEGORIES'] = "Разделы сайта";
if( USE_DYNACONT_WEBLINKS == true )
$SRCH_TARGETS['SRCH_LINKS'] = "WWW адреса";
$SRCH_TARGETS['SRCH_FORUMMESSAGES'] = "Сообщения в форумах";
$SRCH_TARGETS['SRCH_NEWS'] = "Новости";
if( USE_DYNACONT_GLOSSARY == true )
$SRCH_TARGETS['SRCH_GLOSSARY'] = "Словарь";
if( USE_DYNACONT_CALENDAR == true )
$SRCH_TARGETS['SRCH_CALENDAR'] = "Календарь";
$SRCH_BACK_NAMES["ARTICLE"] = "Документ";
$SRCH_BACK_NAMES["PERSONALITY"] = "Участник";
$SRCH_BACK_NAMES["CATEGORY"] = "Раздел";
$SRCH_BACK_NAMES["WEB_LINK"] = "WWW ссылка";
$SRCH_BACK_NAMES["FORUM_MESSAGE"] = "Сообщение";
$SRCH_BACK_NAMES["NEWS_ITEM"] = "Новость";
$SRCH_BACK_NAMES["GLOSSARY_ITEM"] = "Словарь";
$SRCH_BACK_NAMES["CALENDAR_ITEM"] = "Календарь";
$SRCH_KW_COUNTER = " ключевых слов ";
}else{
$SRCH_TARGETS['SRCH_ALL'] = "All pages";
$SRCH_TARGETS['SRCH_ARTICLES'] = "Articles";
$SRCH_TARGETS['SRCH_MEMBERS'] = "Personal pages";
$SRCH_TARGETS['SRCH_CATEGORIES'] = "Categories";
if( USE_DYNACONT_WEBLINKS == true )
$SRCH_TARGETS['SRCH_LINKS'] = "Links";
$SRCH_TARGETS['SRCH_FORUMMESSAGES'] = "Forum messages";
$SRCH_TARGETS['SRCH_NEWS'] = "News";
if( USE_DYNACONT_GLOSSARY == true )
$SRCH_TARGETS['SRCH_GLOSSARY'] = "Dictionary";
if( USE_DYNACONT_CALENDAR == true )
$SRCH_TARGETS['SRCH_CALENDAR'] = "Calendar";
$SRCH_BACK_NAMES["ARTICLE"] = "Article";
$SRCH_BACK_NAMES["PERSONALITY"] = "Personal page";
$SRCH_BACK_NAMES["PERSONALITY_Member"] = "Personal page";
$SRCH_BACK_NAMES["PERSONALITY_Editor"] = "Personal page";
$SRCH_BACK_NAMES["PERSONALITY_Administrator"] = "Personal page";
$SRCH_BACK_NAMES["CATEGORY"] = "Category";
$SRCH_BACK_NAMES["WEB_LINK"] = "Web link";
$SRCH_BACK_NAMES["FORUM_MESSAGE"] = "Forum message";
$SRCH_BACK_NAMES["NEWS_ITEM"] = "News";
$SRCH_BACK_NAMES["GLOSSARY_ITEM"] = "Dictionary";
$SRCH_BACK_NAMES["CALENDAR_ITEM"] = "Calendar";
$SRCH_KW_COUNTER = " keywords ";
}
$SRCH_TARGETS_TYPE['SRCH_ALL'] = "";
$SRCH_TARGETS_TYPE['SRCH_ARTICLES'] = "ARTICLE";
$SRCH_TARGETS_TYPE['SRCH_MEMBERS'] = "PERSONALITY";
$SRCH_TARGETS_TYPE['SRCH_CATEGORIES'] = "CATEGORY";
$SRCH_TARGETS_TYPE['SRCH_LINKS'] = "WEB_LINK";
$SRCH_TARGETS_TYPE['SRCH_FORUMMESSAGES'] = "FORUM_MESSAGE";
$SRCH_TARGETS_TYPE['SRCH_NEWS'] = "NEWS_ITEM";
$SRCH_TARGETS_TYPE['SRCH_FORUMS'] = "FORUM";
$SRCH_TARGETS_TYPE['SRCH_GLOSSARY'] = "GLOSSARY_ITEM";
$SRCH_TARGETS_TYPE['SRCH_CALENDAR'] = "CALENDAR_ITEM";
// var_dump($SRCH_TARGETS);
// var_dump($SRCH_TARGETS_TYPE);
// var_dump($SRCH_BACK_NAMES);
function CleanupKeywordList($AssetID){
global $DB;
DBDelete($DB, 'AIV_KEYWORD_ASSET', "asset_id='$AssetID'"); // delete
} // CleanupKeywordList($AssetID)
function CleanUpResourceLinks($ResorceId, $ResourceType){
$Asset = new TheAsset;
$Asset->GetTheAsset2($ResorceId, $ResourceType);
if( $Asset->error ){
// no asset for this object. create new one...
// just return...
return;
}
$Asset->SetAssetStatus('DISABLED');
$Asset->SaveAsset();
CleanupKeywordList($AssetID);
} // CleanUpResourceLinks($ResorceId, $ResourceType)
function PrepareWordList($document){
// no newlines
$document = ereg_replace("\n", " ", $document);
$document = ereg_replace("\r", " ", $document);
// deHTML text
$document = ereg_replace("<[a-zA-Z0-9/]{1,12}[^<]*>", " ", $document);
$document = ereg_replace(""", " ", $document);
$document = ereg_replace("&", " ", $document);
$document = ereg_replace("<", " ", $document);
$document = ereg_replace(">", " ", $document);
// no digits
// $document = ereg_replace("[0-9]+", " ", $document);
// no leading / trailing dashes
$document = ereg_replace("- ", " ", $document);
$document = ereg_replace(" -", " ", $document);
// no special chars
$document = ereg_replace('"', " ", $document);
$document = ereg_replace(" '", " ", $document);
$document = ereg_replace(" `", " ", $document);
$document = ereg_replace("#", " ", $document);
$document = ereg_replace("\?", " ", $document);
$document = ereg_replace("\.", " ", $document);
$document = ereg_replace(",", " ", $document);
$document = ereg_replace("<", " ", $document);
$document = ereg_replace(">", " ", $document);
$document = ereg_replace(":", " ", $document);
$document = ereg_replace(";", " ", $document);
// $document = ereg_replace("\\", " ", $document);
$document = ereg_replace("\|", " ", $document);
$document = ereg_replace("/", " ", $document);
// $document = ereg_replace("//", "/", $document);
$document = ereg_replace("\[", " ", $document);
$document = ereg_replace("]", " ", $document);
$document = ereg_replace("\{", " ", $document);
$document = ereg_replace("}", " ", $document);
$document = ereg_replace("\(", " ", $document);
$document = ereg_replace(")", " ", $document);
$document = ereg_replace("~", " ", $document);
$document = ereg_replace("!", " ", $document);
$document = ereg_replace("@", " ", $document);
$document = ereg_replace("#", " ", $document);
$document = ereg_replace("$", " ", $document);
$document = ereg_replace("%", " ", $document);
$document = ereg_replace("^", " ", $document);
$document = ereg_replace("&", " ", $document);
$document = ereg_replace("\*", " ", $document);
$document = ereg_replace("=", " ", $document);
$document = ereg_replace("_", " ", $document);
$document = ereg_replace("\+", " ", $document);
// repeated spaces converted to one
$document = trim(ereg_replace(" +", " ", $document));
$document = strtolower($document);
// echo "Trimmed document:
" . $document . "\n
[END]";
$warr = explode(" ", $document) ;
// echo sizeof($warr) . " words
";
// sort ( $warr ) ;
$whash = array();
for($w=0; $wResults:
";
$wc = 0;
unset($WList);
foreach( $whash as $key=>$val ){
if( strlen($key)>2 ){
// echo "$key => $val
";
$WList[$wc] = $key ;
$wc ++ ;
}
}
unset($whash);
if( !isset($WList) ){
return false;
}else{
return $WList;
}
} // PrepareWordList
function InitAssetKeyWords($AssetID, $AssetText){
global $DB ;
CleanupKeywordList($AssetID);
$WList = PrepareWordList($AssetText);
if( !is_array($WList) ){
return 0;
}
$NWords = sizeof($WList);
$SQL = "INSERT IGNORE INTO AIV_KEYWORD (keyword) VALUES " ;
for($w=0; $w<$NWords; $w++){
if( $w > 0 ){
$SQL = $SQL . ", ('" . addslashes($WList[$w]) . "')" ;
}else{
$SQL = $SQL . " ('" . addslashes($WList[$w]) . "')" ;
}
}
DBExec($DB, $SQL); // complex insert multivalues
$SQL = "insert into AIV_KEYWORD_ASSET (keyword_id, asset_id) SELECT keyword_id, '$AssetID' from AIV_KEYWORD WHERE " ;
for($w=0; $w<$NWords; $w++){
if( $w > 0 ){
$SQL = $SQL . "or (keyword='" . addslashes($WList[$w]) . "')" ;
}else{
$SQL = $SQL . " (keyword='" . addslashes($WList[$w]) . "')" ;
}
}
DBExec($DB, $SQL); // complex insert multivalues
return $NWords ;
} // InitAssetKeyWords($AssetID, $AssetText)
DEFINE('CONCAT_ACTION_AND' , " and " );
DEFINE('CONCAT_ACTION_OR' , " or " );
function GenerateDirectWordList($document, $keyfieldname, $concataction = CONCAT_ACTION_OR){
if( $keyfieldname == "" ){
return "";
}
$WList = PrepareWordList($document);
if( !is_array($WList) ){
return "";
}
for($w=0; $w $v){
$keyword_id = $v["keyword_id"];
if( $Nfound == 0 ){
$RetSQL = "($keyfieldname = '$keyword_id')" ;
$Nfound++;
}else{
$RetSQL = $RetSQL . $concataction . "($keyfieldname = '$keyword_id')" ;
}
}
}
}
return $RetSQL ;
} // GenerateIDWordList($document, $keyfieldname, $concataction = CONCAT_ACTION_OR)
/////////////////////////////////////////
function GetURLByID($UrlID){
global $DB;
/*
| URL_ID | int(11) | | PRI | 0 | auto_increment |
| URL | varchar(80) | | MUL | | |
| CATEGORY_ID | int(11) | | | 0 | |
| PUBDATE | datetime | YES | | NULL | |
| MEMBER_ID | int(11) | | | 0 | |
| URLDESCRIPTION | varchar(255) | YES | | | |
| STATUS | char(1) | YES | | N | |
*/
$SQL = "select AIV_CATEGORY_URL.*, AIV_CATEGORY.CATEGORY_NAME, login from AIV_CATEGORY_URL " .
" left join AIV_CATEGORY on AIV_CATEGORY_URL.CATEGORY_ID=AIV_CATEGORY.CATEGORY_ID " .
" left join AIV_MEMBER on AIV_CATEGORY_URL.MEMBER_ID=AIV_MEMBER.id where AIV_CATEGORY_URL.URL_ID='$UrlID'";
return GetObject($DB, $SQL);
} // end GetURLByID
function IndexifyURL($UrlID){
$TheURL = GetURLByID($UrlID);
if( !$TheURL ){
return 0;
}
$SOMETEXT = stripslashes($TheURL['URLDESCRIPTION']) . " " .
stripslashes($TheURL['URL']) . " " .
stripslashes($TheURL['CATEGORY_NAME']) . " " .
$TheURL['login'] ;
$Asset = new TheAsset;
$Asset->GetTheAsset2($TheURL['URL_ID'], 'WEB_LINK');
if( $Asset->error ){
// no asset for this object. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($TheURL['URL_ID'], 'WEB_LINK', $TheURL['MEMBER_ID'] );
}
$Asset->SetAssetCaption( $TheURL['URL'], $TheURL['URL'] );
$Asset->SetAssetStatus('PUBLISHED');
if( $TheURL->STATUS=='ENABLED' ){
$Asset->SetAssetStatus('PUBLISHED');
}else{
$Asset->SetAssetStatus('DISABLED');
}
$Asset->PUBDATE = $TheURL['PUBDATE'];
$Asset->SaveAsset();
if( $TheURL['STATUS']=='ENABLED' ){
InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
}else{
CleanupKeywordList($Asset->ASSET_ID);
}
return 1;
} // end IndexifyURL
/////////////////////////////////////////
function IndexifyUser($TUID){
$User = new Member ;
$User->GetUserByID($TUID);
if( !is_object($User) ){
return 0;
}
$SOMETEXT = $User->login . " " .
$User->birthplace . " " .
stripslashes($User->first_name) . " " .
stripslashes($User->middle_name) . " " .
stripslashes($User->last_name) . " " .
stripslashes($User->addr_street) . " " .
stripslashes($User->addr_city) . " " .
stripslashes($User->addr_province) . " " .
stripslashes($User->occupation_name) . " " .
stripslashes($User->industry_name) . " " .
stripslashes($User->AIV_MS_NAME) . " " .
stripslashes($User->country_name) . " " .
stripslashes($User->state_name) . " " .
stripslashes($User->self_descr) . " " .
stripslashes($User->quote) ;
// $User-> . " " .
$Asset = new TheAsset;
$Asset->GetTheAsset2($TUID, 'PERSONALITY');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($TUID, 'PERSONALITY', $TUID );
}
$Asset->SetAssetCaption($User->login, $User->login);
if( $User->status != "DISABLED" ){
$Asset->SetAssetStatus('PUBLISHED');
}else{
$Asset->SetAssetStatus('DISABLED');
}
$Asset->PUBDATE = $User->registry_date;
$Asset->SaveAsset();
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
return 1;
}
///////////////////////////////////////////////
function GetCategoryByID($CategoryID){
global $DB;
$SQL="select AIV_CATEGORY.* from AIV_CATEGORY where CATEGORY_ID='$CategoryID'";
return GetObject($DB, $SQL);
} // end GetCategoryByID
function IndexifyCategory($CATEGORY_ID){
$Category = GetCategoryByID($CATEGORY_ID);
if( !$Category ){
return 0;
}
$SOMETEXT =
stripslashes($Category['CATEGORY_NAME']) . " " .
stripslashes($Category['CATEGORY_NAME_Ru']) . " " .
stripslashes($Category['CATEGORY_DESCR']) . " " .
stripslashes($Category['CATEGORY_DESCR_Ru']) . " " .
stripslashes($Category['CATEGORY_TITLE_HTML']) . " " .
stripslashes($Category['CATEGORY_TITLE_HTML_Ru']) . " " .
stripslashes($Category['CATEGORY_KEYWORDS_HTML']) . " " .
stripslashes($Category['CATEGORY_DESCRIPTION_HTML']) . " "
;
$Asset = new TheAsset;
$Asset->GetTheAsset2($CATEGORY_ID, 'CATEGORY');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($CATEGORY_ID, 'CATEGORY', $Category['CATEGORY_CREATOR']);
}
$Asset->SetAssetCaption($Category['CATEGORY_NAME'], $Category['CATEGORY_NAME_Ru']);
// var_dump($Category->CATEGORY_NAME_Ru);
if( $Category['CATEGORY_STATUS'] == "DISABLED" ){
$Asset->SetAssetStatus('DISABLED');
}else{
$Asset->SetAssetStatus('PUBLISHED');
}
$Asset->SaveAsset();
// var_dump($Asset);
if( $Category['CATEGORY_STATUS'] == "DISABLED" ){
CleanupKeywordList($Asset->ASSET_ID);
}else{
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
}
return 1;
} // end IndexifyCategory
///////////////////////////////////
function IndexifyArticle( $ARTICLE_ID ){
$Article = new TheArticle( $ARTICLE_ID );
if( !is_object($Article) ){
return 0;
}
$SOMETEXT = $Article->MEMBER_AUTHOR_NAME . " " .
stripslashes($Article->SHORT_ARTICLE) . " " .
stripslashes($Article->HEADLINE) . " " .
stripslashes($Article->GetDocument()) ;
$Asset = new TheAsset;
$Asset->GetTheAsset2($Article->ARTICLE_ID, 'ARTICLE');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($Article->ARTICLE_ID, 'ARTICLE', $Article->MEMBER_AUTHOR );
}
$Asset->SetAssetCaption($Article->HEADLINE, $Article->HEADLINE);
if( ($Article->WORKFLOW_STATUS == "PUBLISHED") || ($Article->WORKFLOW_STATUS == "EDITED") ){
$Asset->SetAssetStatus('PUBLISHED');
}else{
$Asset->SetAssetStatus('NEW');
}
$Asset->PUBDATE = $Article->PUBDATE;
$Asset->SaveAsset();
if( ($Article->WORKFLOW_STATUS == "PUBLISHED") || ($Article->WORKFLOW_STATUS == "EDITED") ){
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
}else{
CleanupKeywordList($Asset->ASSET_ID);
}
return 1;
} // end IndexifyArticle
///////////////////////////////////////
function GetForumByID($FORUM_ID){
global $DB;
/*
| forum_id | int(11) | | PRI | 0 | auto_increment |
| forum_name | varchar(100) | | UNI | | |
| forum_admin | int(11) | | | 0 | |
| forum_issystem | char(1) | | | Y | |
| forum_active | char(1) | | | Y | |
| forum_desc | text | YES | | NULL | |
| forum_verified | char(1) | | | N | |
| forum_class | varchar(128) | | | | |
| forum_regdate | datetime | | | 0000-00-00 00:00:00 | |
*/
// $SQL = "select AIV_FORUM.*, AIV_MEMBER.login, AIV_MEMBER.self_descr, AIV_MEMBER.quote from AIV_FORUM " .
$SQL = "select AIV_FORUM.*, AIV_MEMBER.login from AIV_FORUM " .
"left join AIV_MEMBER on CATEGORY_GUIDE_MEMBER_ID=AIV_MEMBER.id " .
"where forum_id='$FORUM_ID'";
return GetObject($DB, $SQL);
} // end GetForumByID
function IndexifyForum($FORUM_ID){
$Forum = GetForumByID($FORUM_ID);
if( !$Forum ){
return 0;
}
$FORUM_NAME = stripslashes($Forum['forum_name']);
$FORUM_DESC = stripslashes($Forum['forum_desc']);
$FORUM_REGD = $Forum['forum_regdate'];
$FORUM_CLSS = stripslashes($Forum['forum_class']);
$FORUM_ADMINID = $Forum['forum_admin'];
if( $FORUM_ADMINID>0 ){
$FORUM_ADMIN = $Forum['login'];
// $FORUM_ADMSD = $Forum['self_descr'];
// $FORUM_ADMQT = $Forum['quote'];
}else{
$FORUM_ADMIN = "";
// $FORUM_ADMSD = "";
// $FORUM_ADMQT = "";
}
$SOMETEXT = $FORUM_NAME . " " .
$FORUM_DESC . " " .
$FORUM_ADMIN . " " .
// $FORUM_ADMSD . " " .
// $FORUM_ADMQT . " " .
$FORUM_CLSS ;
$Asset = new TheAsset;
$Asset->GetTheAsset2($FORUM_ID, 'FORUM');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($FORUM_ID, 'FORUM', $FORUM_ADMINID );
}
$Asset->SetAssetCaption($FORUM_NAME, $FORUM_NAME);
$Asset->SetAssetStatus('PUBLISHED');
$Asset->PUBDATE = $FORUM_REGD;
$Asset->SaveAsset();
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
} // end IndexifyForum
///////////////////////////////////////
function GetForumMessageByID($FORUMMSG_ID){
global $DB;
$SQL = "select AIV_COMMENTS.*, login from AIV_COMMENTS ".
"left join AIV_MEMBER on AIV_COMMENTS.COMMENTS_WRITER_ID=AIV_MEMBER.id " .
"where COMMENTS_ID='$FORUMMSG_ID'";
return GetObject($DB, $SQL);
} // end GetForumMessageByID
function IndexifyForumMessage($FORUMMSG_ID){
$ForumMsg = GetForumMessageByID($FORUMMSG_ID);
if( !$ForumMsg ){
return 0;
}
$SOMETEXT = stripslashes($ForumMsg['COMMENTS_SUBJ']) . " " .
stripslashes($ForumMsg['COMMENTS_TEXT']) . " " .
$ForumMsg['login'];
$Asset = new TheAsset;
$Asset->GetTheAsset2($FORUMMSG_ID, 'FORUM_MESSAGE');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($FORUMMSG_ID, 'FORUM_MESSAGE', $ForumMsg['COMMENTS_WRITER_ID'] );
// echo "(+)";
}
$Asset->SetAssetCaption( $ForumMsg['COMMENTS_SUBJ'], $ForumMsg['COMMENTS_SUBJ'] );
$Asset->SetAssetStatus('PUBLISHED');
$Asset->PUBDATE = $ForumMsg['COMMENTS_PUBDATE'];
$Asset->SaveAsset();
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
return 1;
} // end IndexifyForumMessage
function GetGlossaryItemById($GLOSSARY_ID)
{
global $DB;
$SQL="select AIV_GLOSSARY.*, login from AIV_GLOSSARY ".
"left join AIV_MEMBER on AIV_GLOSSARY.GLOSSARY_MEMBER_ID=AIV_MEMBER.id ".
"where GLOSSARY_ID=$GLOSSARY_ID and GLOSSARY_ACTIVE='Y'";
return GetObject($DB, $SQL);
}
function IndexifyGlossaryItem( $GLOSSARY_ID )
{
global $DB;
global $AssetID;
$GlossaryItem=GetGlossaryItemById($GLOSSARY_ID);
if( !$GlossaryItem )
return 0;
$SOMETEXT = stripslashes($GlossaryItem['GLOSSARY_WORD']) . " " .
stripslashes($GlossaryItem['GLOSSARY_DESCRIPTION']) . " ".
$GlossaryItem['login'] ;
// echo " SOMETEXT = $SOMETEXT .
";
$Asset = new TheAsset;
$Asset->GetTheAsset2($GLOSSARY_ID, 'GLOSSARY_ITEM');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($GLOSSARY_ID, 'GLOSSARY_ITEM', $GLOSSARY_ID );
}
$Asset->SetAssetCaption($GlossaryItem['GLOSSARY_WORD'], $GlossaryItem['GLOSSARY_WORD']);
if( $GlossaryItem['GLOSSARY_ACTIVE'] == "Y" ){
$Asset->SetAssetStatus('PUBLISHED');
}else{
$Asset->SetAssetStatus('DISABLED');
}
$Asset->PUBDATE = $GlossaryItem['GLOSSARY_MODIFY_DATE'];
$Asset->SaveAsset();
$AssetID=$Asset->ASSET_ID;
if( $GlossaryItem['GLOSSARY_ACTIVE'] == "Y" )
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
else
CleanupKeywordList($Asset->ASSET_ID);
return 1;
} // end IndexifyGlossaryItem
function GetNewsItemById($id)
{
global $DB;
$SQL="select ppl_newsdb.* from ppl_newsdb ".
"where id=$id and published='Y'";
return GetObject($DB, $SQL);
} // GetNewsItemById
function IndexifyNewsItem( $id )
{
global $DB;
global $AssetID;
$NewsItem=GetNewsItemById($id);
if( !$NewsItem )
return 0;
$SOMETEXT = stripslashes($NewsItem['author']) . " " .
stripslashes($NewsItem['message']) . " " .
stripslashes($NewsItem['title']) . " "
;
$Asset = new TheAsset;
$Asset->GetTheAsset2($id, 'NEWS_ITEM');
if( $Asset->error ){
// no asset for this category. create new one...
$Asset->error = 0;
$Asset->GetTheAsset3($id, 'NEWS_ITEM', $id );
}
$Asset->SetAssetCaption($NewsItem['title'], $NewsItem['title']);
if( $NewsItem['published'] == "Y" ){
$Asset->SetAssetStatus('PUBLISHED');
}else{
$Asset->SetAssetStatus('DISABLED');
}
$Asset->PUBDATE = $NewsItem['regdate'];
$Asset->SaveAsset();
$AssetID=$Asset->ASSET_ID;
if( $NewsItem['published'] == "Y" ){
$wc = InitAssetKeyWords($Asset->ASSET_ID, $SOMETEXT);
}else{
CleanupKeywordList($Asset->ASSET_ID);
}
return 1;
} // end IndexifyNewsItem