当前位置: 首页>>代码示例>>PHP>>正文


PHP CForumUser::GetByIDEx方法代码示例

本文整理汇总了PHP中CForumUser::GetByIDEx方法的典型用法代码示例。如果您正苦于以下问题:PHP CForumUser::GetByIDEx方法的具体用法?PHP CForumUser::GetByIDEx怎么用?PHP CForumUser::GetByIDEx使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CForumUser的用法示例。


在下文中一共展示了CForumUser::GetByIDEx方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: Update

 public static function Update($ID, $arFields, $strUploadDir = false, $UpdateByUserId = false)
 {
     global $DB;
     $ID = intVal($ID);
     if ($ID <= 0) {
         return false;
     }
     $strUploadDir = $strUploadDir === false ? "forum/avatar" : $strUploadDir;
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CForumUser::CheckFields("UPDATE", $arFields)) {
         return false;
     }
     if (array_key_exists("AVATAR", $arFields) && is_array($arFields["AVATAR"]) && (!array_key_exists("MODULE_ID", $arFields["AVATAR"]) || strlen($arFields["AVATAR"]["MODULE_ID"]) <= 0)) {
         $arFields["AVATAR"]["MODULE_ID"] = "forum";
     }
     CFile::SaveForDB($arFields, "AVATAR", $strUploadDir);
     /***************** Event onBeforeUserUpdate ************************/
     $profileID = null;
     foreach (GetModuleEvents("forum", "onBeforeUserUpdate", true) as $arEvent) {
         if ($UpdateByUserId) {
             if ($profileID == null) {
                 $arProfile = CForumUser::GetByIDEx($ID);
                 $profileID = $arProfile['ID'];
             }
         } else {
             $profileID = $ID;
         }
         ExecuteModuleEventEx($arEvent, array($profileID, &$arFields));
     }
     /***************** /Event ******************************************/
     if (empty($arFields) && empty($arFields1)) {
         return false;
     }
     /***************** Cleaning cache **********************************/
     if (is_set($arFields, "ALLOW_POST")) {
         unset($GLOBALS["FORUM_CACHE"]["LOCKED_USERS"]);
         if (CACHED_b_forum_user !== false) {
             $GLOBALS["CACHE_MANAGER"]->CleanDir("b_forum_user");
         }
     }
     /***************** Cleaning cache/**********************************/
     $strUpdate = $DB->PrepareUpdate("b_forum_user", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strLen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (!$UpdateByUserId) {
         $strSql = "UPDATE b_forum_user SET " . $strUpdate . " WHERE ID = " . $ID;
     } else {
         $strSql = "UPDATE b_forum_user SET " . $strUpdate . " WHERE USER_ID = " . $ID;
     }
     $arBinds = array();
     if (is_set($arFields, "INTERESTS")) {
         $arBinds["INTERESTS"] = $arFields["INTERESTS"];
     }
     $DB->QueryBind($strSql, $arBinds);
     /***************** Event onAfterUserUpdate *************************/
     foreach (GetModuleEvents("forum", "onAfterUserUpdate", true) as $arEvent) {
         if ($UpdateByUserId) {
             if ($profileID == null) {
                 $arProfile = CForumUser::GetByIDEx($ID);
                 $profileID = $arProfile['ID'];
             }
         } else {
             $profileID = $ID;
         }
         ExecuteModuleEventEx($arEvent, array($profileID, $arFields));
     }
     /***************** /Event ******************************************/
     unset($GLOBALS["FORUM_CACHE"]["USER"]);
     unset($GLOBALS["FORUM_CACHE"]["USER_ID"]);
     return $ID;
 }
开发者ID:rasuldev,项目名称:torino,代码行数:81,代码来源:user.php


注:本文中的CForumUser::GetByIDEx方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。