setCurrentDate(); $this->CityNameEng = $_SESSION['APP']['DATA']['CityNameEng']; } private function setCurrentDate(){ $CurrentDate = new CDateTime(); $CurrentDateStr = $CurrentDate->year()."-".$CurrentDate->month()."-".$CurrentDate->day()." ".$CurrentDate->hours().":".$CurrentDate->minutes().":".$CurrentDate->seconds(); $this->CurrentDate = $CurrentDateStr; } public function sendMail($to, $subject, $content, $attach=false){ $to = strtolower($to); //сделать проверку введенного адреса $to if(preg_match('|([а-яa-z0-9_\.\-]{1,50})@([а-яa-z0-9\.\-]{1,20})\.([а-яa-z]{1,6})|is', $to)){ //$content = convert_cyr_string ( $content, 'w', 'k' ); //$content = convert_cyr_string ( $content, w, i ); //$subject = convert_cyr_string ( $subject, w, i ); $Result = smtpmail($to, $subject, $content, $attach); return $Result; } else { return false; } } /** * Сообщение для уведомления пользователя о новом платеже. */ public function AdviceLetterOfPlat($MCardId, $TransactId, $DateTimeOfPay){ $User = User::loadWhere("UserLogin = '".$MCardId."'"); $driver = $this->getDriverByIndex($_SESSION['APP']['DATA']['KomunalBaseName']); $statement = $driver->createStatement(" select sum(SumOfPay) as GeneralSum from plat where TransactId = :TransactId "); $statement->setAttribute('TransactId', $TransactId); $GeneralSum = $driver->selectOne($statement); $ContentText = " Шановний користувач платіжної системи 'Комунал'!

З Вашого профілю було виконано платіж на загальну сумму $GeneralSum грн.
Дата і час створення платежу: $DateTimeOfPay
Номер транзакції: $TransactId

З повагою, адміністрація платіжної системи 'Комунал'. www.komunal.com.ua

"; $Title = "Komunal ($this->CityNameEng). Створено новий платіж."; // $ResultSendMail = $this->sendMail($User->getEmail(), $Title, $ContentText); // //если сообщение не отправлено, добвить его в maillist // if($ResultSendMail['IsError'] != 0){ // $this->addMailToMaillist(0, $Title, $ContentText, $User->getEmail()); // } //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $User->getEmail()); } /** * Сообщение про ошибку. Список ошибок находится в actions_log. * * $Location - процедура или функция, во время выполнения которой произошла ошибка * $BeforeText - текст, который будет отображен перед выводом лога ошибки. Например, обяснение, что за письмо или другая тех-информация. */ public function SendMailFromActionsLog($Location, $TypeOfAction = NULL, $BeforeText){ $ContentText = ''; $ContentText .= $BeforeText; if($Location == ''){ $ListErrors = actionsLog::getList("SendMail = 1"); } else{ $ListErrors = actionsLog::getList("Location = '".$Location."' and SendMail = 1"); } //Errors that occurred during the processing of the results of consolidation: - было в сообщении, убрал $ContentText .= " Error Message

"; foreach ($ListErrors as $CurMail){ $TempDate = $CurMail->getDateTime(); $ContentText .= " "; } $ContentText .= "
# UserId TypeOfAction Location DateTime ErrorCode Message
".$CurMail->getId()." ".$CurMail->getUserId()." ".$CurMail->getTypeOfAction()." ".$CurMail->getLocation()." ".$TempDate->toString()." ".$CurMail->getErrorCode()." ".$CurMail->getErrorMessage()."

If the table is empty, there are no errors.
"; $ContentText .= "
The letter was created: $this->CurrentDate
"; //echo $ContentText; $this->addMailToMaillistForAllAdmin(0, "Komunal ($this->CityNameEng). $Location.", $ContentText, false); //$this->sendMail('sasha_zt@mail.ru', "Komunal ($this->CityNameEng). $Location.", $ContentText); //$this->sendMail('sasha_zt@net.zt.ua', "Komunal ($this->CityNameEng). Process Consolidation log.", $ContentText); foreach ($ListErrors as $CurMail){ try { $CurMail->setSendMail(0); $CurMail->save(); } catch (Exception $e){ } } } public function GenerateAcceptFile($ContentText){ $ContentText .= "
The letter was created: $this->CurrentDate
"; $this->sendMail('sasha_zt@mail.ru', "Komunal ($this->CityNameEng). GenerateAcceptFile", $ContentText); //$this->sendMail('sasha_zt@net.zt.ua', "Komunal ($this->CityNameEng). GenerateAcceptFile", $ContentText); } public function AddRegPlatToPlat($ContentText){ $ContentText .= "
The letter was created: $this->CurrentDate
"; $this->sendMail('sasha_zt@mail.ru', "Komunal ($this->CityNameEng). Regular Plat", $ContentText); //$this->sendMail('sasha_zt@net.zt.ua', "Komunal ($this->CityNameEng). Regular Plat", $ContentText); } public function AddNewUsers($ContentText){ $ContentText = "Add new users complete successfully.

".$ContentText; $ContentText .= "
The letter was created: $this->CurrentDate
"; $this->sendMail('sasha_zt@mail.ru', "Komunal ($this->CityNameEng). AddNewUsers", $ContentText); //$this->sendMail('sasha_zt@net.zt.ua', "Komunal ($this->CityNameEng). AddNewUsers", $ContentText); } /* * Стандартное системное сообщение(для администраторов системы) */ public function DefaultSystemMail($Title, $ContentText){ $Title = "Komunal ($this->CityNameEng) sysmail. " . $Title; $ContentText .= "
The letter was created: $this->CurrentDate
"; $this->sendMail('sasha_zt@mail.ru', $Title, $ContentText); //$this->sendMail('sasha_zt@net.zt.ua', $Title, $ContentText); } /** * Отправка квитанцый на почту пользователя. * * * */ private function sentKvitToMail(){ $driver = $this->getDriverByIndex($_SESSION['APP']['DATA']['KomunalBaseName']); $statement = $driver->createStatement(" select u.Email, ml.PlatArchiveId from maillist ml join users u on( convert(varchar(20),ml.MCardId) = u.UserLogin ) where ml.TypeOfMessage = 1 "); //$statement->setAttribute('UserLogin', $UserLogin); $recordSet = $driver->executeQuery($statement); //список писем $ListMail = array(); while ($recordSet->next()) { $CurRecord['Email'] = $recordSet->getString('Email'); $CurRecord['PlatArchiveId'] = (float)$recordSet->getString('PlatArchiveId'); array_push($ListMail, $CurRecord); } foreach ($ListMail as $CurMail) { $Plateg = PlatArchive::get($CurMail['PlatArchiveId']); $DateOfAccept = $Plateg->getDateOfAccept(); $DateOfAcceptString = $DateOfAccept->day().".".$DateOfAccept->month().".".$DateOfAccept->year(); $DateOfAcceptString = date('d-m-Y',strtotime($DateOfAcceptString)); $Report = new KvitancijaZaKomunalUslugiReport($Plateg, $driver); $ReportText = $Report->toString($this->getEncoding()); $ContentText = " Шановний користувач платіжної системи 'Комунал'!

Платіж № ".$Plateg->getNumOfPay()." за $DateOfAcceptString (Транзакція № ".$Plateg->getTransactId().") був оброблений банком

Банк надіслав гроші на службу. Нижче наведена квитанція про оплату:

			"."".
			$ReportText.
			"
			


Також дану квитанію Ви можете побачити на сайті в розділі 'Архів платежів'.

З повагою, адміністрація платіжної системи 'Комунал'. www.komunal.com.ua

"; //echo $Plateg->getNumOfPay(); $ResultSendMail = RootController::sendMail($CurMail['Email'], "Komunal ($this->CityNameEng). Квитанція про оплату.", $ContentText); if($ResultSendMail['IsError'] == 0){ //очистим таблицу сообщений для типа сообщений 1 (квитанция) $statement = $driver->createStatement(" delete from maillist where TypeOfMessage = 1 and PlatArchiveId = :PlatArchiveId "); $statement->setAttribute('PlatArchiveId', $CurMail['PlatArchiveId']); $driver->executeUpdate($statement); } $this->CountOfSentMessages ++; if ($this->CountOfSentMessages > 100) break; //между письмами делать задержку в 5сек. sleep(5); } } public function SendAllEmails(){ //отправка квитанций. $this->sentKvitToMail(); $MailList = Maillist::getList(); foreach ($MailList as $CurMail){ switch ($CurMail->getTypeOfMessage()){ //0-тип по умолчанию. должен быть указана почта. Если почты нет, то можно доработать данный метод и узнать почту по мун.карте case 0: if($this->getEncoding() == 'UTF-8'){ $ResultSendMail = $this->sendMail($CurMail->getEmail(), iconv("UTF-8", "CP1251//IGNORE", $CurMail->getTitle()), iconv("UTF-8", "CP1251//IGNORE", $CurMail->getText())); } else { $ResultSendMail = $this->sendMail($CurMail->getEmail(), $CurMail->getTitle(), $CurMail->getText()); } if($ResultSendMail['IsError'] == 0){ $CurMail->remove(); if ($this->CountOfSentMessages > 100) break; //между письмами делать задержку в 5сек. sleep(5); } break; case 2: //Уведомление пользователю, что его справка была сформирована $MailParam = $this->getMailParamForGeneralLcInfoAdvice($CurMail->getMCardId()); if($MailParam){ $ResultSendMail = $this->sendMail($MailParam['Email'], $MailParam['Title'], $MailParam['Text']); if($ResultSendMail['IsError'] == 0){ $CurMail->remove(); if ($this->CountOfSentMessages > 100) break; //между письмами делать задержку в 5сек. sleep(5); } } break; } $this->CountOfSentMessages ++; } } private function getMailParamForGeneralLcInfoAdvice($MCardId){ $MailParam = array(); if($MCardId){ $User = User::loadWhere("UserLogin = '$MCardId'"); $MailParam['Email'] = $User->getEmail(); $MailParam['Title'] = "Komunal ($this->CityNameEng). Довідку по особовому рахунку сформовано."; $MailParam['Text'] = " Шановний користувач платіжної системи 'Комунал'!

Згідно Вашого запиту була сформована довідка 'Про склад сім'ї та розмір платежів за житлово-комунальні послуги'.

Подивитись її можна на сайті www.komunal.com.ua в розділі 'Довідка по ОР'. ( https://komunal.com.ua/generalLcInfo/ )

З повагою, адміністрація платіжної системи 'Комунал'. www.komunal.com.ua

"; return $MailParam; } else{ return false; } } private function getDriverByIndex($databaseIndex) { $config = ItemManagerUtils::getConfig(); $driver = DatabaseManager::getDriver($config->getDatabaseParameters($databaseIndex)); return $driver; } /** * установить кодировку UTF-8 * * */ public function setEncodingUTF(){ $this->Encoding = 'UTF-8'; } /** * установить кодировку CP1251 * * */ public function setEncodingCP1251(){ $this->Encoding = 'CP1251'; } /** * возвращает текущую кодрировку * * */ public function getEncoding(){ return $this->Encoding; } /** * возвращает количество неотправленных сообщений * * */ public function getCountEmail(){ $MailList = Maillist::getList(); return count($MailList); } /** * добавить письмо в таблицу maillist * * */ public function addMailToMaillist($TypeOfMessage = 0, $Title = null, $Text = null, $Email = null, $MCardId = 0){ $driver = $this->getDriverByIndex($_SESSION['APP']['DATA']['KomunalBaseName']); $statement = $driver->createStatement(" BEGIN INSERT INTO komunal_inet.dbo.maillist(TypeOfMessage, Title, Text, Email, MCardId) VALUES(:TypeOfMessage, ':Title', ':Text', ':Email', :MCardId) END "); if($this->getEncoding() == 'UTF-8'){ $Title = iconv("CP1251", "UTF-8", $Title); $Text = iconv("CP1251", "UTF-8", $Text); } else{ //do nothing } $statement->setAttribute('TypeOfMessage', $TypeOfMessage); $statement->setAttribute('Email', $Email); $statement->setAttribute('Title', $Title); $statement->setAttribute('Text', $Text); $statement->setAttribute('MCardId', $MCardId); try { $recordSet = $driver->executeQuery($statement); return true; } catch (Exception $e){ //echo $e->getMessage(); return false; } } /** * ДОбавить письмо в maillist для всех пользователей, которые входят в группу admin * * */ public function addMailToMaillistForAllAdmin($TypeOfMessage = 0, $Title = null, $Text = null, $IsStripTags = true){ //Удаление из текста html тегов и других возможных вредоносных символов, которые могут быть использованы для sql-инъекции if($IsStripTags){ $Title = strip_tags($Title); $Text = strip_tags($Text); $SqlDialect = new SybaseASEDialect(); $Title = $SqlDialect->escapeString($Title); $Text = $SqlDialect->escapeString($Text); } $Admins = User::getList("UserGroup = 'admin'"); foreach ($Admins as $curUser){ $this->addMailToMaillist($TypeOfMessage, $Title, $Text, $curUser->getEmail()); } } // ================================================================================= // =====Сообщения по Зарплатному проекту - НАЧАЛО=================================== /** * Сообщение для нового менеджера в ЗП */ public function NewZpManager($UserLogin, $Email, $TemporaryPass, $OrganName){ $Title = "Komunal ($this->CityNameEng) | Зарплатний проект. Реєстрація користувача."; $ContentText = " Вітаємо, Ви були успішно підключені до Зарплатного проекту.

Ваш логін: ".$UserLogin."
Технологічний(тимчасовий) пароль: ".$TemporaryPass."
Організація: ".$OrganName."

Даний пароль тимчасовий. Після першого входу в систему його необхідно змінити.

Для зміни паролю перейдіть за адресою https://komunal.com.ua/login/
та введіть логін та технологчіний пароль.

При зміні паролю також необхідно вказати кодове слово(придумати самому). Кодове слово потрібне для підтвердження того, що Ви являєтесь користувачем системи. Це може знадобитися при спілкуванні з адміністратором системи 'Комунал' при виникненні нестандартних ситуацій.

З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $Email); } /** * Сообщение для удаленного менеджера в ЗП */ public function DelZpManager($UserLogin, $Email, $OrganName){ $Title = "Komunal ($this->CityNameEng) | Зарплатний проект. Деактивація користувача."; $ContentText = " Користувача ".$UserLogin." було деактивовано.
Організація: ".$OrganName."

З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $Email); } /** * Сообщение для обновленного менеджера в ЗП */ public function UpdZpManager($UserLogin, $Email, $OrganName){ $Title = "Komunal ($this->CityNameEng) | Зарплатний проект. Оновлення параметрів користувача."; $ContentText = " Параметри користувача ".$UserLogin." було оновлено.
Організація: ".$OrganName."

З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $Email); } /** * ДОбавить письмо в maillist для всех менеджеров организации * * */ public function addMailToMaillistForManagersInCurOrgan($TypeOfMessage = 0, $ZpOrganId, $Title = null, $Text = null){ $ZpOrganId = (float)$ZpOrganId; //Удаление из текста html тегов и других возможных вредоносных символов, которые могут быть использованы для sql-инъекции $Title = strip_tags($Title); $Text = strip_tags($Text); $SqlDialect = new SybaseASEDialect(); $Title = $SqlDialect->escapeString($Title); $Text = $SqlDialect->escapeString($Text); $Managers = ZpManager::getList("ZpOrganId = $ZpOrganId"); foreach ($Managers as $curUser){ if(CheckField::checkEmail($curUser->getEmail())){ $this->addMailToMaillist($TypeOfMessage, $Title, $Text, $curUser->getEmail()); } } } // =====Сообщения по Зарплатному проекту - КОНЕЦ==================================== // ================================================================================= // ================================================================================= // =====Сообщения по Передаче счетчиков - НАЧАЛО=================================== /** * Сообщение для обновленного менеджера в ЗП */ public function ScUserIsRegistered($UserLogin, $Email){ $Title = "Komunal ($this->CityNameEng). Користувач вже зареєстрований."; $ContentText = " Для Вашої муніцапальної картки надійшов запит на реєстрацію в системі для передачі показників лічильників. Але Ви вже зареєстровані в системі і можете сплачувати послуги та передавати покази лічильників. Якщо це не так, звертайтесь до адміністратора системи. Email: admin@komunal.com.ua З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $Email); } public function ScUserIsRegisteredSecondary($UserLogin, $Email){ $Title = "Komunal ($this->CityNameEng). Користувач вже зареєстрований."; $ContentText = " Для Вашої муніцапальної картки надійшов запит на реєстрацію в системі для передачі показників лічильників. Але Ви вже зареєстровані в системі і можете передавати покази лічильників. Якщо це не так, звертайтесь до адміністратора системи. Email: admin@komunal.com.ua З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //сразу не отправлять. сначала добавить в базу $this->addMailToMaillist(0, $Title, $ContentText, $Email); } // =====Сообщения по Передаче счетчиков - КОНЕЦ==================================== // ================================================================================= /** * Сообщение для закрытого в ЭПС пользователя */ public function closeDogovorsForEPS($Email){ $Title = "Komunal ($this->CityNameEng) | Припинення дії доступу до системи."; $ContentText = " Доброго дня.

Повідомляємо, що доступ до системи 'Комунал' припинено, Ваші персональні дані видалені з бази дних.

Це спричинено тим, що закінчився строк дії дозволів на обробку персональних даних в усіх комунальних службах.

Ви можете поновити дію Вашого аккаунту або зареєструвати новий аккаунт у випадку зміни адреси проживання.

Для цього необхідно звернутись до однієї зі служб, яка підключена до систем.

Дякуємо, що користувались нашими послугами.
З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; //добавить письмо в таблицу б.д. maillist $this->addMailToMaillist(0, $Title, $ContentText, $Email); } /** * Напомнить логин */ public function ForgotLoginMessage($Email, $ListMCards){ $Title = "Komunal ($this->CityNameEng) | Муніципальна картка (логін)."; $ContentText = " Доброго дня.

На сайті www.komunal.com.ua було виконано запит про нагадування номеру муніципальної картки.
Для Вашої адреси електронної пошти зареєстровані такі муніципальні картки: $ListMCards

З повагою, адміністратор системи 'Комунал'. www.komunal.com.ua

"; // отправить письмо. если не удалось отправить, занести в таблицу maillist $ResultSendMail = $this->sendMail($Email, $Title, $ContentText); if($ResultSendMail['IsError'] != 0){ //добавить письмо в таблицу б.д. maillist $this->addMailToMaillist(0, $Title, $ContentText, $Email); } } } ?>password = $password; } /** * Возвращает закодированую (hash) строку. Алгоритм: дополненный md5 */ public function md5_gic(){ $password = $this->password; $md5 = md5($password); $md5Array = str_split ( $md5, 4); //0-5 $tmp = $md5Array[0]; $md5Array[0] = $md5Array[5]; $md5Array[5] = $tmp; //1-7 $tmp = $md5Array[1]; $md5Array[1] = $md5Array[7]; $md5Array[7] = $tmp; //2-3 $tmp = $md5Array[2]; $md5Array[2] = $md5Array[3]; $md5Array[3] = $tmp; //0-5 $tmp = $md5Array[0]; $md5Array[0] = $md5Array[5]; $md5Array[5] = $tmp; //4-6 $tmp = $md5Array[4]; $md5Array[4] = $md5Array[6]; $md5Array[6] = $tmp; $md5_gic = implode('', $md5Array ); return $md5_gic; } } ?>_summa = $Summa; } /** * Возвращает число в формате < целое,дробное(2) > */ public function getSumma($Summa) { //if ( ($this->_summa/100)<>intval($this->_summa/100) ) { if (isset($Summa)) { if ( intval($Summa) == $Summa ) { return $Summa.".00"; } //$TempSumma = $Summa * 10; //if ( is_integer($Summa*10) ) { if ( intval($Summa*10) == $Summa*10 ) { return $Summa."0"; } return round($Summa, 2); } if ( is_integer($this->_summa) ) { return $this->_summa.".00"; } if ( is_integer($this->_summa*10) ) { return $this->_summa.".0"; } } /** * Возвращает число в формате < целое,дробное(CountDigits) > */ public static function getSummaWithDigitsCount($Summa, $CountDigits) { //для целого числа if ( intval($Summa) == $Summa ) { $Summa.= '.'; for($i=0; $i<$CountDigits; $i++ ){ $Summa.= '0'; } return $Summa; } // целое число уже предусмотрено выше, потому дробная часть будет в любом случае $SumPartArr = explode(".", $Summa); //print_r($SumPartArr); $FractionPart = $SumPartArr[1]; //Количество символов в дробной части $LengthOfFractionPart = strlen($FractionPart); $CountZeroForAdding = $CountDigits - $LengthOfFractionPart; for($i=0; $i<$CountZeroForAdding; $i++ ){ $Summa.= '0'; } return $Summa; } } ?> '1', 2 => '2', 3 => '3', 4 => '4', 5 => '5', 6 => '6', 7 => '7', 8 => '8', 9 => '9', 10 => '10', 11 => '11', 12 => '12', 13 => '13', 14 => '14', 15 => '15', 16 => '16', 17 => '17', 18 => '18', 19 => '19', 20 => '20', 21 => '21', 22 => '22', 23 => '23', 24 => '24', 25 => '25' ); } public function MonthGraduation(){ return array( 1 => 'Січень', 2 => 'Лютий', 3 => 'Березень', 4 => 'Квітень', 5 => 'Травень', 6 => 'Червень', 7 => 'Липень', 8 => 'Серпень', 9 => 'Вересень', 10 => 'Жовтень', 11 => 'Листопад', 12 => 'Грудень', ); } public function YearGraduation(){ return array( 2009 => '2009', 2010 => '2010', 2011 => '2011', 2012 => '2012', 2013 => '2013', 2014 => '2014', 2015 => '2015', 2016 => '2016', 2017 => '2017', 2018 => '2018', 2019 => '2019', 2020 => '2020' ); } public function YearGraduationBeforeCur($StartYear = 2009){ //echo 111; //$StartYear = 2009; $CurDate = new CDateTime(); $ListYearArray = array(); for($i = $StartYear; $i<=$CurDate->year(); $i++){ $ListYearArray[$i] = $i; } return $ListYearArray; } public function getNameMonthByNum($MonthNum = 1){ $Months = Array(1 => 'січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень'); return $Months[$MonthNum]; } } ?>_fieldValue = $FieldValue; } /** * Проверка валидности почты */ public static function checkEmail($FieldValue){ $FieldValue = strtolower(trim($FieldValue)); if(preg_match('|([а-яa-z0-9_\.\-]{1,50})@([а-яa-z0-9\.\-]{1,20})\.([а-яa-z]{1,6})|is', $FieldValue)){ //good return true; } else{ //bad return false; } } /** * Проверка буквенного логина пользователя. * * Требования: * - длина не меньше шести символов * - доступные символы: большие и малые символы латинского алфавита, цифры, символ подчеркивания */ public static function checkLetterLogin($FieldValue){ if(preg_match("/^[0-9A-Za-z_]{6,20}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка цифрового логина пользователя(Такой логин используется для пользователя ИК). * * Требования: * - длина ровно 10 символов * - доступные символы: только цифры */ public static function checkNumericLogin($FieldValue){ if(preg_match("/^[0-9]{5,}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка номера платежного документа. * */ public static function checkInOrder($FieldValue){ if(preg_match("/^[0-9A-Za-z_]{1,10}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка табельного номера * */ public static function checkTablNumber($FieldValue){ if(preg_match("/^[0-9A-Za-z_]{1,10}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка табельного номера * */ public static function checkZpAcptRequestId($FieldValue){ if(preg_match("/^[0-9]{1,10}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка АБВГД дома * * Требования: * - от 0 до 1 сомвола * - доступные символы: большие и малые символы кириллического алфавита */ public static function checkNomDom_d($FieldValue){ if(preg_match("/^[А-Яа-яі]{0,1}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка номера проблемы АДС * * Форма ввода: 000-00-0000 */ public static function checkADSNomProb($FieldValue){ if(preg_match("/^[0-9]{1,3}-[0-9]{1,2}-[0-9]{1,6}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка даты в формате дд-мм-гггг * * */ public static function checkDateDDMMYYYY($FieldValue){ if(preg_match("/^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)-(0[13456789]|1[012])-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])-02-((19|[2-9]\d)\d{2}))|(29-02-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка названия загружаемого файла * В названии могут быть цифры, одчеркивания и в конце .jpg * Форма ввода: */ public static function checkInputImgFile($FieldValue){ if(preg_match("/^[0-9_]{1,50}.[a-zA-Z]{3,4}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка лецового счета (ЛС) * 14 исмволов из цифр и кириллицы * Форма ввода: */ public static function checkLc($FieldValue){ if(preg_match("/^[0-9а-яА-ЯєЄїЇіІ]{14}$/", $FieldValue)){ return true; } else{ return false; } } /** * Проверка Publisher * до 8 исмволов из цифр букв латинского алфавита в олюбом регистре и знак подчеркивания * Форма ввода: */ public static function checkPublisher($FieldValue){ if(preg_match("/^[0-9a-zA-Z_]{1,8}$/", $FieldValue)){ return true; } else{ return false; } } } ?>