Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function loadEventAll($uid=0){
- if (isset($_POST['event_log'])){
- $event_log = json_decode($_POST['event_log']); //here event already worked on page
- }
- else $event_log = array();
- for($i=0;$i<25;$i++){
- $now = time();
- $time = $now;//-$this->triggered_timeout;
- //sql to cut already worked event
- $noid = array();
- foreach($event_log as $eve){
- if(isset($eve->id)) $noid[] = 'id<>'.$eve->id;
- }
- if (count($noid)) $noid = ' AND ('.implode(' AND ', $noid).') ';
- else $noid = '';
- //don't try to understand this :)
- $q="SELECT * FROM ig_event WHERE (user_id='$uid' OR user_id=0) AND (((triggered+2>=$time OR triggered=0) AND infinite=0) OR (infinite=1 AND triggered+10<=$time)) AND ($now<time_end or infinite=1) AND time_start<=$time $noid";
- $link = mysql_query($q);
- $arr = array();
- if(!$link){
- sleep(1);
- continue; // if no event occurring start next iteration
- }
- if (mysql_num_rows($link)){
- while ($ddd = mysql_fetch_assoc($link)){
- $id = $ddd['id'];
- if ($ddd['direct_call']!=""){ //call js function on page
- $arr[] = $ddd['direct_call'].':'.$id.':'.$ddd['param'];
- if ($ddd['success']!=1){
- if (!$ddd['infinite']) $succ = ' success=1';else $succ='';
- $ctime = time();
- $q = "UPDATE ig_event SET $succ,triggered='$ctime' WHERE id='$id'";
- mysql_query($q);
- }
- }
- else{ // usually not used
- if ($this->load->module($ddd['module'])){
- if (method_exists($this->$ddd['module'], $ddd['action'])){
- $time = time();
- if (($tarr = $this->$ddd['module']->$ddd['action']($ddd['param'])) and !$ddd['infinite']){
- $q = "UPDATE ig_event SET success=1 WHERE id='$id'";
- mysql_query($q);
- }
- }
- else{
- $q = "UPDATE ig_event SET success=1 WHERE id='$id'";
- mysql_query($q);
- }
- $q = "UPDATE ig_event SET triggered='$time' WHERE id='$id'";
- mysql_query($q);
- if (!$ddd['infinite']) $arr[] = 'blank'.':'.$id.':';
- }
- }
- }
- return $arr;
- }
- sleep(1);
- }
- return $arr;
- }
- id | col1 | col2 | timestamp
- ------------------------------
- 1 | herp | derp | 1347373151
- 2 | herp | derp | 1347373152
- 3 | herp | derp | 1347373153
- $q = "SELECT * FROM `table` WHERE `timestamp` < ".$lastCaughtEventTime;
- function poll() {
- $results = [];
- $start = microtime(true);
- $q = "SELECT * FROM `table` WHERE `timestamp` < " . (int) $_POST['timestamp'];
- while (true) {
- $result = mysql_query($q);
- if (mysql_num_rows($result) > 0) {
- $result = returnResults($result);
- break;
- }
- else {
- if (time() - $start > POLLING_TIMEOUT) {
- die('timeout');
- }
- sleep(2);
- }
- }
- echo json_encode($result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement