$arrUserPerm = array(); $canAdd = false; // хоть один баннер может быть отредатирован, добавлен илу удален $canAddbanner = false; // баннер может быть удален, отредактирован, добавлен $arrContractSite = array(); $type_id = array(); $rsTypies = CAdvType::GetList($v1, $v2, array(), $v3); while ($arType = $rsTypies->Fetch()) { $type_id[$arType["SID"]] = htmlspecialcharsbx($arType["NAME"]); } $contract_id = array(); $rsContract = CAdvContract::GetList($v1, $v2, array(), $v3); while ($arContract = $rsContract->Fetch()) { $contract_id[$arContract["ID"]] = $arContract["NAME"]; $arrContractSite[$arContract["ID"]] = CAdvContract::GetSiteArray($arContract["ID"]); } $arrStatus = CAdvBanner::GetStatusList(); $arrSites = array(); $rs = CSite::GetList($b = "sort", $o = "asc"); while ($ar = $rs->Fetch()) { $arrSites[$ar["ID"]] = $ar; } while ($arRes = $rsData->NavNext(true, "f_")) { $lamp_alt = GetMessage("AD_" . strtoupper($f_LAMP) . "_ALT"); $lamp = '<div class="lamp-' . $f_LAMP . '" title="' . $lamp_alt . '"></div>'; $arrUserPerm = is_array($arrPERM[$f_CONTRACT_ID]) ? $arrPERM[$f_CONTRACT_ID] : array(); $canAddbanner = in_array("ADD", $arrUserPerm) ? true : false; $row =& $lAdmin->AddRow($f_ID, $arRes, "adv_banner_edit.php?ID=" . $f_ID . "&CONTRACT_ID=" . $f_CONTRACT_ID . "&lang=" . LANGUAGE_ID, GetMessage("ADV_EDIT_TITLE")); $row->AddViewField("ID", '<a href="adv_banner_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $f_ID . '&CONTRACT_ID=' . $f_CONTRACT_ID . '" title="' . GetMessage("ADV_EDIT_TITLE") . '">' . $f_ID . '</a>'); $row->AddViewField("LAMP", $lamp);
function SendEMail($arContract, $mess = "") { $CONTRACT_ID = $arContract["ID"]; $BCC = array(); $OWNER_EMAIL = array(); $ADD_EMAIL = array(); $EDIT_EMAIL = array(); $MANAGER_EMAIL = CAdvContract::GetManagerEmails(); $ADMIN_EMAIL = CAdvContract::GetAdminEmails(); $ADMIN_EMAIL = array_merge($MANAGER_EMAIL, $ADMIN_EMAIL); $ADMIN_EMAIL = array_unique($ADMIN_EMAIL); CAdvContract::GetOwnerEmails($CONTRACT_ID, $OWNER_EMAIL, $ADD_EMAIL, $VIEW_EMAIL, $EDIT_EMAIL); $EMAIL_TO = $OWNER_EMAIL; if (count($EMAIL_TO) <= 0) { $EMAIL_TO = $ADMIN_EMAIL; } else { $BCC = $ADMIN_EMAIL; } $CREATED_BY = $MODIFIED_BY = ""; if (intval($arContract["CREATED_BY"]) > 0) { $rsUser = CUser::GetByID($arContract["CREATED_BY"]); if ($arUser = $rsUser->Fetch()) { $CREATED_BY = "[" . $arUser["ID"] . "] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } } if (intval($arContract["MODIFIED_BY"]) == intval($arContract["CREATED_BY"]) && intval($arContract["CREATED_BY"]) > 0) { $MODIFIED_BY = $CREATED_BY; } elseif (intval($arContract["MODIFIED_BY"]) > 0) { $rsUser = CUser::GetByID($arContract["MODIFIED_BY"]); if ($arUser = $rsUser->Fetch()) { $MODIFIED_BY = "[" . $arUser["ID"] . "] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } } if (strlen($mess) > 0) { $mess = "\n" . $mess . "\n"; } $description = ""; if (strlen($arContract["DESCRIPTION"]) > 0) { $description = "\n" . $arContract["DESCRIPTION"] . "\n"; } $arEventFields = array("ID" => $CONTRACT_ID, "MESSAGE" => $mess, "EMAIL_TO" => implode(",", $EMAIL_TO), "ADMIN_EMAIL" => implode(",", $ADMIN_EMAIL), "ADD_EMAIL" => implode(",", $ADD_EMAIL), "STAT_EMAIL" => implode(",", $VIEW_EMAIL), "EDIT_EMAIL" => implode(",", $EDIT_EMAIL), "OWNER_EMAIL" => implode(",", $OWNER_EMAIL), "BCC" => implode(",", $BCC), "INDICATOR" => GetMessage("AD_" . strtoupper($arContract["LAMP"] . "_CONTRACT_STATUS")), "ACTIVE" => $arContract["ACTIVE"], "NAME" => $arContract["NAME"], "DESCRIPTION" => $description, "MAX_SHOW_COUNT" => $arContract["MAX_SHOW_COUNT"], "SHOW_COUNT" => $arContract["SHOW_COUNT"], "MAX_CLICK_COUNT" => $arContract["MAX_CLICK_COUNT"], "CLICK_COUNT" => $arContract["CLICK_COUNT"], "BANNERS" => $arContract["BANNER_COUNT"], "DATE_SHOW_FROM" => $arContract["DATE_SHOW_FROM"], "DATE_SHOW_TO" => $arContract["DATE_SHOW_TO"], "DATE_CREATE" => $arContract["DATE_CREATE"], "CREATED_BY" => $CREATED_BY, "DATE_MODIFY" => $arContract["DATE_MODIFY"], "MODIFIED_BY" => $MODIFIED_BY); $arrSITE = CAdvContract::GetSiteArray($CONTRACT_ID); CEvent::Send("ADV_CONTRACT_INFO", $arrSITE, $arEventFields); }
die; } $ID = 0; $str_WEIGHT = 100; $str_ACTIVE = "Y"; $str_SORT = CAdvContract::GetNextSort(); $str_DATE_SHOW_FROM = GetTime(time()); $str_DEFAULT_STATUS_SID = "READY"; $arrSITE = array_keys($arrSites); } else { if (strlen($strError) <= 0) { if (strlen($str_KEYWORDS) > 0) { $arrKEYWORDS = preg_split('/[\\n\\r]+/', $str_KEYWORDS); TrimArr($arrKEYWORDS); } $arrSITE = CAdvContract::GetSiteArray($ID); $arrSHOW_PAGE = CAdvContract::GetPageArray($ID, "SHOW"); $str_SHOW_PAGE = implode("\n", $arrSHOW_PAGE); $arrNOT_SHOW_PAGE = CAdvContract::GetPageArray($ID, "NOT_SHOW"); $str_NOT_SHOW_PAGE = implode("\n", $arrNOT_SHOW_PAGE); $arContractTypes = CAdvContract::GetTypeArray($ID); $arrTYPE = array_keys($arContractTypes); $arrWEEKDAY = CAdvContract::GetWeekdayArray($ID); while (list($key, $value) = each($arrWEEKDAY)) { ${"arr" . $key} = $value; } $arrP = CAdvContract::GetContractPermissions($ID); if (is_array($arrP)) { while (list($key, $arr) = each($arrP)) { foreach ($arr as $ar) { ${"arrUSER_" . $key}[] = $ar["USER_ID"];
<?php } ?> <?php $tabControl->BeginNextTab(); ?> <tr valign="top"> <td width="40%"><?php echo GetMessage("AD_SITE"); ?> </td> <td width="60%"><?php $arrContractSite = CAdvContract::GetSiteArray($str_CONTRACT_ID); if (is_array($arrContractSite)) { if ($isEditMode) { ?> <div class="adm-list"> <?php reset($arrSites); while (list($sid, $arrS) = each($arrSites)) { if (in_array($sid, $arrContractSite)) { $checked = in_array($sid, $arrSITE) ? "checked" : ""; /*<?=$disabled?>*/ ?> <div class="adm-list-item"> <div class="adm-list-control"><input type="checkbox" name="arrSITE[]" value="<?php echo htmlspecialcharsbx($sid); ?>
<?php require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; $arEventFields = array("ID" => $CONTRACT_ID, "MESSAGE" => $mess, "EMAIL_TO" => implode(",", $EMAIL_TO), "ADMIN_EMAIL" => implode(",", $ADMIN_EMAIL), "ADD_EMAIL" => implode(",", $ADD_EMAIL), "STAT_EMAIL" => implode(",", $VIEW_EMAIL), "EDIT_EMAIL" => implode(",", $EDIT_EMAIL), "OWNER_EMAIL" => implode(",", $OWNER_EMAIL), "BCC" => implode(",", $BCC), "INDICATOR" => GetMessage("AD_" . strtoupper($arContract["LAMP"] . "_CONTRACT_STATUS")), "ACTIVE" => $arContract["ACTIVE"], "NAME" => $arContract["NAME"], "DESCRIPTION" => $description, "MAX_SHOW_COUNT" => $arContract["MAX_SHOW_COUNT"], "SHOW_COUNT" => $arContract["SHOW_COUNT"], "MAX_CLICK_COUNT" => $arContract["MAX_CLICK_COUNT"], "CLICK_COUNT" => $arContract["CLICK_COUNT"], "BANNERS" => $arContract["BANNER_COUNT"], "DATE_SHOW_FROM" => $arContract["DATE_SHOW_FROM"], "DATE_SHOW_TO" => $arContract["DATE_SHOW_TO"], "DATE_CREATE" => $arContract["DATE_CREATE"], "CREATED_BY" => $CREATED_BY, "DATE_MODIFY" => $arContract["DATE_MODIFY"], "MODIFIED_BY" => $MODIFIED_BY); $arrSITE = CAdvContract::GetSiteArray($CONTRACT_ID); CEvent::Send("ADV_CONTRACT_INFO", $arrSITE, $arEventFields);