예제 #1
0
                header('Content-Length: ' . filesize($file));
                ob_clean();
                flush();
                readfile($file);
                exit;
            }
        }
    } else {
        $filename = $_GET['filename'];
        $extension = explode('.', $filename);
        $extension = $extension[1];
        $mimeType = 'application/octet-stream';
        switch ($extension) {
            case 'jpg':
                $mimeType = 'image/jpeg';
                break;
            case 'avi':
                $mimeType = 'video/x-msvideo';
                break;
        }
        header('Content-Description: File Transfer');
        header('Content-Type: ' . $mimeType);
        header('Content-Disposition: attachment; filename=' . $file);
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        echo _ajax($json[$_GET['camId']]['scheme'] . $json[$_GET['camId']]['host'] . ':' . $json[$_GET['camId']]['port'] . '/getFile.php?filename=' . $_GET['filename'], $json[$_GET['camId']]['login'], $json[$_GET['camId']]['password']);
        exit;
    }
}
예제 #2
0
     break;
 default:
     $res = [];
     foreach ($json as $key => $row) {
         if ($row['type'] == 'net') {
             $res[] = json_decode(_ajax($row['scheme'] . $row['host'] . ':' . $row['port'] . '/actions.php?action=', $row['login'], $row['password']), true);
         } else {
             $lastedetection = 'Never';
             $laststart = 'Unknown';
             $detectionstate = 'off';
             $run = false;
             if (is_file($row['pid_file'])) {
                 $res = true;
                 $laststart = date("Y-m-d H:i:s", exec('stat -c %Y ' . $row['pid_file']));
                 $loginPassword = explode(':', exec('grep "webcontrol_authentication" /etc/motion.conf|cut -d" " -f 2'));
                 $detectionstate = _ajax($row['scheme'] . $row['motionAdminUri'] . ':' . $row['port'] . '/actions.php?action=', $loginPassword[0], $loginPassword[1]);
                 if (strpos($detectionstate, 'ACTIVE') > 0) {
                     $detectionstate = 'active';
                 } else {
                     $detectionstate = 'pause';
                 }
             }
             if (is_file($row['intrusion_file'])) {
                 $date = file_get_contents($row['intrusion_file']);
                 $lastedetection = date('Y-m-d H:i:s', $date);
             }
             $localData = array('run' => $run, 'lastedetection' => $lastedetection, 'laststart' => $laststart, 'lastrun' => date('Y-m-d H:i:s'), 'detectionstate' => $detectionstate);
             $res[] = $localData;
         }
     }
     echo json_encode($res);