bl_id_string_selected; $stat_data['mode']=$st->search_mode; // if (idb::i()->ins_upd_sql_data('jstats_search_stat',array(),array($stat_data),false)<0) ji_log::i()->w("Ошибка при добавлении статистики поиска:".idb::i()->getErrorMsg(),I_ERROR,idb::i()->getErrorNum()); self::csv_stat($stat_data,'search'); } public static function download($stat_data=array(),$st=null){ //$ip="" // $rec_id=0, $bo="", $file_path="", $open_mode=0, $pages=0, $user_fio="",$user_id="",$category="" if (!u::ga($GLOBALS['CFG'],'stat_enable',false)) return; $stat_data=self::common($stat_data,$st); if (idb::i()->ins_upd_sql_data('jstats_download_stat',array(),array($stat_data),false)<0) ji_log::i()->w("Ошибка при добавлении статистики поиска:".idb::i()->getErrorMsg(),I_ERROR,idb::i()->getErrorNum()); self::csv_stat($stat_data,'download'); // array_intersect_key()() } public static function login($st){ if (!u::ga($GLOBALS['CFG'],'stat_enable',false)) return; $stat_data=self::common(array(),$st); self::csv_stat($stat_data,'login'); } protected static function csv_stat($stat_data=array(),$operation=''){ if (u::ga($GLOBALS['CFG'],'stat_csv_enable',false)){ $base_array=array('date'=>'','user_id'=>'','user_fio'=>'','category'=>'','department'=>'','bl_id_string'=>''); $stat_data=array_intersect_key( $stat_data, $base_array ); $stat_data['operation']=$operation; $stat_data=array_merge($base_array,$stat_data); //array_intersect_key u::add_csv_string(u::ga($GLOBALS['CFG'],'stat_csv_path',JI_PATH_COMPONENT_LOCAL).'/ji_stat.csv',$stat_data); } } public static function bl_id_string_decrypt($bl_id_string=''){ $bl_id_array=explode(',',$bl_id_string); $bnf_array=array(); foreach ($bl_id_array as $bl_id){ $bl_id=(int)trim($bl_id); $bnf_array[]=ji_st::i(JI_LOCK_NO)->get_bnf_by_bl_id($bl_id)? ji_st::i(JI_LOCK_NO)->get_bnf_by_bl_id($bl_id) : $bl_id ; } return implode(', ',$bnf_array); } public static function request_decrypt($request){ //$request='((<.>A=иванов$<.>)*(<.>D=история$<.>))*(<.>I=sdsdsdsd<.>)'; $pref=array(); $pref[0]=array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ'); $pref[1]=array('DISC=','ДИСЦИПЛИНА','ДИСЦИПЛИНЫ'); $pref[2]=array('SPEC=','СПЕЦИАЛЬНОСТЬ','СПЕЦИАЛЬНОСТИ'); $pref[3]=array('A=','АВТОР','АВТОРЫ'); $pref[4]=array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ'); $pref[5]=array('K=','КЛЮЧЕВЫЕ СЛОВА','КЛЮЧЕВЫЕ СЛОВА'); $pref[6]=array('O=','ИЗДАТЕЛЬСТВО','ИЗДАТЕЛЬСТВА'); $pref[7]=array('G=','ГОД ИЗДАНИЯ','ГОДЫ ИЗДАНИЯ'); $pref[8]=array('R=','РУБРИКА','РУБРИКИ'); $pref[9]=array('V=','ВИД ИЗДАНИЯ','ВИДЫ ИЗДАНИЯ'); $pref[10]=array('HD=','ХАРАКТЕР ДОКУМЕНТА','ХАРАКТЕРЫ ДОКУМЕНТА'); $pref[11]=array('MHR=','МЕСТО ХРАНЕНИЯ','МЕСТА ХРАНЕНИЯ'); $pref[12]=array('I=','СИСТЕМНЫЙ ШИФР','СИСТЕМНЫЕ ШИФРЫ'); $pref[13]=array('TJ=','ЗАГЛАВИЕ СТАТЬИ','ЗАГЛАВИЯ СТАТЕЙ'); $pref[14]=array('VR=','ВИД ДОКУМЕНТА','ВИДЫ ДОКУМЕНТОВ'); $pref[15]=array('KAF=','КАФЕДРА','КАФЕДРЫ'); $pref[16]=array('DS=','ВСЕ ПОЛЯ','ВСЕ ПОЛЯ'); $integrator2=''; $prf_last=''; $res=''; $multi=explode('*',$request); for($i=0;$i0){ $prf_decript=(count($addi)>1) ? $pref[$d][2].': ' : $pref[$d][1].': '; $prf_decript=($prf_last!==$pref[$d][0]) ? $prf_decript : ''; $res.=$integrator2.''.$prf_decript.''; $integrator2=' И '; $prf_find=true; $prf_last=$pref[$d][0]; break; } } if ($prf_find){ $integrator=''; for($k=0;$k)|(\))|\\$|(\/\(.*\))}",'',$addi[$k]).'"'; //|(\<\.\>)|(\))|\$|(\/\(.*\)) $integrator=' ИЛИ '; } } } return $res; } // Общие данные, используемые в таблицах статистики private static function common($stat_data=array(),$st){ $stat_data['date']=date("Y-m-d H:i:s", time()); $stat_data['ip']=u::ga($_SERVER,'REMOTE_ADDR',''); if (is_object($st->user)){ $stat_data['user_fio']=$st->user->GetField(10,1).' '.$st->user->GetField(11,1).' '.$st->user->GetField(12,1); $stat_data['category']=$st->user->GetField(50,1); $stat_data['department']=$st->user->GetField(984,1); $stat_data['user_id']=$st->user->GetField($GLOBALS['CFG']['user_password_tag'],1); } return $stat_data; } } //echo ji_stat::request_decrypt('((<.>DISC=АГРАРНАЯ ПОЛИТИКА<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>)+(<.>DISC=АГРАРНОЕ ПРАВО<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>)+(<.>DISC=АКТИНОМЕТРИЯ<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>)+(<.>DISC=АКТУАЛЬНЫЕ ПРОБЛЕМЫ БУХГАЛТЕРСКОГО УЧЕТА<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>)+(<.>DISC=АНАЛИЗ ФИНАНСОВОЙ ОТЧЕТНОСТИ<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>)+(<.>DISC=АНАЛИТИЧЕСКАЯ МЕХАНИКА<.>(F)<.>SPEC=190200$<.>(F)<.>SEM=1<.>(F)<.>VO=СПЦ<.>))'); ?>