예제 #1
0
 function GetActionIds($PageId = false, $PathArr = false)
 {
     global $_NS_TRACK_VARS;
     $StId =& $_NS_TRACK_VARS['StId'];
     $Item =& $_NS_TRACK_VARS['Item'];
     $QueryClass =& $_NS_TRACK_VARS['QueryClass'];
     $Actions = array();
     $Qr = NS_TRACK_MISC::ValidVar($PathArr['query']);
     $CurrentPath = $PathArr['path'];
     $Query = "SELECT * FROM " . NS_DB_PFX . "_tracker_visitor_action WHERE (PAGE_ID = {$PageId} OR (PAGE_ID = 0 AND SITE_ID={$StId})) AND REDIRECT_CATCH='0' AND ACTIVE='1' AND CODE_ACTION='0' ";
     $Sql = new $QueryClass($Query);
     while ($Row = $Sql->Row()) {
         $Item = false;
         if (!NS_TRACK_MISC::ValidVar($Row->QUERY)) {
             $Row->QUERY = false;
         }
         if (!NS_TRACK_MISC::ValidVar($Row->PATH)) {
             $Row->PATH = false;
         }
         if (!$Row->PATH && NS_TRACK_ACTION::CompareTemplate($Qr, $Row->QUERY)) {
             $Actions[$Row->ID]['Id'] = $Row->ID;
             if ($Item) {
                 $Actions[$Row->ID]['Item'] = urldecode($Item);
             }
         }
         if ($Row->PATH && NS_TRACK_ACTION::ComparePathTemplate($CurrentPath, $Row->PATH, $Qr, $Row->QUERY)) {
             $Actions[$Row->ID]['Id'] = $Row->ID;
             if ($Item) {
                 $Actions[$Row->ID]['Item'] = urldecode($Item);
             }
         }
     }
     return $Actions;
 }