%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/statistic/admin/ |
Current File : //home/bitrix/www/bitrix/modules/statistic/admin/searcher_edit.php |
<?php require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/prolog.php"); /** @var CMain $APPLICATION */ $STAT_RIGHT = $APPLICATION->GetGroupRight("statistic"); if($STAT_RIGHT=="D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); IncludeModuleLangFile(__FILE__); $err_mess = "File: ".__FILE__."<br>Line: "; define("HELP_FILE","searcher_list.php"); $strError = ""; $statDB = CDatabase::GetModuleConnection('statistic'); $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage("STAT_PROP"), "ICON" => "stat_edit", "TITLE" => GetMessage("STAT_PROP_TITLE")), ); $tabControl = new CAdminTabControl("tabControl", $aTabs); /*************************************************************************** Functions ***************************************************************************/ function CheckFields() { global $strError, $str_NAME; $str = ""; if (strlen(trim($str_NAME))<=0) $str .= GetMessage("STAT_FORGOT_NAME")."<br>"; $strError .= $str; if (strlen($str)>0) return false; else return true; } function Set_Params() { global $ID, $PARAM, $err_mess, $statDB; foreach ($PARAM as $pid) { if (intval($pid)<=0) continue; $var_PARAM_ID = "PARAM_ID_".$pid; $var_DOMAIN = "DOMAIN_".$pid; $var_VARIABLE = "VARIABLE_".$pid; $var_CHAR_SET = "CHAR_SET_".$pid; global $$var_PARAM_ID, $$var_DOMAIN, $$var_VARIABLE, $$var_CHAR_SET; $arFields = array( "DOMAIN" => "'".$statDB->ForSql($$var_DOMAIN)."'", "VARIABLE" => "'".$statDB->ForSql($$var_VARIABLE)."'", "CHAR_SET" => "'".$statDB->ForSql($$var_CHAR_SET)."'", ); $strSql = "SELECT 'x' FROM b_stat_searcher_params WHERE ID='".intval($$var_PARAM_ID)."'"; $b = $statDB->Query($strSql, false, $err_mess.__LINE__); if ($br=$b->Fetch()) { if (strlen(trim($$var_DOMAIN))<=0) $statDB->Query("DELETE FROM b_stat_searcher_params WHERE ID='".intval($$var_PARAM_ID)."'", false, $err_mess.__LINE__); else $statDB->Update("b_stat_searcher_params",$arFields,"WHERE ID='".intval($$var_PARAM_ID)."'",$err_mess.__LINE__); } elseif (strlen(trim($$var_DOMAIN))>0) { $arFields["SEARCHER_ID"] = intval($ID); $statDB->Insert("b_stat_searcher_params",$arFields, $err_mess.__LINE__); } } } $ID = intval($ID); InitBVar($ACTIVE); InitBVar($SAVE_STATISTIC); InitBVar($DIAGRAM_DEFAULT); InitBVar($CHECK_ACTIVITY); if ((strlen($save)>0 || strlen($apply)>0) && $REQUEST_METHOD=="POST" && $STAT_RIGHT>="W" && check_bitrix_sessid()) { $strSql = "SELECT HIT_KEEP_DAYS FROM b_stat_searcher WHERE ID = $ID"; $rsSearcher = $statDB->Query($strSql, false, $err_mess.__LINE__); $arSearcher = $rsSearcher->Fetch(); $statDB->PrepareFields("b_stat_searcher"); $sql_HIT_KEEP_DAYS = (strlen($HIT_KEEP_DAYS)<=0) ? "null" : intval($HIT_KEEP_DAYS); $arFields = array( "ACTIVE" => "'".$str_ACTIVE."'", "SAVE_STATISTIC" => "'".$str_SAVE_STATISTIC."'", "DIAGRAM_DEFAULT" => "'".$str_DIAGRAM_DEFAULT."'", "NAME" => "'".$str_NAME."'", "USER_AGENT" => (strlen($USER_AGENT)<=0) ? "null" : "'".$str_USER_AGENT."'", "HIT_KEEP_DAYS" => $sql_HIT_KEEP_DAYS, "DYNAMIC_KEEP_DAYS" => (strlen($DYNAMIC_KEEP_DAYS)<=0) ? "null" : intval($DYNAMIC_KEEP_DAYS), "CHECK_ACTIVITY" => "'".$str_CHECK_ACTIVITY."'" ); if (CheckFields()) { $statDB->StartTransaction(); if ($ID>0) { $statDB->Update("b_stat_searcher",$arFields,"WHERE ID='".$ID."'",$err_mess.__LINE__); Set_Params(); if (intval($HIT_KEEP_DAYS)!=$arSearcher["HIT_KEEP_DAYS"]) { $arFields = array("HIT_KEEP_DAYS" => $sql_HIT_KEEP_DAYS); $statDB->Update("b_stat_searcher_hit",$arFields,"WHERE SEARCHER_ID=$ID",$err_mess.__LINE__); } } else { $ID = $statDB->Insert("b_stat_searcher",$arFields, $err_mess.__LINE__); if (intval($ID)>0) Set_Params(); $new = "Y"; } if (strlen($strError)<=0) { $statDB->Commit(); if (strlen($save)>0) LocalRedirect("searcher_list.php?lang=".LANG); elseif ($new=="Y") LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANG."&ID=".$ID); } else $statDB->Rollback(); } } ClearVars(); $searcher = CSearcher::GetByID($ID); if (!($searcher->ExtractFields())) { $ID=0; $str_ACTIVE="Y"; $str_SAVE_STATISTIC="Y"; $str_USER_AGENT = htmlspecialcharsbx($ua); $str_NAME = htmlspecialcharsbx($nm); $str_CHECK_ACTIVITY="Y"; } if (strlen($strError)>0) $statDB->InitTableVarsForEdit("b_stat_searcher", "", "str_"); if ($ID>0) $sDocTitle = GetMessage("STAT_EDIT_RECORD", array("#ID#" => $ID)); else $sDocTitle = GetMessage("STAT_NEW_RECORD"); $APPLICATION->SetTitle($sDocTitle); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); /*************************************************************************** HTML form ****************************************************************************/ $aMenu = array( array( "ICON" => "btn_list", "TEXT" => GetMessage("STAT_LIST"), "TITLE" => GetMessage("STAT_RECORDS_LIST"), "LINK" => "searcher_list.php?lang=".LANGUAGE_ID ) ); if(intval($ID)>0) { $aMenu[] = array("SEPARATOR"=>"Y"); $aMenu[] = array( "ICON" => "btn_new", "TEXT" => GetMessage("STAT_ADD"), "TITLE" => GetMessage("STAT_NEW_SEARCHER"), "LINK" => "searcher_edit.php?lang=".LANGUAGE_ID ); $aMenu[] = array( "ICON" => "btn_delete", "TEXT" => GetMessage("STAT_DELETE"), "TITLE" => GetMessage("STAT_DELETE_SEARCHER"), "LINK" => "javascript:if(confirm('".GetMessageJS("STAT_DELETE_SEARCHER_CONFIRM")."'))window.location='searcher_list.php?action=delete&ID=".$ID."&lang=".LANGUAGE_ID."&".bitrix_sessid_get()."';", ); } $context = new CAdminContextMenu($aMenu); $context->Show(); if($strError) { $aMsg=array(); $arrErr = explode("<br>",$strError); while (list(,$err)=each($arrErr)) $aMsg[]['text']=$err; $e = new CAdminException($aMsg); $GLOBALS["APPLICATION"]->ThrowException($e); $message = new CAdminMessage(GetMessage("STAT_FORM_ERROR_SAVE"), $e); echo $message->Show(); } ?> <a name="tb"></a> <form method="POST" action="<?=$APPLICATION->GetCurPage()?>"> <?=bitrix_sessid_post()?> <input type="hidden" name="ID" value=<?echo $ID?>> <input type="hidden" name="lang" value="<?=LANGUAGE_ID?>"> <? $tabControl->Begin(); ?> <? //******************** //General Tab //******************** $tabControl->BeginNextTab(); ?> <tr> <td width="40%"><?echo GetMessage("STAT_ACTIVE")?></td> <td width="60%"><?echo InputType("checkbox","ACTIVE","Y",$str_ACTIVE,false) ?></td> </tr> <tr> <td><? echo GetMessage("STAT_CHECK_ACTIVITY")?></td> <td><?echo InputType("checkbox","CHECK_ACTIVITY","Y",$str_CHECK_ACTIVITY,false) ?></td> </tr> <tr> <td><? echo GetMessage("STAT_STATISTICS")?></td> <td><?echo InputType("checkbox","SAVE_STATISTIC","Y",$str_SAVE_STATISTIC,false) ?></td> </tr> <tr> <td><? echo GetMessage("STAT_PIE_CHART")?></td> <td><?echo InputType("checkbox","DIAGRAM_DEFAULT","Y",$str_DIAGRAM_DEFAULT,false) ?></td> </tr> <tr> <td><? echo GetMessage("STAT_HIT_KEEP_DAYS")?></td> <td><input type="text" name="HIT_KEEP_DAYS" size="5" value="<?echo $str_HIT_KEEP_DAYS?>"></td> </tr> <tr> <td><? echo GetMessage("STAT_DYNAMIC_KEEP_DAYS")?></td> <td><input type="text" name="DYNAMIC_KEEP_DAYS" size="5" value="<?echo $str_DYNAMIC_KEEP_DAYS?>"></td> </tr> <tr class="adm-detail-required-field"> <td><? echo GetMessage("STAT_NAME")?></td> <td><input type="text" name="NAME" size="40" maxlength="50" value="<?echo $str_NAME?>"></td> </tr> <tr> <td><? echo GetMessage("STAT_USER_AGENT")?></td> <td><input type="text" name="USER_AGENT" size="40" maxlength="500" value="<?echo $str_USER_AGENT?>"></td> </tr> <tr> <td><?=GetMessage("STAT_SEARCHER_DOMAINS")?></td> <td> <table border="0" cellspacing="1" cellpadding="0"> <tr> <td><? echo GetMessage("STAT_DOMAIN")?></td> <td><? echo GetMessage("STAT_VARIABLE")?></td> <td><? echo GetMessage("STAT_CHAR_SET")?></td> </tr> <? $rs = CSearcher::GetDomainList($v1="s_id", $v2="asc", array("SEARCHER_ID" => $ID), $v3); $i = 1; while($arDomain = $rs->GetNext()): ?> <tr> <td><input type="hidden" name="PARAM[]" value="<?echo $i?>"><input type="hidden" name="PARAM_ID_<?echo $i?>" value="<?echo $arDomain["ID"]?>"><input type="text" name="DOMAIN_<?echo $i?>" value="<?echo $arDomain["DOMAIN"]?>" size="30"></td> <td><input type="text" name="VARIABLE_<?echo $i?>" value="<?echo $arDomain["VARIABLE"]?>" size="10"></td> <td><input type="text" name="CHAR_SET_<?echo $i?>" value="<?echo $arDomain["CHAR_SET"]?>" size="20"></td> </tr> <? $i++; endwhile; $count = $i+5; while ($i<=$count) : ?> <tr> <td><input type="hidden" name="PARAM[]" value="<?echo $i?>"><input type="hidden" name="PARAM_ID_<?echo $i?>" value="0"><input type="text" name="DOMAIN_<?echo $i?>" size="30" value="<?echo htmlspecialcharsbx(${"DOMAIN_".$i})?>"></td> <td><input type="text" name="VARIABLE_<?echo $i?>" size="10" value="<?echo htmlspecialcharsbx(${"VARIABLE_".$i})?>"></td> <td><input type="text" name="CHAR_SET_<?echo $i?>" size="20" value="<?echo htmlspecialcharsbx(${"CHAR_SET_".$i})?>"></td> </tr> <? $i++; endwhile; ?> </table> </td> </tr> <? $tabControl->EndTab(); $tabControl->Buttons(array("disabled"=>($STAT_RIGHT<"W"), "back_url"=>"searcher_list.php?lang=".LANGUAGE_ID)); $tabControl->End(); ?> </form> <? require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");