public static function notifyMailDomain($type, $sid, $user_id, $cnt = 0) { $user_id = intval($user_id); $cnt = intval($cnt); if (!CModule::includeModule('mail')) { return ''; } $arAdmin = CUser::getList($by, $order, array('ID' => $user_id, 'GROUPS_ID' => 1, 'ACTIVE' => 'Y'), array('FIELDS' => array('ID', 'EMAIL')))->fetch(); if (empty($arAdmin)) { return ''; } if ($cnt == 0) { return 'CIntranetUtils::notifyMailDomain("' . $type . '", "' . $sid . '", ' . $user_id . ', ' . ++$cnt . ');'; } includeModuleLangFile(__FILE__); if (isModuleInstalled('bitrix24')) { $learnmoreLink = getMessage('INTR_MAIL_DOMAIN_LEARNMOREB24_LINK'); $supportLink = getMessage('INTR_MAIL_DOMAIN_SUPPORTB24_LINK'); } else { $learnmoreLink = getMessage('INTR_MAIL_DOMAIN_LEARNMORE_LINK'); $supportLink = getMessage('INTR_MAIL_DOMAIN_SUPPORT_LINK'); } if (in_array($type, array('nocomplete', 'nomailbox'))) { $sid = intval($sid); $service = \Bitrix\Mail\MailServicesTable::getList(array('filter' => array('=ID' => $sid)))->fetch(); if (empty($service) || $service['ACTIVE'] != 'Y' || !in_array($service['SERVICE_TYPE'], array('domain', 'crdomain'))) { return ''; } if ($service['SERVICE_TYPE'] == 'domain') { $result = CMailDomain2::getDomainStatus($service['TOKEN'], $service['SERVER'], $error); $stage = empty($result['stage']) ? null : $result['stage']; } else { $crResponse = CControllerClient::executeEvent('OnMailControllerCheckMemberDomain', array('DOMAIN' => $service['SERVER'])); $stage = empty($crResponse['result']['stage']) ? null : $crResponse['result']['stage']; } if ($type == 'nocomplete') { if (in_array($stage, array('owner-check', 'mx-check'))) { CEvent::send('INTRANET_MAILDOMAIN_NOCOMPLETE', array($service['SITE_ID']), array('EMAIL_TO' => $arAdmin['EMAIL'], 'LEARNMORE_LINK' => $learnmoreLink, 'SUPPORT_LINK' => $supportLink)); if ($cnt == 1) { global $pPERIOD; $pPERIOD = 3600 * 24 * 4; return 'CIntranetUtils::notifyMailDomain("nocomplete", ' . $sid . ', ' . $user_id . ', ' . ++$cnt . ');'; } } } else { if ($stage == 'added') { $dbMailboxes = CMailbox::getList(array(), array('ACTIVE' => 'Y', '!USER_ID' => 0, 'SERVICE_ID' => $sid)); $adminMailbox = false; $userMailboxes = false; while ($arMailbox = $dbMailboxes->fetch()) { if ($arMailbox['USER_ID'] == $user_id) { $adminMailbox = true; } else { $userMailboxes = true; break; } } if (!$userMailboxes) { $eventType = $adminMailbox ? 'INTRANET_MAILDOMAIN_NOMAILBOX2' : 'INTRANET_MAILDOMAIN_NOMAILBOX'; CEvent::send($eventType, array($service['SITE_ID']), array('EMAIL_TO' => $arAdmin['EMAIL'], 'LEARNMORE_LINK' => $learnmoreLink, 'SUPPORT_LINK' => $supportLink)); if ($cnt == 1) { global $pPERIOD; $pPERIOD = 3600 * 24 * 21; return 'CIntranetUtils::notifyMailDomain("nomailbox", ' . $sid . ', ' . $user_id . ', ' . ++$cnt . ');'; } } } } } else { if ($type == 'noreg') { $dbServices = \Bitrix\Mail\MailServicesTable::getList(array('filter' => array('ACTIVE' => 'Y', 'SERVICE_TYPE' => 'crdomain'))); while ($service = $dbServices->fetch()) { if ($service['FLAGS'] & CMail::F_DOMAIN_REG) { return ''; } } $r = CEvent::send('INTRANET_MAILDOMAIN_NOREG', array($sid), array('EMAIL_TO' => $arAdmin['EMAIL'], 'LEARNMORE_LINK' => $learnmoreLink, 'SUPPORT_LINK' => $supportLink)); } } return ''; }
/** * Function adds an delete action to some area inside the component. * * <ul> * <li>$arParams['CONFIRM'] = false - disable confirm; * <li>$arParams['CONFIRM'] = 'Text' - confirm with custom text; * <li>no $arParams['CONFIRM'] at all - confirm with default text * </ul> * @param string $entryId * @param string $deleteLink * @param string $deleteTitle * @param array[string]mixed $arParams * @return void * */ final public function addDeleteAction($entryId, $deleteLink, $deleteTitle = false, $arParams = array()) { global $APPLICATION; if (!$entryId || !$deleteLink) return; includeModuleLangFile(__FILE__); if (!$deleteTitle) { $deleteTitle = GetMessage('DELETE_ACTION_TITLE_DEFAULT'); } if (!is_array($arParams)) $arParams = array(); if (!$arParams['ICON'] && !$arParams['SRC'] && !$arParams['IMAGE']) $arParams['ICON'] = 'bx-context-toolbar-delete-icon'; if (substr($deleteLink, 0, 11) != 'javascript:') { if (false === strpos($deleteLink, 'return_url=')) $deleteLink.= '&return_url='.urlencode($APPLICATION->getCurPageParam()); $deleteLink.= '&'.bitrix_sessid_get(); if ($arParams['CONFIRM'] !== false) { $confirmText = $arParams['CONFIRM'] ? $arParams['CONFIRM'] : GetMessage('DELETE_ACTION_CONFIRM'); $deleteLink = 'javascript:if(confirm(\''.CUtil::JSEscape($confirmText).'\')) jsUtils.Redirect([], \''.CUtil::JSEscape($deleteLink).'\');'; } } $arBtn = array( 'URL' => $deleteLink, 'TITLE' => $deleteTitle, ); if ($arParams['ICON']) $arBtn['ICON'] = $arParams['ICON']; elseif ($arParams['SRC'] || $arParams['IMAGE']) $arBtn['SRC'] = $arParams['IMAGE'] ? $arParams['IMAGE'] : $arParams['SRC']; $GLOBALS['APPLICATION']->setEditArea($this->getEditAreaId($entryId), array( $arBtn, )); }
<?php includeModuleLangFile(__FILE__); if (class_exists('hawkart_megatv')) { return; } class hawkart_megatv extends CModule { var $MODULE_ID = 'hawkart.megatv'; var $MODULE_VERSION; var $MODULE_VERSION_DATE; var $MODULE_NAME; var $MODULE_DESCRIPTION; var $MODULE_GROUP_RIGHTS = 'Y'; public function __construct() { $arModuleVersion = array(); $path = str_replace('\\', '/', __FILE__); $path = substr($path, 0, strlen($path) - strlen('/index.php')); include $path . '/version.php'; if (is_array($arModuleVersion) && array_key_exists('VERSION', $arModuleVersion)) { $this->MODULE_VERSION = $arModuleVersion['VERSION']; $this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE']; } $this->PARTNER_NAME = GetMessage("HAWKART_MEGATV_PARTNER_NAME"); $this->PARTNER_URI = 'http://www.hawkart.ru/'; $this->MODULE_NAME = getMessage('HAWKART_MEGATV_MODULE_NAME'); $this->MODULE_DESCRIPTION = getMessage('HAWKART_MEGATV_MODULE_DESCRIPTION'); } function doInstall() {