Пример #1
0
 function fieldencode($s)
 {
     if (is_array($s)) {
         $ret_val = '';
         foreach ($s as $v) {
             $ret_val .= ($ret_val != '' ? ', ' : '') . CEvent::fieldencode($v);
         }
     } else {
         $ret_val = str_replace("%", "%2", $s);
         $ret_val = str_replace("&", "%1", $ret_val);
         $ret_val = str_replace("=", "%3", $ret_val);
     }
     return $ret_val;
 }
Пример #2
0
 function Send($event, $lid, $arFields, $Duplicate = "Y", $message_id = "")
 {
     $err_mess = CEvent::err_mess() . "<br>Function: Send<br>Line: ";
     global $DB;
     $sqlFields = "";
     if (is_array($arFields) && count($arFields) > 0) {
         $keys = array_keys($arFields);
         for ($i = 0; $i < count($keys); $i++) {
             $sqlFields .= "&" . CEvent::fieldencode($keys[$i]) . "=" . CEvent::fieldencode($arFields[$keys[$i]]);
         }
         if (strlen($sqlFields) > 0) {
             $sqlFields = substr($sqlFields, 1);
         }
     }
     if (is_array($lid)) {
         $lid = implode(",", $lid);
     }
     $arFields = array("EVENT_NAME" => "'" . $DB->ForSQL($event) . "'", "LID" => "'" . $DB->ForSql($lid, 201) . "'", "MESSAGE_ID" => intval($message_id) <= 0 ? "null" : intval($message_id), "C_FIELDS" => "'" . $DB->ForSQL($sqlFields) . "'", "DATE_INSERT" => "getdate()", "DUPLICATE" => $Duplicate != "N" ? "'Y'" : "'N'");
     if (CACHED_b_event !== false) {
         @unlink($_SERVER["DOCUMENT_ROOT"] . "/" . BX_ROOT . "/managed_cache/" . $DB->type . "/b_event");
     }
     return $DB->Insert("b_event", $arFields, $err_mess . __LINE__);
 }