本文整理汇总了PHP中fix_gid_from_db函数的典型用法代码示例。如果您正苦于以下问题:PHP fix_gid_from_db函数的具体用法?PHP fix_gid_from_db怎么用?PHP fix_gid_from_db使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fix_gid_from_db函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_listurl
function get_listurl($q) {
global $hansardmajors;
$id_data = array(
'gid' => fix_gid_from_db($q->field(0, 'gid')),
'major' => $q->field(0, 'major'),
'htype' => $q->field(0, 'htype'),
'subsection_id' => $q->field(0, 'subsection_id'),
);
$db = new ParlDB;
$LISTURL = new URL($hansardmajors[$id_data['major']]['page_all']);
$fragment = '';
if ($id_data['htype'] == '11' || $id_data['htype'] == '10') {
$LISTURL->insert( array( 'id' => $id_data['gid'] ) );
} else {
$parent_epobject_id = $id_data['subsection_id'];
$parent_gid = '';
$r = $db->query("SELECT gid
FROM hansard
WHERE epobject_id = '" . mysql_real_escape_string($parent_epobject_id) . "'
");
if ($r->rows() > 0) {
$parent_gid = fix_gid_from_db( $r->field(0, 'gid') );
}
if ($parent_gid != '') {
$LISTURL->insert( array( 'id' => $parent_gid ) );
$fragment = '#g' . gid_to_anchor($id_data['gid']);
}
}
return $LISTURL->generate('none') . $fragment;
}
示例2: gid_to_url
function gid_to_url($gid)
{
if (!$gid) {
return '';
}
global $hansardmajors;
global $db;
$q = $db->query("SELECT major FROM hansard WHERE gid = :gid", array(':gid' => $gid));
$url_gid = fix_gid_from_db($gid);
$url = new \URL($hansardmajors[$q->field(0, 'major')]['page']);
$url->insert(array('id' => $url_gid));
$url = 'http://' . DOMAIN . $url->generate();
return $url;
}
示例3: strtolower
if (!$dept) {
} else {
$dept = strtolower(str_replace('_',' ',$dept));
$q = $db->query('select epobject.epobject_id from hansard,epobject
where hansard.epobject_id=epobject.epobject_id and major=4 and section_id=0
and hdate>(select max(hdate) from hansard where major=4) - interval 7 day
and lower(body) = "' . mysql_real_escape_string($dept).'"');
$ids = array();
for ($i=0; $i<$q->rows(); $i++) {
$ids[] = $q->field($i, 'epobject_id');
}
print '<h2>' . ucwords($dept) . '</h2>';
print '<h3>Written Ministerial Statements from the past week</h3>';
$q = $db->query('select gid,body from hansard,epobject
where hansard.epobject_id=epobject.epobject_id and major=4 and subsection_id=0
and section_id in (' . join(',', $ids) . ')
order by body');
print '<ul>';
for ($i=0; $i<$q->rows(); $i++) {
print '<li><a href="/wms/?id=' . fix_gid_from_db($q->field($i, 'gid')). '">' . $q->field($i, 'body'). '</a>';
print '</li>';
}
print '</ul>';
}
$PAGE->stripe_end();
$PAGE->page_end();
示例4: _set_url
function _set_url()
{
global $hansardmajors;
// Creates and sets the URL for the comment.
if ($this->url == '') {
$q = $this->db->query("SELECT major,\n\t\t\t\t\t\t\t\t\tgid\n\t\t\t\t\t\t\tFROM\thansard\n\t\t\t\t\t\t\tWHERE\tepobject_id = '" . addslashes($this->epobject_id) . "'\n\t\t\t\t\t\t\t");
if ($q->rows() > 0) {
// If you change stuff here, you might have to change it in
// $COMMENTLIST->_get_comment_data() too...
$gid = fix_gid_from_db($q->field(0, 'gid'));
// In includes/utility.php
$major = $q->field(0, 'major');
$page = $hansardmajors[$major]['page'];
$gidvar = $hansardmajors[$major]['gidvar'];
$URL = new URL($page);
$URL->insert(array($gidvar => $gid));
$this->url = $URL->generate() . '#c' . $this->comment_id;
}
}
}
示例5: _get_data_by_recent_wrans
function _get_data_by_recent_wrans($args = array())
{
global $hansardmajors;
// $args['days'] is the number of days back to look for biggest debates.
// (1 by default)
// $args['num'] is the number of links to return (1 by default).
$data = array();
// Get the most recent day on which we have wrans.
$recentday = $this->most_recent_day();
if (!count($recentday)) {
return array();
}
if (!isset($args['days']) || !is_numeric($args['days'])) {
$args['days'] = 1;
}
if (!isset($args['num']) || !is_numeric($args['num'])) {
$args['num'] = 1;
}
if ($args['num'] == 1) {
$datewhere = "h.hdate = '" . mysql_escape_string($recentday['hdate']) . "'";
} else {
$firstdate = gmdate('Y-m-d', $recentday['timestamp'] - 86400 * $args['days']);
$datewhere = "h.hdate >= '" . mysql_escape_string($firstdate) . "'\n\t\t\t\t\t\tAND\t\th.hdate <= '" . mysql_escape_string($recentday['hdate']) . "'";
}
// Get a random selection of subsections in wrans.
if ($hansardmajors[$this->major]['location'] == 'Scotland') {
$htype = 'htype = 10 and section_id = 0';
} else {
$htype = 'htype = 11 and section_id != 0';
}
$q = $this->db->query("SELECT e.body,\n\t\t\t\t\t\t\t\th.hdate,\n\t\t\t\t\t\t\t\th.htype,\n\t\t\t\t\t\t\t\th.gid,\n\t\t\t\t\t\t\t\th.subsection_id,\n\t\t\t\t\t\t\t\th.section_id,\n\t\t\t\t\t\t\t\th.epobject_id\n\t\t\t\t\t\tFROM\thansard h, epobject e\n\t\t\t\t\t\tWHERE\th.major = '" . $this->major . "'\n\t\t\t\t\t\tAND\t\t{$htype}\n\t\t\t\t\t\tAND\t\tsubsection_id = 0\n\t\t\t\t\t\tAND\t\t{$datewhere}\n\t\t\t\t\t\tAND\t\th.epobject_id = e.epobject_id\n\t\t\t\t\t\tORDER BY RAND()\n\t\t\t\t\t\tLIMIT \t" . mysql_escape_string($args['num']) . "\n\t\t\t\t\t\t");
for ($row = 0; $row < $q->rows; $row++) {
// This array just used for getting further data about this debate.
$item_data = array('major' => $this->major, 'gid' => fix_gid_from_db($q->field($row, 'gid')), 'htype' => $q->field($row, 'htype'), 'section_id' => $q->field($row, 'section_id'), 'subsection_id' => $q->field($row, 'subsection_id'), 'epobject_id' => $q->field($row, 'epobject_id'));
$list_url = $this->_get_listurl($item_data);
$totalcomments = $this->_get_comment_count_for_epobject($item_data);
$body = $q->field($row, 'body');
$hdate = $q->field($row, 'hdate');
// Get the parent section for this item.
$parentbody = '';
if ($q->field($row, 'section_id')) {
$r = $this->db->query("SELECT e.body\n\t\t\t\t\t\t\tFROM\thansard h, epobject e\n\t\t\t\t\t\t\tWHERE\th.epobject_id = e.epobject_id\n\t\t\t\t\t\t\tAND\t\th.epobject_id = '" . $q->field($row, 'section_id') . "'\n\t\t\t\t\t\t\t");
$parentbody = $r->field(0, 'body');
}
// Get the question for this item.
$r = $this->db->query("SELECT e.body,\n\t\t\t\t\t\t\t\t\th.speaker_id, h.hdate\n\t\t\t\t\t\t\tFROM\thansard h, epobject e\n\t\t\t\t\t\t\tWHERE\th.epobject_id = e.epobject_id\n\t\t\t\t\t\t\tAND \th.subsection_id = '" . $q->field($row, 'epobject_id') . "'\n\t\t\t\t\t\t\tORDER BY hpos\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t");
$childbody = $r->field(0, 'body');
$speaker = $this->_get_speaker($r->field(0, 'speaker_id'), $r->field(0, 'hdate'));
$data[] = array('body' => $body, 'hdate' => $hdate, 'list_url' => $list_url, 'totalcomments' => $totalcomments, 'child' => array('body' => $childbody, 'speaker' => $speaker), 'parent' => array('body' => $parentbody));
}
$data = array('info' => array(), 'data' => $data);
return $data;
}
示例6: file
<?php
include_once '../../includes/easyparliament/init.php';
include_once INCLUDESPATH . "easyparliament/glossary.php";
$this_page = "debate";
$this_page = "debates";
$dates = file('alldates');
shuffle($dates);
$date = trim($dates[0]);
$db = new ParlDB();
$q = $db->query("select gid from hansard where htype in (10,11) and major=1 and hdate='{$date}' order by rand() limit 1");
$gid = $q->field(0, 'gid');
$args = array('gid' => fix_gid_from_db($gid), 'sort' => 'regexp_replace');
$GLOSSARY = new GLOSSARY($args);
$LIST = new DEBATELIST();
$result = $LIST->display('gid', $args);
$PAGE->page_end();
示例7: _comment_url
function _comment_url($urldata)
{
global $hansardmajors;
// Pass it the major and gid of the comment's epobject and the comment_id.
// And optionally the user's id, for highlighting the comments on the destination page.
// It returns the URL for the comment.
$major = $urldata['major'];
$gid = $urldata['gid'];
$comment_id = $urldata['comment_id'];
$user_id = isset($urldata['user_id']) ? $urldata['user_id'] : false;
// If you change stuff here, you might have to change it in
// $COMMENT->_set_url() too...
// We'll generate permalinks for each comment.
// Assuming every comment is from the same major...
$page = $hansardmajors[$major]['page'];
$gidvar = $hansardmajors[$major]['gidvar'];
$URL = new URL($page);
$gid = fix_gid_from_db($gid);
// In includes/utility.php
$URL->insert(array($gidvar => $gid));
if ($user_id) {
$URL->insert(array('u' => $user_id));
}
$url = $URL->generate() . '#c' . $comment_id;
return $url;
}
示例8: get_http_var
include_once "../../includes/easyparliament/init.php";
$dept = get_http_var('dept');
$PAGE->page_start();
$PAGE->stripe_start();
$db = new ParlDB();
if (!$dept) {
} else {
$dept = strtolower(str_replace('_', ' ', $dept));
$q = $db->query('select epobject.epobject_id from hansard,epobject
where hansard.epobject_id=epobject.epobject_id and major=3 and section_id=0
and hdate>(select max(hdate) from hansard where major=3) - interval 7 day
and lower(body) = "' . mysql_escape_string($dept) . '"');
$ids = array();
for ($i = 0; $i < $q->rows(); $i++) {
$ids[] = $q->field($i, 'epobject_id');
}
print '<h2>' . ucwords($dept) . '</h2>';
print '<h3>Written Questions from the past week</h3>';
$q = $db->query('select gid,body from hansard,epobject
where hansard.epobject_id=epobject.epobject_id and major=3 and subsection_id=0
and section_id in (' . join(',', $ids) . ')
order by body');
print '<ul>';
for ($i = 0; $i < $q->rows(); $i++) {
print '<li><a href="' . WEBPATH . '/wrans/?id=' . fix_gid_from_db($q->field($i, 'gid')) . '">' . $q->field($i, 'body') . '</a>';
print '</li>';
}
print '</ul>';
}
$PAGE->stripe_end();
$PAGE->page_end();
示例9: generate_member_links
function generate_member_links($member, $links)
{
// Receives its data from $MEMBER->display_links;
// This returns HTML, rather than outputting it.
// Why? Because we need this to be in the sidebar, and
// we can't call the MEMBER object from the sidebar includes
// to get the links. So we call this function from the mp
// page and pass the HTML through to stripe_end(). Better than nothing.
// Bah, can't use $this->block_start() for this, as we're returning HTML...
$html = '<div class="block">
<h4>More useful links for this person</h4>
<div class="blockbody">
<ul' . (get_http_var('c4') ? ' style="list-style-type:none;"' : '') . '>';
if (isset($links['maiden_speech'])) {
$maiden_speech = fix_gid_from_db($links['maiden_speech']);
$html .= '<li><a href="' . WEBPATH . 'debate/?id=' . $maiden_speech . '">Maiden speech</a></li>';
}
// BIOGRAPHY.
if (isset($links['mp_email'])) {
$html .= ' <li><a href="mailto:' . $links['mp_email'] . '">Email ' . $member->full_name() . '</a></li>';
} elseif (isset($links['mp_contact_form'])) {
$html .= ' <li><a href="' . $links['mp_contact_form'] . '">Contact form</a> <small>(On the Australian Parliament website)</small></li>';
}
if (isset($links['mp_twitter_url'])) {
$html .= ' <li><a href="' . $links['mp_twitter_url'] . '">' . $member->full_name() . ' on Twitter</a></li>';
}
if (isset($links['mp_facebook_url'])) {
$html .= ' <li><a href="' . $links['mp_facebook_url'] . '">' . $member->full_name() . ' on Facebook</a></li>';
}
if (isset($links['mp_website'])) {
$html .= '<li><a href="' . $links['mp_website'] . '">' . $member->full_name() . '\'s personal website</a></li>';
}
if (isset($links['sp_url'])) {
$html .= '<li><a href="' . $links['sp_url'] . '">' . $member->full_name() . '\'s page on the Scottish Parliament website</a></li>';
}
if (isset($links['aph_url'])) {
$html .= '<li><a href="' . $links['aph_url'] . '">Parliament House web page for ' . $member->full_name() . '</a></li>';
}
if (isset($links['guardian_biography'])) {
$html .= ' <li><a href="' . $links['guardian_biography'] . '">Biography</a> <small>(From The Guardian)</small></li>';
}
if (isset($links['wikipedia_url'])) {
$html .= ' <li><a href="' . $links['wikipedia_url'] . '">Biography</a> <small>(From Wikipedia)</small></li>';
}
if (isset($links['mp_biography_qanda']) && $links['mp_biography_qanda'] != "") {
$html .= ' <li><a href="' . $links['mp_biography_qanda'] . '">Biography</a> <small>(From ABC\'s Q & A)</small></li>';
}
if (isset($links['diocese_url'])) {
$html .= ' <li><a href="' . $links['diocese_url'] . '">Diocese website</a></li>';
}
if (isset($links['journa_list_link'])) {
$html .= ' <li><a href="' . $links['journa_list_link'] . '">Newspaper articles written by this MP</a> <small>(From Journa-list)</small></li>';
}
if (isset($links['guardian_parliament_history'])) {
$html .= ' <li><a href="' . $links['guardian_parliament_history'] . '">Parliamentary career</a> <small>(From The Guardian)</small></li>';
}
if (isset($links['guardian_election_results'])) {
$html .= ' <li><a href="' . $links['guardian_election_results'] . '">Election results for ' . $member->constituency() . '</a> <small>(From The Guardian)</small></li>';
}
if (isset($links['abc_election_results_2013'])) {
$html .= ' <li><a href="' . $links['abc_election_results_2013'] . '">2013 Election results for ' . $member->constituency() . '</a> <small>(From ABC)</small></li>';
}
if (isset($links['abc_election_results_2010'])) {
$html .= ' <li><a href="' . $links['abc_election_results_2010'] . '">2010 Election results for ' . $member->constituency() . '</a> <small>(From ABC)</small></li>';
}
if (isset($links['abc_election_results_2007'])) {
$html .= ' <li><a href="' . $links['abc_election_results_2007'] . '">2007 Election results for ' . $member->constituency() . '</a> <small>(From ABC)</small></li>';
}
if (isset($links['guardian_candidacies'])) {
$html .= ' <li><a href="' . $links['guardian_candidacies'] . '">Previous candidacies</a> <small>(From The Guardian)</small></li>';
}
if (isset($links['guardian_contactdetails'])) {
$html .= ' <li><a href="' . $links['guardian_contactdetails'] . '">Contact details</a> <small>(From The Guardian)</small></li>';
}
if (isset($links['bbc_profile_url'])) {
$html .= ' <li><a href="' . $links['bbc_profile_url'] . '">General information</a> <small>(From BBC News)</small></li>';
}
$bbc_name = urlencode($member->first_name()) . "%20" . urlencode($member->last_name());
if ($member->member_id() == -1) {
$bbc_name = 'Queen Elizabeth';
}
#$html .= ' <li><a href="http://catalogue.bbc.co.uk/catalogue/infax/search/' . $bbc_name . '">TV/radio appearances</a> <small>(From BBC Programme Catalogue)</small></li>';
$html .= "\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div> <!-- end block -->\n";
return $html;
}
示例10: generate_member_links
function generate_member_links($member)
{
// Receives its data from $MEMBER->display_links;
// This returns HTML, rather than outputting it.
// Why? Because we need this to be in the sidebar, and
// we can't call the MEMBER object from the sidebar includes
// to get the links. So we call this function from the mp
// page and pass the HTML through to stripe_end(). Better than nothing.
$links = $member->extra_info();
// Bah, can't use $this->block_start() for this, as we're returning HTML...
$html = '<div class="block">
<h4>More useful links for this person</h4>
<div class="blockbody">
<ul' . (get_http_var('c4') ? ' style="list-style-type:none;"' : '') . '>';
if (isset($links['maiden_speech'])) {
$maiden_speech = fix_gid_from_db($links['maiden_speech']);
$html .= '<li><a href="' . WEBPATH . 'debate/?id=' . $maiden_speech . '">Maiden speech</a></li>';
}
// BIOGRAPHY.
global $THEUSER;
if (isset($links['mp_website'])) {
$html .= '<li><a href="' . $links['mp_website'] . '">' . $member->full_name() . '\'s personal website</a>';
if ($THEUSER->is_able_to('viewadminsection')) {
$html .= ' [<a href="/admin/websites.php?editperson=' . $member->person_id() . '">Edit</a>]';
}
$html .= '</li>';
} elseif ($THEUSER->is_able_to('viewadminsection')) {
$html .= '<li>[<a href="/admin/websites.php?editperson=' . $member->person_id() . '">Add personal website</a>]</li>';
}
if (isset($links['twitter_username'])) {
$html .= '<li><a href="http://twitter.com/' . $links['twitter_username'] . '">' . $member->full_name() . '’s Twitter feed</a></li>';
}
if (isset($links['sp_url'])) {
$html .= '<li><a href="' . $links['sp_url'] . '">' . $member->full_name() . '\'s page on the Scottish Parliament website</a></li>';
}
if (isset($links['guardian_biography'])) {
$html .= ' <li><a href="' . $links['guardian_biography'] . '">Guardian profile</a></li>';
}
if (isset($links['wikipedia_url'])) {
$html .= ' <li><a href="' . $links['wikipedia_url'] . '">Wikipedia page</a></li>';
}
if (isset($links['bbc_profile_url'])) {
$html .= ' <li><a href="' . $links['bbc_profile_url'] . '">BBC News profile</a></li>';
}
if (isset($links['diocese_url'])) {
$html .= ' <li><a href="' . $links['diocese_url'] . '">Diocese website</a></li>';
}
$html .= '<li><a href="http://www.edms.org.uk/mps/' . $member->person_id() . '/">Early Day Motions signed by this MP</a> <small>(From edms.org.uk)</small></li>';
if (isset($links['journa_list_link'])) {
$html .= ' <li><a href="' . $links['journa_list_link'] . '">Newspaper articles written by this MP</a> <small>(From Journalisted)</small></li>';
}
if (isset($links['guardian_election_results'])) {
$html .= ' <li><a href="' . $links['guardian_election_results'] . '">Election results for ' . $member->constituency() . '</a> <small>(From The Guardian)</small></li>';
}
/*
# BBC Catalogue is offline
$bbc_name = urlencode($member->first_name()) . "%20" . urlencode($member->last_name());
if ($member->member_id() == -1)
$bbc_name = 'Queen Elizabeth';
$html .= ' <li><a href="http://catalogue.bbc.co.uk/catalogue/infax/search/' . $bbc_name . '">TV/radio appearances</a> <small>(From BBC Programme Catalogue)</small></li>';
*/
$html .= " </ul>\n\t\t\t\t</div>\n\t\t\t</div> <!-- end block -->\n";
return $html;
}
示例11: major_summary
function major_summary($data, $echo = true)
{
global $hansardmajors;
$html = '';
$db = new ParlDB();
$one_date = false;
//if no printed majors passed, default to all
if (!isset($printed_majors)) {
$printed_majors = array(1, 2, 3, 5, 101, 7);
# 8
}
// single date?
if (isset($data['date'])) {
$one_date = true;
}
// remove empty entries, so they don't produce errors
foreach (array_keys($hansardmajors) as $major) {
if (array_key_exists($major, $data)) {
if (count($data[$major]) == 0) {
unset($data[$major]);
}
}
}
//work out the date text to be displaid
$daytext = array();
if (!$one_date) {
$todaystime = gmmktime(0, 0, 0, date('m'), date('d'), date('Y'));
foreach ($data as $major => $array) {
if (!in_array('timestamp', $array)) {
$daytext[$major] = "The most recent ";
} elseif ($todaystime - $array['timestamp'] == 86400) {
$daytext[$major] = "Yesterday’s";
} elseif ($todaystime - $array['timestamp'] <= 6 * 86400) {
$daytext[$major] = gmdate('l', $array['timestamp']) . "’s";
} else {
$daytext[$major] = "The most recent ";
}
}
}
//build html
foreach ($printed_majors as $p_major) {
if (!array_key_exists($p_major, $data)) {
continue;
}
if ($one_date) {
$date = $data['date'];
} else {
$date = $data[$p_major]['hdate'];
}
$q = $db->query('SELECT body, gid
FROM hansard, epobject
WHERE hansard.epobject_id = epobject.epobject_id AND section_id = 0
AND hdate = "' . $date . '"
AND major = ' . $p_major . '
ORDER BY hpos');
$out = '';
$LISTURL = new URL($hansardmajors[$p_major]['page_all']);
for ($i = 0; $i < $q->rows(); $i++) {
$gid = fix_gid_from_db($q->field($i, 'gid'));
$body = $q->field($i, 'body');
//if (strstr($body, 'Chair]')) continue;
$LISTURL->insert(array('id' => $gid));
$out .= '<li><a href="' . $LISTURL->generate() . '">';
$out .= $body . '</a>';
}
if ($out) {
$html .= _major_summary_title($p_major, $data, $LISTURL, $daytext);
$html .= '<ul class="hansard-day">';
$html .= $out;
$html .= '</ul>';
}
}
if (array_key_exists(4, $data)) {
if ($one_date) {
$date = $data['date'];
} else {
$date = $data[4]['hdate'];
}
$q = $db->query('SELECT section_id, body, gid FROM hansard,epobject
WHERE hansard.epobject_id = epobject.epobject_id AND major=4 AND hdate="' . $date . '" AND subsection_id=0
ORDER BY major, hpos');
if ($q->rows()) {
$LISTURL = new URL($hansardmajors[4]['page_all']);
$html .= _major_summary_title(4, $data, $LISTURL, $daytext);
$html .= "<ul>";
$current_sid = 0;
for ($i = 0; $i < $q->rows(); $i++) {
$gid = fix_gid_from_db($q->field($i, 'gid'));
$body = $q->field($i, 'body');
$section_id = $q->field($i, 'section_id');
if (!$section_id) {
if ($current_sid++) {
$html .= '</ul>';
}
$html .= '<li>' . $body . '<ul>';
} else {
$LISTURL->insert(array('id' => $gid));
$html .= '<li><a href="' . $LISTURL->generate() . '">';
$html .= $body . '</a>';
}
//.........这里部分代码省略.........
示例12: major_summary
function major_summary($data, $limit = "")
{
global $hansardmajors;
$db = new ParlDB();
$one_date = false;
if (isset($data['date'])) {
$one_date = true;
}
$limitsql = "";
if ($limit) {
$limitsql = " limit {$limit}";
}
$daytext = array();
if (!$one_date) {
$todaystime = gmmktime(0, 0, 0, date('m'), date('d'), date('Y'));
foreach ($data as $major => $array) {
if ($todaystime - $array['timestamp'] == 86400) {
$daytext[$major] = "Yesterday's";
} elseif ($todaystime - $array['timestamp'] <= 6 * 86400) {
$daytext[$major] = gmdate('l', $array['timestamp']) . "'s";
} else {
$daytext[$major] = "The most recent ";
}
}
}
$printed_majors = array(1, 2, 3, 5, 101);
print '<ul id="hansard-day">';
while (count($printed_majors)) {
if (!array_key_exists($printed_majors[0], $data)) {
unset($printed_majors[0]);
sort($printed_majors);
continue;
}
if ($one_date) {
$date = $data['date'];
} else {
$date = $data[$printed_majors[0]]['hdate'];
}
$q = $db->query('SELECT major, body, gid
FROM hansard,epobject
WHERE hansard.epobject_id = epobject.epobject_id AND section_id=0
AND hdate="' . $date . '"
AND major IN (' . join(',', $printed_majors) . ')
ORDER BY major desc, hpos' . $limitsql);
$current_major = 0;
for ($i = 0; $i < $q->rows(); $i++) {
$gid = fix_gid_from_db($q->field($i, 'gid'));
$major = $q->field($i, 'major');
$body = $q->field($i, 'body');
//if (strstr($body, 'Chair]')) continue;
if ($major != $current_major) {
if ($current_major) {
print '</ul>';
}
$LISTURL = new URL($hansardmajors[$major]['page_all']);
_major_summary_title($major, $data, $LISTURL, $daytext);
$current_major = $major;
# XXX: Surely a better way of doing this? Oh well
unset($printed_majors[array_search($major, $printed_majors)]);
sort($printed_majors);
}
$LISTURL->insert(array('id' => $gid));
print '<li><a href="' . $LISTURL->generate() . '">';
print $body . '</a>';
}
print '</ul>';
if ($one_date) {
$printed_majors = array();
}
}
if (array_key_exists(4, $data)) {
if ($one_date) {
$date = $data['date'];
} else {
$date = $data[4]['hdate'];
}
$q = $db->query('SELECT section_id, body, gid FROM hansard,epobject
WHERE hansard.epobject_id = epobject.epobject_id AND major=4 AND hdate="' . $date . '" AND subsection_id=0
ORDER BY major, hpos' . $limitsql);
if ($q->rows()) {
$LISTURL = new URL($hansardmajors[4]['page_all']);
_major_summary_title(4, $data, $LISTURL, $daytext);
$current_sid = 0;
for ($i = 0; $i < $q->rows(); $i++) {
$gid = fix_gid_from_db($q->field($i, 'gid'));
$body = $q->field($i, 'body');
$section_id = $q->field($i, 'section_id');
if (!$section_id) {
if ($current_sid++) {
print '</ul>';
}
print '<li>' . $body . '<ul>';
} else {
$LISTURL->insert(array('id' => $gid));
print '<li><a href="' . $LISTURL->generate() . '">';
print $body . '</a>';
}
}
print '</ul></ul>';
}
//.........这里部分代码省略.........
示例13: search
//.........这里部分代码省略.........
}
$SEARCHENGINE->run_search($first_result, $results_per_page, $sort_order);
$gids = $SEARCHENGINE->get_gids();
if ($sort_order == 'created') {
$createds = $SEARCHENGINE->get_createds();
}
$relevances = $SEARCHENGINE->get_relevances();
if (count($gids) <= 0) {
// No results.
$data['rows'] = array();
return $data;
}
#if ($sort_order=='created') { print_r($gids); }
// We'll put all the data in here before giving it to a template.
$rows = array();
// We'll cache the ids=>names of speakers here.
$speakers = array();
// We'll cache (sub)section_ids here:
$hansard_to_gid = array();
// Cycle through each result, munge the data, get more, and put it all in $data.
$gids_count = count($gids);
for ($n = 0; $n < $gids_count; $n++) {
$gid = $gids[$n];
$relevancy = $relevances[$n];
$collapsed = $SEARCHENGINE->collapsed[$n];
if ($sort_order == 'created') {
#$created = substr($createds[$n], 0, strpos($createds[$n], ':'));
if ($createds[$n] < $args['threshold']) {
$data['info']['total_results'] = $n;
break;
}
}
if (strstr($gid, 'calendar')) {
$id = fix_gid_from_db($gid);
$q = $this->db->query("SELECT *, event_date as hdate, pos as hpos\n FROM future\n LEFT JOIN future_people ON id=calendar_id AND witness=0\n WHERE id = {$id} AND deleted=0");
if ($q->rows() == 0) {
continue;
}
$itemdata = $q->row(0);
# Ignore past events in places that we cover (we'll have the data from Hansard)
if ($itemdata['event_date'] < date('Y-m-d') && in_array($itemdata['chamber'], array('Commons: Main Chamber', 'Lords: Main Chamber', 'Commons: Westminster Hall'))) {
continue;
}
list($cal_item, $cal_meta) = calendar_meta($itemdata);
$body = $this->prepare_search_result_for_display($cal_item) . '.';
if ($cal_meta) {
$body .= ' <span class="future_meta">' . join('; ', $cal_meta) . '</span>';
}
if ($itemdata['witnesses']) {
$body .= '<br><small>Witnesses: ' . $this->prepare_search_result_for_display($itemdata['witnesses']) . '</small>';
}
if ($itemdata['event_date'] >= date('Y-m-d')) {
$title = 'Upcoming Business';
} else {
$title = 'Previous Business';
}
$itemdata['gid'] = $id;
$itemdata['relevance'] = $relevances[$n];
$itemdata['parent']['body'] = $title . ' – ' . $itemdata['chamber'];
$itemdata['extract'] = $body;
$itemdata['listurl'] = '/calendar/?d=' . $itemdata['event_date'] . '#cal' . $itemdata['id'];
$itemdata['major'] = 'F';
} else {
// Get the data for the gid from the database
$q = $this->db->query("SELECT hansard.gid, hansard.hdate,\n hansard.htime, hansard.section_id, hansard.subsection_id,\n hansard.htype, hansard.major, hansard.minor,\n hansard.person_id, hansard.hpos, hansard.video_status,\n epobject.epobject_id, epobject.body\n FROM hansard, epobject\n WHERE hansard.gid = '{$gid}'\n AND hansard.epobject_id = epobject.epobject_id");
if ($q->rows() > 1) {
示例14: video_front_page
//.........这里部分代码省略.........
Registration is not needed to timestamp videos, but you can <a href="/user/?pg=join&ret=/video/">register here</a> if you want.</p>
<p id="video_attract"><?
if ($totaliser[0]) {
echo '<a href="next.php?action=random">Give me a random speech that needs timestamping</a>';
} else {
echo 'Wow, everything that can currently be timestamped appears to have been, thanks!';
}
?></p>
<div id="top" style="float: left; width: 45%;">
<?
list($out_today, $rank_today) = display_league(20, 'and date(whenstamped)=current_date');
list($out_week, $rank_week) = display_league(40, 'and date(whenstamped)>current_date-interval 28 day');
list($out_overall, $rank_overall) = display_league(100);
$out_overall = '';
global $THEUSER;
if ($THEUSER->user_id() && ($rank_today || $rank_week || $rank_overall)) {
echo '<p align="center"><big>You are ';
if ($rank_today) echo make_ranking($rank_today), ' today, ';
if ($rank_week) echo make_ranking($rank_week), ' last 4 weeks, ';
if ($rank_overall) echo make_ranking($rank_overall), ' overall';
echo '</big></p>';
}
if ($out_today) echo "<h3>Top timestampers (today)</h3> <ol>$out_today</ol>";
if ($out_week) echo "<h3>Top timestampers (last 4 weeks)</h3> <ol>$out_week</ol>";
if ($out_overall) echo "<h3>Top timestampers (overall)</h3> <ol>$out_overall</ol>";
echo '</div>';
?>
<div style="float: right; width: 50%">
<img align="right" width=200 height=100 src="http://chart.apis.google.com/chart?chs=200x100&cht=gom&chd=t:<?php
echo $percentage;
?>
" alt="<?php
echo $percentage;
?>
% of speeches have been timestamped">
<h3>Totaliser</h3>
<ul><?php
echo $out;
?>
</ul>
<?
$q = $db->query('select video_status&4 as checked,count(*) as c from hansard
where major=1 and video_status>0 and video_status<8 and video_status!=2 and htype in (12,13)
and hdate=(select max(hdate) from hansard where major=1)
group by video_status&4');
$totaliser = array(0=>0, 4=>0);
for ($i=0; $i<$q->rows(); $i++) {
$status = $q->field($i, 'checked');
$count = $q->field($i, 'c');
$totaliser[$status] = $count;
}
$total_possible = $totaliser[0] + $totaliser[4];
if ($total_possible == 0) {
$percentage = 0;
$out = 'Nothing possible to timestamp on most recent day';
} else {
$percentage = round($totaliser[4] / $total_possible * 10000) / 100;
$out = "$totaliser[4] timestamped out of $total_possible ($percentage%)";
}
?>
<h3 style="padding-top:0.5em;clear:right">Totaliser for most recent day</h3>
<img align="right" width=200 height=100 src="http://chart.apis.google.com/chart?chs=200x100&cht=gom&chd=t:<?php
echo $percentage;
?>
" alt="<?php
echo $percentage;
?>
% of speeches have been timestamped">
<ul><?php
echo $out;
?>
</ul>
<h3 style="clear:both;margin-top:1em">Latest stamped</h3>
<ul>
<?
$q = $db->query('select hansard.gid, body, major from video_timestamps, hansard, epobject
where (user_id != -1 or user_id is null) and video_timestamps.deleted=0
and video_timestamps.gid = hansard.gid and hansard.subsection_id = epobject.epobject_id
order by whenstamped desc limit 20');
for ($i=0; $i<$q->rows(); $i++) {
$gid = $q->field($i, 'gid');
$body = $q->field($i, 'body');
if ($q->field($i, 'major') == 101) {
$url = '/lords/?gid=';
} else {
$url = '/debate/?id=';
}
echo '<li><a href="', $url, fix_gid_from_db($gid) . '">' . $body . '</a>';
}
echo '</ul></div>';
}
示例15: person_useful_links
function person_useful_links($member)
{
$links = $member->extra_info();
$out = array();
if (isset($links['maiden_speech'])) {
$maiden_speech = fix_gid_from_db($links['maiden_speech']);
$out[] = array('href' => WEBPATH . 'debate/?id=' . $maiden_speech, 'text' => 'Maiden speech');
}
// BIOGRAPHY.
global $THEUSER;
if (isset($links['mp_website'])) {
$out[] = array('href' => $links['mp_website'], 'text' => 'Personal website');
}
if (isset($links['twitter_username'])) {
$out[] = array('href' => 'http://twitter.com/' . $links['twitter_username'], 'text' => 'Twitter feed');
}
if (isset($links['sp_url'])) {
$out[] = array('href' => $links['sp_url'], 'text' => 'Page on the Scottish Parliament website');
}
if (isset($links['wikipedia_url'])) {
$out[] = array('href' => $links['wikipedia_url'], 'text' => 'Wikipedia page');
}
if (isset($links['bbc_profile_url'])) {
$out[] = array('href' => $links['bbc_profile_url'], 'text' => 'BBC News profile');
}
if (isset($links['diocese_url'])) {
$out[] = array('href' => $links['diocese_url'], 'text' => 'Diocese website');
}
if ($member->house(HOUSE_TYPE_COMMONS)) {
$out[] = array('href' => 'http://www.edms.org.uk/mps/' . $member->person_id(), 'text' => 'Early Day Motions signed by this MP');
}
if (isset($links['journa_list_link'])) {
$out[] = array('href' => $links['journa_list_link'], 'text' => 'Newspaper articles written by this MP');
}
return $out;
}