예제 #1
0
 /**
  * @param Entity\Event $event
  * @return Entity\EventResult
  */
 public static function onBeforeAdd(Entity\Event $event)
 {
     $result = new Entity\EventResult();
     $data = $event->getParameter('fields');
     if (isset($data['TOKEN_EXPIRES_IN'])) {
         $dateTime = new Type\DateTime();
         $dateTime->add('+ ' . $data['TOKEN_EXPIRES_IN'] . ' sec');
         $result->modifyFields(['TOKEN_FINAL_DATE' => $dateTime]);
     }
     return $result;
 }
예제 #2
0
 public static function getMap()
 {
     $date = new DateTime();
     $yesterday = Application::getConnection()->getSqlHelper()->getCharToDateFunction($date->add('-1 DAY')->format("Y-m-d H:i:s"));
     return array('ID' => array('data_type' => 'integer', 'primary' => true, 'autocomplete' => true), 'TOKEN' => array('data_type' => 'string', 'required' => true, 'validation' => array(__CLASS__, 'validateToken')), 'FILENAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateFilename')), 'CONTENT_TYPE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateContentType')), 'PATH' => array('data_type' => 'string', 'required' => true, 'validation' => array(__CLASS__, 'validatePath')), 'BUCKET_ID' => array('data_type' => 'integer'), 'SIZE' => array('data_type' => 'integer'), 'WIDTH' => array('data_type' => 'integer'), 'HEIGHT' => array('data_type' => 'integer'), 'IS_CLOUD' => array('data_type' => 'boolean', 'values' => array(0, 1), 'default_value' => 0), 'IRRELEVANT' => array('data_type' => 'boolean', 'expression' => array("CASE WHEN (%s < {$yesterday}) THEN 1 ELSE 0 END", 'CREATE_TIME'), 'values' => array(0, 1)), 'CREATED_BY' => array('data_type' => 'integer'), 'CREATE_USER' => array('data_type' => 'Bitrix\\Main\\UserTable', 'reference' => array('=this.CREATED_BY' => 'ref.ID')), 'CREATE_TIME' => array('data_type' => 'datetime', 'required' => true, 'default_value' => new DateTime()));
 }
예제 #3
0
     $dateFormat = 'Y-m-d';
     $axisDateFormat = "D\nd.m";
     $axisCursorDateFormat = "l\nd M Y";
     break;
 case 'week':
     $fromDate = Type\DateTime::createFromTimestamp(mktime(0, 0, 0, date('n'), date('j') - 7));
     $interval = 'day';
     $dateFormat = 'Y-m-d';
     $axisDateFormat = "D\nd.m";
     $axisCursorDateFormat = "l\nd M Y";
     break;
 case 'custom_day':
     // for today, from 00:00 till 23:59
     $arParams['CUSTOM_DAY'] = isset($arParams['CUSTOM_DAY']) ? $arParams['CUSTOM_DAY'] : $_REQUEST['CUSTOM_DAY'];
     $fromDate = new Type\DateTime($arParams['CUSTOM_DAY'] . ' 00:00:00', 'Y-m-d H:i:s');
     $fromDate->add('-1 hour');
     $toDate = clone $fromDate;
     $toDate->add('+25 hour');
     $interval = 'hour';
     $dateFormat = 'Y-m-d H:00:00';
     $axisDateFormat = "H";
     $axisCursorDateFormat = "d M Y\n" . (IsAmPmMode() ? "g:i a" : "H:i");
     break;
 default:
     // for today, from 00:00 till 23:59
     $fromDate = Type\DateTime::createFromTimestamp(mktime(-1, 0, 0));
     $toDate = Type\DateTime::createFromTimestamp(mktime(24, 0, 0));
     $interval = 'hour';
     $dateFormat = 'Y-m-d H:00:00';
     $axisDateFormat = "H";
     $axisCursorDateFormat = array("today" => "today, " . (IsAmPmMode() ? "g:i a" : "H:i"));
예제 #4
0
 /**
  * @param int $days
  *
  * @return bool
  */
 public static function deleteOld($days)
 {
     $expired = new Main\Type\DateTime();
     $expired->add('-' . $days . 'days');
     $expiredValue = $expired->format('Y-m-d H:i:s');
     /** @var Main\DB\Connection $connection */
     $connection = Main\Application::getConnection();
     /** @var Main\DB\SqlHelper $sqlHelper */
     $sqlHelper = $connection->getSqlHelper();
     $sqlExpiredDate = $sqlHelper->getDateToCharFunction("'" . $expiredValue . "'");
     if ($connection instanceof Main\DB\MysqlCommonConnection) {
         $query = "DELETE FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t SELECT ID FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\t\t\t \t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) LIMIT " . static::BASKET_DELETE_LIMIT;
         $connection->queryExecute($query);
         $query = "DELETE FROM b_sale_basket\tWHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t) LIMIT " . static::BASKET_DELETE_LIMIT;
         $connection->queryExecute($query);
     } elseif ($connection instanceof Main\DB\MssqlConnection) {
         $query = "DELETE TOP (" . static::BASKET_DELETE_LIMIT . ") FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID IN (\n     \t\t\t\t\t\t\t\t\t\t\tSELECT id FROM b_sale_basket WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE b_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)";
         $connection->queryExecute($query);
         $query = "DELETE TOP (" . static::BASKET_DELETE_LIMIT . ") FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t)";
         $connection->queryExecute($query);
     } elseif ($connection instanceof Main\DB\OracleConnection) {
         $query = "DELETE FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID IN (\n     \t\t\t\t\t\t\t\t\t\t\tSELECT id FROM b_sale_basket WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) AND ROWNUM <= " . static::BASKET_DELETE_LIMIT;
         $connection->queryExecute($query);
         $query = "DELETE FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlExpiredDate . "\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t) AND ROWNUM <= " . static::BASKET_DELETE_LIMIT;
         $connection->queryExecute($query);
     }
     return true;
 }
예제 #5
0
 /**
  * Delete fuserId over several days.
  *
  * @param int $days			Interval.
  * @return void
  */
 public static function deleteOld($days)
 {
     $expired = new Main\Type\DateTime();
     $expired->add('-' . $days . 'days');
     $expiredValue = $expired->format('Y-m-d H:i:s');
     /** @var Main\DB\Connection $connection */
     $connection = Main\Application::getConnection();
     /** @var Main\DB\SqlHelper $sqlHelper */
     $sqlHelper = $connection->getSqlHelper();
     $query = "DELETE FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < " . $sqlHelper->getDateToCharFunction("'" . $expiredValue . "'") . "\n\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\tAND b_sale_fuser.id NOT IN (select FUSER_ID from b_sale_basket)";
     $connection->queryExecute($query);
 }
예제 #6
0
파일: basket.php 프로젝트: Satariall/izurit
 /**
  * @param int $days
  *
  * @return bool
  */
 public static function deleteOld($days)
 {
     $connection = Main\Application::getConnection();
     $expired = new Main\Type\DateTime();
     $expired->add('-' . $days . 'days');
     $expiredValue = $expired->format('Y-m-d H:i:s');
     if ($connection instanceof Main\DB\MysqlConnection) {
         $query = "DELETE FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t SELECT ID FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\t\t\t \t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < '" . $expiredValue . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) LIMIT " . static::BASKET_DELETE_LIMIT;
         $connection->query($query);
         $query = "DELETE FROM b_sale_basket\tWHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < '" . $expiredValue . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t) LIMIT " . static::BASKET_DELETE_LIMIT;
         $connection->query($query);
     } elseif ($connection instanceof Main\DB\MssqlConnection) {
         $query = "DELETE TOP (" . static::BASKET_DELETE_LIMIT . ") FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID IN (\n     \t\t\t\t\t\t\t\t\t\t\tSELECT id FROM b_sale_basket WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE b_sale_fuser.DATE_UPDATE < CONVERT(varchar(20),'" . $expiredValue . "', 20)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)";
         $connection->query($query);
         $query = "DELETE TOP (" . static::BASKET_DELETE_LIMIT . ") FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < CONVERT(varchar(20),'" . $expiredValue . "', 20)\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t)";
         $connection->query($query);
     } elseif ($connection instanceof Main\DB\OracleConnection) {
         $query = "DELETE FROM b_sale_basket_props WHERE\n\t\t\t\t\t\t\t\t\t\tBASKET_ID NOT IN (\n     \t\t\t\t\t\t\t\t\t\t\tSELECT id FROM b_sale_basket WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < TO_DATE('" . $expiredValue . "', 'YYYY-MM-DD HH24:MI:SS')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) AND ROWNUM <= " . static::BASKET_DELETE_LIMIT;
         $connection->query($query);
         $query = "DELETE FROM b_sale_basket WHERE\n\t\t\t\t\t\t\t\t\tFUSER_ID IN (\n     \t\t\t\t\t\t\t\t\t\tSELECT b_sale_fuser.id FROM b_sale_fuser WHERE\n     \t\t\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < TO_DATE('" . $expiredValue . "', 'YYYY-MM-DD HH24:MI:SS')\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\t\t) AND ROWNUM <= " . static::BASKET_DELETE_LIMIT;
         $connection->query($query);
     }
     return true;
 }
예제 #7
0
 /**
  * Get url for showing preview file.
  * @param FileData $fileData
  * @return string|null
  */
 public function getDataForViewFile(FileData $fileData)
 {
     if (!$this->checkRequiredInputParams($fileData->toArray(), array('file'))) {
         return null;
     }
     $seconds = (int) 300;
     $deathTime = new DateTime();
     $deathTime->add("+ {$seconds} seconds");
     $data = array('TYPE' => ExternalLinkTable::TYPE_AUTO, 'DEATH_TIME' => $deathTime);
     $specificVersionModel = $fileData->getVersion();
     if ($specificVersionModel) {
         $data['VERSION_ID'] = $specificVersionModel->getId();
     }
     $extLinkModel = $fileData->getFile()->addExternalLink($data);
     if (!$extLinkModel) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('DISK_GOOGLE_VIEWER_HANDLER_ERROR_COULD_NOT_FIND_EXT_LINK'), self::ERROR_COULD_NOT_FIND_EXT_LINK)));
         $this->errorCollection->add($fileData->getFile()->getErrors());
     }
     $extLink = Driver::getInstance()->getUrlManager()->getUrlExternalLink(array('hash' => $extLinkModel->getHash(), 'action' => 'download'), true);
     return array('id' => $extLinkModel->getHash(), 'viewUrl' => Driver::getInstance()->getUrlManager()->generateUrlForGoogleViewer($extLink), 'neededDelete' => false, 'neededCheckView' => true);
 }
예제 #8
0
 /**
  * @param array $chain
  * @return void
  */
 protected static function send($chain)
 {
     // set send status
     if (empty($chain['ID'])) {
         return;
     }
     if (empty($chain['POSTING_ID'])) {
         if (empty(static::$postingId)) {
             return;
         }
         $updateFields['POSTING_ID'] = static::$postingId;
     }
     $updateFields = array();
     if ($chain['STATUS'] == MailingChainTable::STATUS_WAIT) {
         $autoSendTime = new \Bitrix\Main\Type\DateTime();
         $autoSendTime->add($chain['TIME_SHIFT'] . ' minutes');
         $updateFields['STATUS'] = MailingChainTable::STATUS_SEND;
         $updateFields['AUTO_SEND_TIME'] = $autoSendTime;
     } else {
         $updateFields['AUTO_SEND_TIME'] = $chain['AUTO_SEND_TIME'];
         $updateFields['STATUS'] = $chain['STATUS'];
     }
     if (count($updateFields) > 0) {
         MailingChainTable::update(array('ID' => $chain['ID']), $updateFields);
     }
 }
예제 #9
0
파일: fuser.php 프로젝트: Satariall/izurit
 /**
  * @param $days
  */
 public static function deleteOld($days)
 {
     $connection = Main\Application::getConnection();
     $expired = new Main\Type\DateTime();
     $expired->add('-' . $days . 'days');
     $expiredValue = $expired->format('Y-m-d H:i:s');
     if ($connection instanceof Main\DB\MysqlConnection) {
         $query = "DELETE FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < '" . $expiredValue . "'\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.id NOT IN (select FUSER_ID from b_sale_basket)";
         $connection->query($query);
     } elseif ($connection instanceof Main\DB\MssqlConnection) {
         $query = "DELETE FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < CONVERT(varchar(20),'" . $expiredValue . "', 20)\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.id NOT IN (select FUSER_ID from b_sale_basket)";
         $connection->query($query);
     } elseif ($connection instanceof Main\DB\OracleConnection) {
         $query = "DELETE FROM b_sale_fuser WHERE\n\t\t\t\t\t\t\t\t\t\tb_sale_fuser.DATE_UPDATE < TO_DATE('" . $expiredValue . "', 'YYYY-MM-DD HH24:MI:SS')\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.USER_ID IS NULL\n\t\t\t\t\t\t\t\t\t\tAND b_sale_fuser.id NOT IN (select FUSER_ID from b_sale_basket)";
         $connection->query($query);
     }
 }