/** * <p>Находит <a href="http://dev.1c-bitrix.ru/api_help/statistic/terms.php#event_type">тип события</a> по указанным <a href="http://dev.1c-bitrix.ru/api_help/statistic/terms.php#event_type_id">идентификаторам</a>, либо создает новый тип события если такого ещё не существует.</p> * * * @param string $event1 Идентификатор event1 типа события. * * @param string $event2 Идентификатор event2 типа события. * * @param array &$type Ссылка на массив описывающий найденный, либо созданный тип * события. Структура данного массива: <pre style="font-size:95%"> Array ( [TYPE_ID] => ID * типа события [DYNAMIC_KEEP_DAYS] => количество дней, отведенное для * хранения статистики по данному типу события в разрезе по дням * [KEEP_DAYS] => количество дней, отведенное для хранения событий * данного типа [DATE_ENTER_STR] => дата создания события )</pre> * * @return int <p>Метод возвращает ID найденного типа события, либо вновь * созданного.</p> * * <h4>Example</h4> * <pre> * <? * // получим ID типа события "softkey/order" * // либо создадим новый тип события * $TYPE_ID = <b>CStatEventType::ConditionSet</b>("softkey", "order", $arEventType); * ?> * </pre> * * * <h4>See Also</h4> * <ul> <li> <a * href="http://dev.1c-bitrix.ru/api_help/statistic/classes/cstateventtype/getbyevents.php">CStatEventType::GetByEvents</a> * </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/statistic/classes/cstateventtype/getbyid.php">CStatEventType::GetByID</a> </li> * <li> <a href="http://dev.1c-bitrix.ru/api_help/statistic/terms.php#event_type">Термин "Тип события"</a> * </li> </ul> </ht<a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/statistic/classes/cstateventtype/conditionset.php * @author Bitrix */ public static function ConditionSet($event1, $event2, &$arEventType) { $err_mess = "File: " . __FILE__ . "<br>Line: "; $DB = CDatabase::GetModuleConnection('statistic'); $w = CStatEventType::GetByEvents($event1, $event2); $arEventType = $w->Fetch(); $EVENT_ID = intval($arEventType["EVENT_ID"]); if ($EVENT_ID <= 0) { if (strlen($event1) > 0 || strlen($event2) > 0) { // save to database $arFields = array("EVENT1" => strlen($event1) > 0 ? "'" . $DB->ForSql($event1, 200) . "'" : "null", "EVENT2" => strlen($event2) > 0 ? "'" . $DB->ForSql($event2, 200) . "'" : "null", "DATE_ENTER" => "null"); $EVENT_ID = $DB->Insert("b_stat_event", $arFields, $err_mess . __LINE__); } } return intval($EVENT_ID); }
public static function GetByEvents($event1, $event2) { return CStatEventType::GetByEvents($event1, $event2); }