%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/socialnetwork/classes/general/ |
Current File : /home/bitrix/www/bitrix/modules/socialnetwork/classes/general/smile.php |
<? class CAllSocNetSmile { function PrintSmilesList($num_cols, $strLang = False, $strPath2Icons = False, $cacheTime = False) { $res_str = ""; $arSmile = array(); $return_array = intVal($num_cols) > 0 ? false : true; if ($strLang === False) $strLang = LANGUAGE_ID; if ($strPath2Icons === False) $strPath2Icons = "/bitrix/images/socialnetwork/smile/"; $cache = new CPHPCache; $cache_id = "socialnetwork_smiles_".$strLang.preg_replace("/[^a-z0-9]/is", "_", $strPath2Icons); $cache_path = "/".SITE_ID."/socialnetwork/smiles/"; if ($cacheTime > 0 && $cache->InitCache($cacheTime, $cache_id, $cache_path)) { $res = $cache->GetVars(); $arSmile = $res["arSmile"]; } if (empty($arSmile)) { $db_res = CSocNetSmile::GetList(array("SORT"=>"ASC"), array("TYPE"=>"S", "LID"=>LANGUAGE_ID)); if ($db_res && ($res = $db_res->Fetch())) { do { $arSmile[] = $res; } while ($res = $db_res->Fetch()); } if ($cacheTime > 0) { $cache->StartDataCache($cacheTime, $cache_id, $cache_path); $cache->EndDataCache(array("arSmile"=>$arSmile)); } } if ($return_array) return $arSmile; $res_str = ""; $ind = 0; foreach ($arSmile as $res) { if ($ind == 0) {$res_str .= "<tr align=\"center\">";} $res_str .= "<td width=\"".IntVal(100/$num_cols)."%\">"; $strTYPING = strtok($res['TYPING'], " "); $res_str .= "<img src=\"".$strPath2Icons.$res['IMAGE']."\" alt=\"".$res['NAME']."\" title=\"".$res['NAME']."\" border=\"0\""; if (IntVal($res['IMAGE_WIDTH'])>0) {$res_str .= " width=\"".$res['IMAGE_WIDTH']."\"";} if (IntVal($res['IMAGE_HEIGHT'])>0) {$res_str .= " height=\"".$res['IMAGE_HEIGHT']."\"";} $res_str .= " onclick=\"if(emoticon){emoticon('".$strTYPING."');}\" name=\"smile\" id='".$strTYPING."' "; $res_str .= "/> </td>\n"; $ind++; if ($ind >= $num_cols) { $ind = 0; $res_str .= "</tr>"; } } if ($ind < $num_cols) { for ($i=0; $i<$num_cols-$ind; $i++) { $res_str .= "<td> </td>"; } } return $res_str; } //---------------> User insert, update, delete function CheckFields($ACTION, &$arFields) { if ((is_set($arFields, "SMILE_TYPE") || $ACTION=="ADD") && $arFields["SMILE_TYPE"]!="I" && $arFields["SMILE_TYPE"]!="S") return False; if ((is_set($arFields, "IMAGE") || $ACTION=="ADD") && strlen($arFields["IMAGE"])<=0) return False; if ((is_set($arFields, "SORT") || $ACTION=="ADD") && IntVal($arFields["SORT"])<=0) $arFields["SORT"] = 150; if (is_set($arFields, "LANG") || $ACTION=="ADD") { for ($i = 0; $i<count($arFields["LANG"]); $i++) { if (!is_set($arFields["LANG"][$i], "LID") || strlen($arFields["LANG"][$i]["LID"])<=0) return false; if (!is_set($arFields["LANG"][$i], "NAME") || strlen($arFields["LANG"][$i]["NAME"])<=0) return false; } $db_lang = CLangAdmin::GetList(($b="sort"), ($o="asc"), array("ACTIVE" => "Y")); while ($arLang = $db_lang->Fetch()) { $bFound = False; for ($i = 0; $i<count($arFields["LANG"]); $i++) { if ($arFields["LANG"][$i]["LID"]==$arLang["LID"]) $bFound = True; } if (!$bFound) return false; } } return True; } function Delete($ID) { global $DB, $CACHE_MANAGER; $ID = IntVal($ID); $DB->Query("DELETE FROM b_sonet_smile_lang WHERE SMILE_ID = ".$ID, True); $DB->Query("DELETE FROM b_sonet_smile WHERE ID = ".$ID, True); $CACHE_MANAGER->Clean("b_sonet_smile"); return true; } public static function GetByID($ID) { global $DB; $ID = IntVal($ID); $strSql = "SELECT FR.ID, FR.SORT, FR.SMILE_TYPE, FR.TYPING, FR.IMAGE, FR.CLICKABLE, ". " FR.DESCRIPTION, FR.IMAGE_WIDTH, FR.IMAGE_HEIGHT ". "FROM b_sonet_smile FR ". "WHERE FR.ID = ".$ID.""; $db_res = $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__); if ($res = $db_res->Fetch()) { return $res; } return False; } function GetByIDEx($ID, $strLang) { global $DB; $ID = IntVal($ID); $strSql = "SELECT FR.ID, FR.SORT, FR.SMILE_TYPE, FR.TYPING, FR.IMAGE, FR.CLICKABLE, ". " FRL.LID, FRL.NAME, FR.DESCRIPTION, FR.IMAGE_WIDTH, FR.IMAGE_HEIGHT ". "FROM b_sonet_smile FR ". " LEFT JOIN b_sonet_smile_lang FRL ON (FR.ID = FRL.SMILE_ID AND FRL.LID = '".$DB->ForSql($strLang)."') ". "WHERE FR.ID = ".$ID.""; $db_res = $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__); if ($res = $db_res->Fetch()) { return $res; } return False; } public static function GetLangByID($SMILE_ID, $strLang) { global $DB; $SMILE_ID = IntVal($SMILE_ID); $strSql = "SELECT FRL.ID, FRL.SMILE_ID, FRL.LID, FRL.NAME ". "FROM b_sonet_smile_lang FRL ". "WHERE FRL.SMILE_ID = ".$SMILE_ID." ". " AND FRL.LID = '".$DB->ForSql($strLang)."' "; $db_res = $DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__); if ($res = $db_res->Fetch()) { return $res; } return False; } } ?>