Esempio n. 1
0
}
$start = date('H:i:s', strtotime($video['broadcast_start'] . ' GMT'));
$end = date('H:i:s', strtotime($video['broadcast_end'] . ' GMT'));
$q = $db->query("select video_timestamps.gid, adate, atime, time_to_sec(timediff(atime, '{$start}')) as timediff,\n        time_to_sec(timediff(atime, '{$end}')) as timetoend\n    from hansard, video_timestamps\n    where hansard.gid = video_timestamps.gid and subsection_id={$subsection_id}\n    and (user_id is null or user_id!=-1) and deleted=0 order by atime, hpos");
header('Content-Type: text/xml');
$gids = array();
$file_offset = 0;
print '<stamps>';
for ($i = 0; $i < $q->rows(); $i++) {
    $gid = str_replace('uk.org.publicwhip/', '', $q->field($i, 'gid'));
    if (isset($gids[$gid])) {
        continue;
    }
    $timetoend = $q->field($i, 'timetoend') - $file_offset;
    if ($timetoend > 0) {
        $video = video_from_timestamp($videodb, $q->field($i, 'adate'), $q->field($i, 'atime'));
        $new_start = date('H:i:s', strtotime($video['broadcast_start'] . ' GMT'));
        $file_offset += timediff($new_start, $start);
        $start = $new_start;
        $end = date('H:i:s', strtotime($video['broadcast_end'] . ' GMT'));
    }
    $timediff = $q->field($i, 'timediff') - $file_offset;
    if ($timediff >= 0) {
        print "<stamp><gid>{$gid}</gid><file>{$video['id']}</file><time>{$timediff}</time></stamp>\n";
    }
    $gids[$gid] = true;
}
print '</stamps>';
function timediff($a, $b)
{
    return substr($a, 0, 2) * 3600 + substr($a, 3, 2) * 60 + substr($a, 6, 2) - substr($b, 0, 2) * 3600 - substr($b, 3, 2) * 60 - substr($b, 6, 2);
Esempio n. 2
0
$hdate = $q->field(0, 'hdate');
$htime = $q->field(0, 'htime');
$atime = $q->field(0, 'atime');
$adate = $q->field(0, 'adate');
if ($atime) {
    $htime = $atime;
}
if ($adate) {
    $hdate = $adate;
}
if (!$hdate || !$htime || !$time) {
    exit;
}
$videodb = video_db_connect();
if (!$file) {
    $video = video_from_timestamp($videodb, $hdate, $htime);
    $file = $video['id'];
}
$time -= 3;
# Let's start a few seconds earlier
$q = pg_query($videodb, "\n    SELECT (broadcast_start + '{$time} seconds'::interval)::date AS new_date,\n           (broadcast_start + '{$time} seconds'::interval)::time AS new_time\n    FROM programmes WHERE id={$file}\n");
$b_end = pg_fetch_array($q);
$new_date = $b_end['new_date'];
$new_time = $b_end['new_time'];
# Adjust for timezone
date_default_timezone_set('Europe/London');
$epoch = strtotime("{$new_date} {$new_time} GMT");
$new_date = date('Y-m-d', $epoch);
$new_time = date('H:i:s', $epoch);
if ($THEUSER->isloggedin()) {
    $user_id = $THEUSER->user_id();
Esempio n. 3
0
        echo '<p>You appear to have reached the end of the day (or
everything after where you have just done has already been stamped).
Congratulations, now <a href="/video/">get stuck in somewhere else</a>!
;-)</p>';
        $PAGE->stripe_end();
        $PAGE->page_end();
    } else {
        $new_gid = $q->field(0, 'gid');
        $new_hpos = $q->field(0, 'hpos');
        if ($action == 'nextneeded') {
            $q = $db->query("select adate, atime from hansard, video_timestamps\n\t\t\t\twhere hansard.gid = video_timestamps.gid and deleted=0\n\t\t\t\t\tand hpos<{$new_hpos} and hdate='{$hdate}' and major={$major}\n\t\t\t\t\tand (htype=12 or htype=13) and (user_id is null or user_id!=-1)\n\t\t\t\torder by hpos desc limit 1");
            $adate = $q->field(0, 'adate');
            $atime = $q->field(0, 'atime');
            $videodb = video_db_connect();
            if ($videodb) {
                $video = video_from_timestamp($videodb, $adate, $atime);
                $file = $video['id'];
                $time = $video['offset'];
            }
        }
        $new_gid = fix_gid_but_leave_section($new_gid);
        header('Location: /video/?from=next&file=' . $file . '&gid=' . $new_gid . '&start=' . $time);
    }
} elseif ($action == 'random' && $pid) {
    $db = new ParlDB();
    $q = $db->query("select gid from hansard, member\n\t\twhere video_status in (1,3) and major={$major}\n\t\tand (htype=12 or htype=13)\n\t\tand hansard.speaker_id = member.member_id and person_id={$pid}\n\t\tORDER BY RAND() LIMIT 1");
    $new_gid = fix_gid_but_leave_section($q->field(0, 'gid'));
    header('Location: /video/?from=random&pid=' . $pid . '&gid=' . $new_gid);
} elseif ($action == 'random') {
    $db = new ParlDB();
    $q = $db->query("select gid, hpos, hdate from hansard\n\t\twhere video_status in (1,3) and major={$major}\n\t\tand (htype=12 or htype=13)\n\t\tORDER BY RAND() LIMIT 1");
Esempio n. 4
0
function video_sidebar($row, $section, $count, $major) {
	include_once INCLUDESPATH . 'easyparliament/video.php';
	$db = new ParlDB;
	if ($major == 1) {
		$gid_type = 'debate';
	} elseif ($major == 101) {
		$gid_type = 'lords';
	}
	$vq = $db->query("select id,adate,atime from video_timestamps where gid='uk.org.publicwhip/$gid_type/$row[gid]' and (user_id!=-1 or user_id is null) and deleted=0 order by (user_id is null) limit 1");
	$ts_id = $vq->field(0, 'id'); if (!$ts_id) $ts_id='*';
	$adate = $vq->field(0, 'adate');
	$time = $vq->field(0, 'atime');
	$videodb = video_db_connect();
	if (!$videodb) return '';
	$video = video_from_timestamp($videodb, $adate, $time);
	$start = $video['offset'];
	$out = '';
	if ($count > 1) {
		$out .= '<div id="video_wrap"><div style="position:relative">';
		if ($row['gid'] != $section['first_gid']) {
			$out .= '<p style="margin:0">This video starts around ' . ($row['hpos']-$section['hpos']) . ' speeches in (<a href="#g' . gid_to_anchor($row['gid']) . '">move there in text</a>)</p>';
		}
	}
	$out .= video_object($video['id'], $start, "$gid_type/$row[gid]");
	$flashvars = 'gid=' . "$gid_type/$row[gid]" . '&amp;file=' . $video['id'] . '&amp;start=' . $start;
	$out .= "<br><b>Add this video to another site:</b><br><input readonly onclick='this.focus();this.select();' type='text' name='embed' size='40' value=\"<embed src='http://www.theyworkforyou.com/video/parlvid.swf' width='320' height='230' allowfullscreen='true' allowscriptaccess='always' flashvars='$flashvars'></embed>\"><br><small>(copy and paste the above)</small>";
	$out .= "<p style='margin-bottom:0'>Is this not the right video? <a href='mailto:team&#64;theyworkforyou.com?subject=Incorrect%20video,%20id%20$row[gid];$video[id];$ts_id'>Let us know</a></p>";
	if ($count > 1) {
		$out .= '<p style="position:absolute;bottom:0;right:0;margin:0"><a href="" onclick="return showVideo();">Hide</a></p>';
		$out .= '</div></div>';
		$out .= '<div id="video_show" style="display:none;position:fixed;bottom:5px;right:5px;border:solid 1px #666666; background-color: #eeeeee; padding: 4px;">
<p style="margin:0"><a href="" onclick="return hideVideo();">Show video</a></p></div>';
	}
	return $out;
}
Esempio n. 5
0
 private function video_sidebar($row, $heading_hpos, $count)
 {
     include_once INCLUDESPATH . 'easyparliament/video.php';
     $db = new \ParlDB();
     $gid_type = $this->video_gid_type();
     $vq = $db->query("select id,adate,atime from video_timestamps where gid='uk.org.publicwhip/{$gid_type}/{$row['gid']}' and (user_id!=-1 or user_id is null) and deleted=0 order by (user_id is null) limit 1");
     $adate = $vq->field(0, 'adate');
     $time = $vq->field(0, 'atime');
     $videodb = video_db_connect();
     if (!$videodb) {
         return '';
     }
     $video = video_from_timestamp($videodb, $adate, $time);
     $start = $video['offset'];
     $out = '';
     if ($count > 1) {
         $out .= '<div class="debate__video" id="video_wrap"><div>';
         if ($row['gid'] != $this->first_gid) {
             $out .= '<p class="video-instructions">This video starts around ' . ($row['hpos'] - $heading_hpos) . ' speeches in (<a href="#g' . gid_to_anchor($row['gid']) . '">move there in text</a>)</p>';
         }
     }
     $out .= video_object($video['id'], $start, "{$gid_type}/{$row['gid']}");
     $flashvars = 'gid=' . "{$gid_type}/{$row['gid']}" . '&amp;file=' . $video['id'] . '&amp;start=' . $start;
     $out .= "<strong>Embed this video</strong><p class='video-instructions'>Copy and paste this code on your website</p><input readonly onclick='this.focus();this.select();' type='text' name='embed' size='40' value=\"<embed src='http://www.theyworkforyou.com/video/parlvid.swf' width='320' height='230' allowfullscreen='true' allowscriptaccess='always' flashvars='{$flashvars}'></embed>\">";
     if ($count > 1) {
         $out .= '<p class="hide-video"><a href="" onclick="return showVideo();">Hide</a></p>';
         $out .= '</div></div>';
         $out .= '<div id="video_show" class="show-video" style="display:none;">
 <p style="margin:0"><a href="" onclick="return hideVideo();">Show video</a></p></div>';
     }
     return $out;
 }