예제 #1
0
    function NewMediaObject($params)
    {
        global $USER, $DB;
        $blogId = IntVal(CBlogMetaWeblog::DecodeParams($params[0]["#"]["value"][0]["#"]));
        $user = CBlogMetaWeblog::DecodeParams($params[1]["#"]["value"][0]["#"]);
        $password = CBlogMetaWeblog::DecodeParams($params[2]["#"]["value"][0]["#"]);
        $arImage = $params[3]["#"]["value"][0]["#"]["struct"][0]["#"]["member"];
        foreach ($arImage as $val) {
            $arImageInfo[$val["#"]["name"][0]["#"]] = CBlogMetaWeblog::DecodeParams($val["#"]["value"][0]["#"]);
        }
        if (CBlogMetaWeblog::Authorize($user, $password)) {
            $result = '';
            $userId = $USER->GetID();
            if (IntVal($blogId) > 0) {
                $dbBlog = CBlog::GetList(array(), array("GROUP_SITE_ID" => SITE_ID, "ACTIVE" => "Y", "ID" => $blogId), false, false, array("ID", "URL", "NAME"));
                if ($arBlog = $dbBlog->GetNext()) {
                    $filename = trim(str_replace("\\", "/", trim($arImageInfo["name"])), "/");
                    $DIR_NAME = CTempFile::GetDirectoryName(12);
                    $FILE_NAME = rel2abs($DIR_NAME, "/" . $filename);
                    if (strlen($FILE_NAME) > 1 && $FILE_NAME === "/" . $filename) {
                        $ABS_FILE_NAME = $DIR_NAME . $FILE_NAME;
                    } else {
                        $ABS_FILE_NAME = "";
                    }
                    CheckDirPath($DIR_NAME);
                    if (strlen($ABS_FILE_NAME) > 0 && ($fp = fopen($ABS_FILE_NAME, "ab"))) {
                        $result = fwrite($fp, $arImageInfo["bits"]);
                        if ($result !== (function_exists("mb_strlen") ? mb_strlen($arImageInfo["bits"], 'latin1') : strlen($arImageInfo["bits"]))) {
                            return '<fault>
									<value>
										<struct>
											<member>
												<name>faultCode</name>
												<value><int>3</int></value>
												</member>
											<member>
												<name>faultString</name>
												<value><string>Error on saving media object</string></value>
												</member>
											</struct>
										</value>
									</fault>';
                        }
                        fclose($fp);
                    } else {
                        return '<fault>
								<value>
									<struct>
										<member>
											<name>faultCode</name>
											<value><int>3</int></value>
											</member>
										<member>
											<name>faultString</name>
											<value><string>Error on saving media object</string></value>
											</member>
										</struct>
									</value>
								</fault>';
                    }
                    $arFields = array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $userId, "=TIMESTAMP_X" => $DB->GetNowFunction(), "FILE_ID" => array("name" => $arImageInfo["name"], "tmp_name" => $ABS_FILE_NAME, "MODULE_ID" => "blog", "type" => $arImageInfo["type"]));
                    $imageId = CBlogImage::Add($arFields);
                    $arImg = CBlogImage::GetByID($imageId);
                    $arFile = CFile::GetFileArray($arImg["FILE_ID"]);
                    $path = $arFile["SRC"];
                    $dbSite = CSite::GetByID(SITE_ID);
                    $arSite = $dbSite->Fetch();
                    $serverName = htmlspecialcharsEx($arSite["SERVER_NAME"]);
                    if (strlen($serverName) <= 0) {
                        if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) {
                            $serverName = SITE_SERVER_NAME;
                        } else {
                            $serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com");
                        }
                    }
                    if (strlen($path) > 0) {
                        return '<params>
							<param>
								<value>
									<struct>
									<member>
									<name>url</name>
									<value>
									<string>' . CHTTP::URN2URI($path, $serverName) . '</string>
									</value>
									</member>
									</struct>
								</value>
							</param>
						</params>';
                    }
                }
            }
            return '<fault>
				<value>
					<struct>
						<member>
							<name>faultCode</name>
							<value><int>3</int></value>
							</member>
						<member>
							<name>faultString</name>
							<value><string>Error on saving media object</string></value>
							</member>
						</struct>
					</value>
				</fault>';
        } else {
            return '<fault>
				<value>
					<struct>
						<member>
							<name>faultCode</name>
							<value><int>3</int></value>
							</member>
						<member>
							<name>faultString</name>
							<value><string>' . $arAuthResult["MESSAGE"] . '</string></value>
							</member>
						</struct>
					</value>
				</fault>';
        }
    }
예제 #2
0
				</table>
			<br>
			<input type=submit value="' . GetMessage("BLOG_P_DO_UPLOAD") . '" name=do_upload class=inputbutton>
			<input type=button value="' . GetMessage("BLOG_P_CANCEL") . '" onclick=self.close() class=inputbutton>
			</form>
			</html>
			';
            ##################
            if ($_GET['image_upload'] || $_POST['do_upload']) {
                $APPLICATION->RestartBuffer();
                header("Pragma: no-cache");
                if ($_POST['do_upload'] && $_FILES['FILE_ID']['size'] > 0) {
                    $arFields = array("BLOG_ID" => $BLOG_ID, "POST_ID" => $ID, "USER_ID" => $USER_ID, "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => $_POST['IMAGE_TITLE'], "IMAGE_SIZE" => $_FILES['FILE_ID']['size']);
                    $arImage = array_merge($_FILES['FILE_ID'], array("MODULE_ID" => "blog", "del" => "Y"));
                    $arFields['FILE_ID'] = $arImage;
                    if ($imgID = CBlogImage::Add($arFields)) {
                        $aImg = CBlogImage::GetByID($imgID);
                        ?>
					<script>
						my_html = '<?php 
                        $file = CFile::ShowImage($aImg['FILE_ID'], 100, 100, "border=0 style=cursor:pointer onclick=\"doInsert('[IMG ID=" . $aImg['ID'] . "]','',false)\" title='" . GetMessage("BLOG_P_INSERT") . "'");
                        $file = str_replace("'", "\\'", $file);
                        $file = str_replace("\r", " ", $file);
                        $file = str_replace("\n", " ", $file);
                        print $file;
                        ?>
' +
							'<br><input class=inputtext name=IMAGE_ID_title[<?php 
                        echo $aImg['ID'];
                        ?>
] value="<?php 
예제 #3
0
 $arCopyPostUpdate = array();
 //images
 $arCopyImg = array();
 $arPat = array();
 $arRep = array();
 $arFilter = array("POST_ID" => $arParams["ID"], "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "N");
 $res = CBlogImage::GetList(array("ID" => "ASC"), $arFilter);
 while ($arImg = $res->GetNext()) {
     $arNewImg = array("FILE_ID" => CFile::MakeFileArray($arImg["FILE_ID"]));
     $arNewImg["BLOG_ID"] = $arCopyBlog["ID"];
     $arNewImg["POST_ID"] = $copyID;
     $arNewImg["USER_ID"] = $arImg["USER_ID"];
     $arNewImg["=TIMESTAMP_X"] = $DB->GetNowFunction();
     $arNewImg["TITLE"] = $arImg["TITLE"];
     $arNewImg["MODULE_ID"] = "blog";
     if ($imgID = CBlogImage::Add($arNewImg)) {
         $arPat[] = "[IMG ID=" . $arImg["ID"] . "]";
         $arRep[] = "[IMG ID=" . $imgID . "]";
     }
 }
 if (!empty($arRep)) {
     $arCopyPostUpdate["DETAIL_TEXT"] = str_replace($arPat, $arRep, $arCopyPost["DETAIL_TEXT"]);
 }
 //tags
 $arCopyCat = array();
 $dbCategory = CBlogCategory::GetList(array(), array("BLOG_ID" => $arCopyBlog["ID"]));
 while ($arCategory = $dbCategory->Fetch()) {
     $arCatBlogCopy[ToLower($arCategory["NAME"])] = $arCategory["ID"];
 }
 $dbCat = CBlogPostCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arParams["ID"]));
 while ($arCat = $dbCat->Fetch()) {
예제 #4
0
 }
 $fieldName = 'UF_BLOG_COMMENT_DOC';
 $arPostFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $commentID, LANGUAGE_ID);
 if (isset($GLOBALS[$fieldName]) && is_array($GLOBALS[$fieldName])) {
     $checkArray = $_SESSION["MFI_UPLOADED_FILES_" . $_POST["blog_upload_cid"]];
     $checkArray = array_merge(is_array($checkArray) ? $checkArray : array(), isset($arPostFields["UF_BLOG_COMMENT_DOC"]) ? $arPostFields["UF_BLOG_COMMENT_DOC"]["VALUE"] : array());
     $arAttachedFiles = array();
     foreach ($GLOBALS[$fieldName] as $fileID) {
         $fileID = intval($fileID);
         if ($fileID <= 0 || !in_array($fileID, $checkArray)) {
             continue;
         }
         $arFile = CFile::GetFileArray($fileID);
         if (CFile::CheckImageFile(CFile::MakeFileArray($fileID)) === null) {
             $arImgFields = array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arPost["ID"], "USER_ID" => IntVal($user_id), "COMMENT_ID" => $commentID, "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => $arFile["FILE_NAME"], "IMAGE_SIZE" => $arFile["FILE_SIZE"], "FILE_ID" => $fileID, "IS_COMMENT" => "Y", "URL" => $arBlog["URL"], "IMAGE_SIZE_CHECK" => "N");
             $imgID = CBlogImage::Add($arImgFields);
             if (intval($imgID) <= 0) {
                 $GLOBALS["APPLICATION"]->ThrowException("Error Adding file by CBlogImage::Add");
             } else {
                 $arFields["POST_TEXT"] = str_replace("[IMG ID=" . $fileID . "file", "[IMG ID=" . $imgID . "", $arFields["POST_TEXT"]);
             }
         } else {
             $arAttachedFiles[] = $fileID;
         }
     }
     $GLOBALS[$fieldName] = $arAttachedFiles;
 }
 CSocNetLogComponent::checkEmptyUFValue('UF_BLOG_COMMENT_FILE');
 if (count($arParams["COMMENT_PROPERTY"]) > 0) {
     $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("BLOG_COMMENT", $arFields);
 }
예제 #5
0
파일: index.php 프로젝트: Satariall/izurit
    CBlogSitePath::Add(array("SITE_ID" => $siteID, "PATH" => "/communication/blog/user/#user_id#.php", "TYPE" => "U"));
    if (IsModuleInstalled("socialnetwork")) {
        $rsUser = CUser::GetByID(1);
        $arUser = $rsUser->Fetch();
        $blogID = CBlog::Add(array("NAME" => GetMessage("BLG_NAME") . " " . $arUser["NAME"] . " " . $arUser["LAST_NAME"], "DESCRIPTION" => "", "GROUP_ID" => $SocNetGroupID, "ENABLE_IMG_VERIF" => 'Y', "EMAIL_NOTIFY" => 'Y', "USE_SOCNET" => 'Y', "ENABLE_RSS" => "Y", "ALLOW_HTML" => "Y", "URL" => str_replace(" ", "_", $arUser["LOGIN"]) . "-blog", "ACTIVE" => "Y", "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_UPDATE" => $DB->GetNowFunction(), "OWNER_ID" => 1, "PERMS_POST" => array("1" => BLOG_PERMS_READ, "2" => BLOG_PERMS_READ), "PERMS_COMMENT" => array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE)));
        CBlog::AddSocnetRead($blogID);
        $categoryID[] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("BLOG_DEMO_CATEGORY_1")));
        $categoryID[] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("BLOG_DEMO_CATEGORY_2")));
        $postID = CBlogPost::Add(array("TITLE" => GetMessage("BLOG_DEMO_MESSAGE_TITLE_1"), "DETAIL_TEXT" => str_replace('[IMG ID=1]', "[IMG ID=2]", GetMessage("BLOG_DEMO_MESSAGE_BODY_1")), "DETAIL_TEXT_TYPE" => "text", "BLOG_ID" => $blogID, "AUTHOR_ID" => 1, "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_PUBLISH" => $DB->GetNowFunction(), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "ENABLE_TRACKBACK" => 'N', "ENABLE_COMMENTS" => 'Y', "CATEGORY_ID" => implode(",", $categoryID), "PERMS_P" => array(1 => BLOG_PERMS_READ, 2 => BLOG_PERMS_READ), "PERMS_C" => array(1 => BLOG_PERMS_WRITE, 2 => BLOG_PERMS_WRITE)));
        foreach ($categoryID as $v) {
            CBlogPostCategory::Add(array("BLOG_ID" => $blogID, "POST_ID" => $postID, "CATEGORY_ID" => $v));
        }
        $arImage = CFile::MakeFileArray(dirname(__FILE__) . '/images/' . GetMessage("BLOG_DEMO_IMG"));
        $arImage["MODULE_ID"] = "blog";
        $arFields = array("BLOG_ID" => $blogID, "POST_ID" => $postID, "USER_ID" => 1, "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => GetMessage("BLOG_DEMO_IMG_TITLE"), "IMAGE_SIZE" => $arImage["size"], "FILE_ID" => $arImage);
        CBlogImage::Add($arFields);
        CBlogComment::Add(array("TITLE" => GetMessage("BLOG_DEMO_COMMENT_TITLE"), "POST_TEXT" => GetMessage("BLOG_DEMO_COMMENT_BODY"), "BLOG_ID" => $blogID, "POST_ID" => $postID, "PARENT_ID" => 0, "AUTHOR_ID" => 1, "DATE_CREATE" => ConvertTimeStamp(false, "FULL"), "AUTHOR_IP" => "192.168.0.108", "PERMS_P" => array(), "PERMS_C" => array()));
    }
}
DemoSiteUtil::AddMenuItem("/communication/.left.menu.php", array(GetMessage("BLOG_DEMO_LEFT_MENU_1"), "/communication/blog/", array(), array(), ""));
/*
DemoSiteUtil::AddMenuItem("/communication/blog/.left.menu.php", Array(
	GetMessage("BLOG_DEMO_LEFT_MENU_2"), 
	"/communication/blog/index.php", 
	Array(), 
	Array(), 
	"" 
));	
*/
$source_base = dirname(__FILE__);
CopyDirFiles($source_base . "/public/" . $LID, $_SERVER["DOCUMENT_ROOT"] . "/communication/blog", true, true);