%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/local/components/UB/adbase.feedback/ |
Current File : //proc/self/root/home/bitrix/www/local/components/UB/adbase.feedback/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); $arResult['POST_ACTION'] = $arParams['POST_URL']; $ajaxTemplate = 'ajax-post'; if($_SERVER["REQUEST_METHOD"]=="POST" && check_bitrix_sessid()) { // Постинг отклика if (isset($_REQUEST['FEEDBACK_CASTING_ID']) && intval($_REQUEST['FEEDBACK_CASTING_ID'])>0) { if ($USER->IsAuthorized()) { $profile = getUserProfile($USER->GetID()); $rsCasting = CIBlockElement::GetByID($_REQUEST['FEEDBACK_CASTING_ID']); if ($arCasting = $rsCasting->GetNext()) { $feebackText = strip_tags($_REQUEST['FEEDBACK_TEXT']); $arFeedbackFields = array( 'IBLOCK_ID' => intval($arParams['IBLOCK_ID']), 'NAME' => $profile['NAME'].' -> #'.$arCasting['ID'], 'DETAIL_TEXT' => $feebackText, 'PROPERTY_VALUES' => array('VACANCY' => $arCasting['ID'], 'USER_ID' => $USER->GetID()) ); $el = new CIBlockElement; if($feebackID = $el->Add($arFeedbackFields,false,false,false)) $arResult['OK'] = $arFeedbackFields; else $arResult['ERRORS'] = GetMessage("ERROR_AT_SAVING").'('.$arParams['IBLOCK_ID'].'): '.$el->LAST_ERROR; // Обновляем счетчик $cnt = CIBlockElement::GetList(array(),array('IBLOCK_ID' => $arParams['IBLOCK_ID'], 'PROPERTY_VACANCY' => $arCasting['ID']),array()); CIBlockElement::SetPropertyValuesEx($arCasting['ID'], $arCasting['IBLOCK_ID'], array('FEEDBACK_COUNT'=>$cnt)); // Шлем уведомление $arMessageFields = array( "TO_USER_ID" => $arCasting['CREATED_BY'], "FROM_USER_ID" => 0, "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, "NOTIFY_MODULE" => "im", "NOTIFY_MESSAGE" => GetMessage("NEW_RESPONSE_FROM").$profile['NAME'].GetMessage("ON_YOUR_VACANCY").'"'.$arCasting['NAME'].'": '.$feebackText ); CIMNotify::Add($arMessageFields); } else $arResult['ERRORS'] = GetMessage("AD").'#'.$_REQUEST['FEEDBACK_CASTING_ID'].GetMessage("FOR_RESPONSE_IS_NOT_FOUND"); } else $arResult['ERRORS'] = GetMessage("SENDING_OF_ANONYMOUS_RESPONSES_IS_FORBIDDEN"); } else $arResult['ERRORS'] = GetMessage("NOT_SPECIFIED_AD_ID"); } elseif($_SERVER["REQUEST_METHOD"]=="GET" && check_bitrix_sessid()) { // Загрузка списка откликов для вакансии if (isset($_REQUEST['VACANCY_ID']) && intval($_REQUEST['VACANCY_ID'])>0) { $rsList = CIBlockElement::GetList(array('created'=>'DESC'), array('IBLOCK_ID' => $arParams['IBLOCK_ID'], 'PROPERTY_VACANCY' => $_REQUEST['VACANCY_ID']),false,false, array('ID','NAME','CREATED_BY','DATE_CREATE','DETAIL_TEXT')); while ($vacancy = $rsList->Fetch()) { $vacancy['USER']['PROFILE'] = getUserProfile($vacancy['CREATED_BY']); $vacancy['USER']['META'] = getUserMeta($vacancy['CREATED_BY']); $arResult['FEEDBACKS'][] = $vacancy; } $ajaxTemplate = 'ajax-list'; } else $arResult['ERRORS'] = GetMessage("NOT_SPECIFIED_AD_ID"); } if(isset($_REQUEST["ajax"]) && $_REQUEST["ajax"] === "Y") { $this->setFrameMode(false); $APPLICATION->RestartBuffer(); $this->IncludeComponentTemplate($ajaxTemplate); define("PUBLIC_AJAX_MODE", true); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_after.php"); die(); } else { $this->IncludeComponentTemplate(); }