Formatting fixes

This commit is contained in:
Ciaran Gultnieks 2011-12-20 14:49:11 +00:00
parent 6bbd2bf409
commit fedb96ed9b

View file

@ -18,7 +18,7 @@ class FDroid
// Our text domain, for internationalisation // Our text domain, for internationalisation
private $textdom='wp-fdroid'; private $textdom='wp-fdroid';
private $site_path; private $site_path;
// Constructor // Constructor
function FDroid() { function FDroid() {
@ -66,35 +66,35 @@ class FDroid
global $wp_query,$wp_rewrite; global $wp_query,$wp_rewrite;
$this->lazyinit(); $this->lazyinit();
// Init local query vars // Init local query vars
foreach($this->queryvars(array()) as $qv) { foreach($this->queryvars(array()) as $qv) {
if(array_key_exists($qv,$wp_query->query_vars)) { if(array_key_exists($qv,$wp_query->query_vars)) {
$query_vars[$qv] = $wp_query->query_vars[$qv]; $query_vars[$qv] = $wp_query->query_vars[$qv];
} else { } else {
$query_vars[$qv] = null; $query_vars[$qv] = null;
} }
} }
// Santiy check query vars // Santiy check query vars
if(!isset($query_vars['fdpage']) || !is_numeric($query_vars['fdpage']) || $query_vars['fdpage'] <= 0) { if(!isset($query_vars['fdpage']) || !is_numeric($query_vars['fdpage']) || $query_vars['fdpage'] <= 0) {
$query_vars['fdpage'] = 1; $query_vars['fdpage'] = 1;
} }
$out = ''; $out = '';
if(isset($attribs['search']) && $query_vars['fdfilter']===null) { if(isset($attribs['search']) && $query_vars['fdfilter']===null) {
$query_vars['fdfilter'] = ''; $query_vars['fdfilter'] = '';
} }
if($query_vars['fdid']!==null) { if($query_vars['fdid']!==null) {
$out.=$this->get_app($query_vars); $out.=$this->get_app($query_vars);
} else { } else {
if($query_vars['fdfilter'] !== null) if($query_vars['fdfilter'] !== null)
$out.=$this->show_search($query_vars); $out.=$this->show_search($query_vars);
$out.=$this->get_apps($query_vars); $out.=$this->get_apps($query_vars);
} }
return $out; return $out;
} }
@ -214,91 +214,91 @@ class FDroid
function get_apps($query_vars) { function get_apps($query_vars) {
$xml = simplexml_load_file($this->site_path."/repo/index.xml"); $xml = simplexml_load_file($this->site_path."/repo/index.xml");
$matches = $this->show_apps($xml,$query_vars,$numpages); $matches = $this->show_apps($xml,$query_vars,$numpages);
$out=''; $out='';
if(($query_vars['fdfilter']===null || $query_vars['fdfilter']!='') && $numpages>0) if(($query_vars['fdfilter']===null || $query_vars['fdfilter']!='') && $numpages>0)
{ {
$out.='<div style="float:left;">'; $out.='<div style="float:left;">';
if($query_vars['fdfilter']===null) if($query_vars['fdfilter']===null)
$out.="All applications"; $out.="All applications";
else else
$out.='Applications matching "'.$query_vars['fdfilter'].'"'; $out.='Applications matching "'.$query_vars['fdfilter'].'"';
$out.="</div>"; $out.="</div>";
$out.='<div style="float:right;">'; $out.='<div style="float:right;">';
$out.='<a href="'.makelink($query_vars, array('fdstyle'=>'list','fdpage'=>'1')).'">List</a> | '; $out.='<a href="'.makelink($query_vars, array('fdstyle'=>'list','fdpage'=>'1')).'">List</a> | ';
$out.='<a href="'.makelink($query_vars, array('fdstyle'=>'grid','fdpage'=>'1')).'">Grid</a>'; $out.='<a href="'.makelink($query_vars, array('fdstyle'=>'grid','fdpage'=>'1')).'">Grid</a>';
$out.='</div>'; $out.='</div>';
$out.='<br break="all"/>'; $out.='<br break="all"/>';
} }
if($numpages>0) { if($numpages>0) {
$out.=$matches; $out.=$matches;
$out.='<hr><p>'; $out.='<hr><p>';
if($query_vars['fdpage']==1) { if($query_vars['fdpage']==1) {
$out.="&lt;&lt;first "; $out.="&lt;&lt;first ";
$out.="&lt;prev "; $out.="&lt;prev ";
} else { } else {
$out.='<a href="'.makelink($query_vars, array('fdpage'=>1)).'">&lt;&lt;first</a> '; $out.='<a href="'.makelink($query_vars, array('fdpage'=>1)).'">&lt;&lt;first</a> ';
$out.='<a href="'.makelink($query_vars, array('fdpage'=>($query_vars['fdpage']-1))).'">&lt;&lt;prev</a> '; $out.='<a href="'.makelink($query_vars, array('fdpage'=>($query_vars['fdpage']-1))).'">&lt;&lt;prev</a> ';
} }
$out.=' Page '.$query_vars['fdpage'].' of '.$numpages.' '; $out.=' Page '.$query_vars['fdpage'].' of '.$numpages.' ';
if($query_vars['fdpage']==$numpages) { if($query_vars['fdpage']==$numpages) {
$out.="next&gt; "; $out.="next&gt; ";
$out.="last&gt;&gt; "; $out.="last&gt;&gt; ";
} else { } else {
$out.='<a href="'.makelink($query_vars, array('fdpage'=>($query_vars['fdpage']+1))).'">next&gt;</a> '; $out.='<a href="'.makelink($query_vars, array('fdpage'=>($query_vars['fdpage']+1))).'">next&gt;</a> ';
$out.='<a href="'.makelink($query_vars, array('fdpage'=>$numpages)).'">last&gt;&gt;</a> '; $out.='<a href="'.makelink($query_vars, array('fdpage'=>$numpages)).'">last&gt;&gt;</a> ';
} }
$out.='</p>'; $out.='</p>';
} else if($query_vars['fdfilter']!='') { } else if($query_vars['fdfilter']!='') {
$out.='<p>No matches</p>'; $out.='<p>No matches</p>';
} }
return $out; return $out;
} }
function show_search($query_vars) { function show_search($query_vars) {
$out=''; $out='';
$out.='<form name="searchform" action="" method="get">'; $out.='<form name="searchform" action="" method="get">';
$out.='<p><input name="fdfilter" type="text" value="'.$query_vars['fdfilter'].'" size="30"> '; $out.='<p><input name="fdfilter" type="text" value="'.$query_vars['fdfilter'].'" size="30"> ';
$out.='<input type="submit" value="Search"></p>'; $out.='<input type="submit" value="Search"></p>';
$out.='<input type="hidden" name="page_id" value="'.get_query_var('page_id').'">'; $out.='<input type="hidden" name="page_id" value="'.get_query_var('page_id').'">';
foreach($query_vars as $name => $value) { foreach($query_vars as $name => $value) {
if($value !== null && $name != 'fdfilter') if($value !== null && $name != 'fdfilter')
$out.='<input type="hidden" name="'.$name.'" value="'.$value.'">'; $out.='<input type="hidden" name="'.$name.'" value="'.$value.'">';
} }
$out.='</form>'."\n"; $out.='</form>'."\n";
return $out; return $out;
} }
function show_apps($xml,$query_vars,&$numpages) { function show_apps($xml,$query_vars,&$numpages) {
$skipped=0; $skipped=0;
$got=0; $got=0;
$total=0; $total=0;
if($query_vars['fdstyle']=='grid') { if($query_vars['fdstyle']=='grid') {
$outputter = new FDOutGrid(); $outputter = new FDOutGrid();
} else { } else {
$outputter = new FDOutList(); $outputter = new FDOutList();
} }
$out = ""; $out = "";
$out.=$outputter->outputStart(); $out.=$outputter->outputStart();
foreach($xml->children() as $app) { foreach($xml->children() as $app) {
if($app->getName() == 'repo') continue; if($app->getName() == 'repo') continue;
@ -325,128 +325,128 @@ class FDroid
if($skipped<($query_vars['fdpage']-1)*$outputter->perpage) { if($skipped<($query_vars['fdpage']-1)*$outputter->perpage) {
$skipped++; $skipped++;
} else if($got<$outputter->perpage) { } else if($got<$outputter->perpage) {
$out.=$outputter->outputEntry($query_vars, $appinfo); $out.=$outputter->outputEntry($query_vars, $appinfo);
$got++; $got++;
} }
$total++; $total++;
} }
} }
$out.=$outputter->outputEnd(); $out.=$outputter->outputEnd();
$numpages = ceil((float)$total/$outputter->perpage); $numpages = ceil((float)$total/$outputter->perpage);
return $out; return $out;
} }
} }
// Class to output app entries in a detailed list format // Class to output app entries in a detailed list format
class FDOutList class FDOutList
{ {
var $perpage=30; var $perpage=30;
function FDOutList() { function FDOutList() {
} }
function outputStart() { function outputStart() {
return ''; return '';
} }
function outputEntry($query_vars, $appinfo) { function outputEntry($query_vars, $appinfo) {
$out=""; $out="";
$out.="<hr>\n"; $out.="<hr>\n";
$out.='<div id="appheader">'; $out.='<div id="appheader">';
$out.='<div style="float:left;padding-right:10px;"><img src="http://f-droid.org/repo/icons/'.$appinfo['icon'].'" style="width:48px;"></div>'; $out.='<div style="float:left;padding-right:10px;"><img src="http://f-droid.org/repo/icons/'.$appinfo['icon'].'" style="width:48px;"></div>';
$out.='<div style="float:right;">'; $out.='<div style="float:right;">';
$out.='<p><a href="'; $out.='<p><a href="';
$out.=makelink($query_vars, array('fdid'=>$appinfo['id'])); $out.=makelink($query_vars, array('fdid'=>$appinfo['id']));
$out.='">Details...</a>'; $out.='">Details...</a>';
$out.="</p>"; $out.="</p>";
$out.="</div>\n"; $out.="</div>\n";
$out.='<p><span style="font-size:20px">'.$appinfo['name']."</span>"; $out.='<p><span style="font-size:20px">'.$appinfo['name']."</span>";
$out.="<br>".$appinfo['summary']."</p>\n"; $out.="<br>".$appinfo['summary']."</p>\n";
$out.="</div>\n"; $out.="</div>\n";
return $out; return $out;
} }
function outputEnd() { function outputEnd() {
return ''; return '';
} }
} }
// Class to output app entries in a compact grid format // Class to output app entries in a compact grid format
class FDOutGrid class FDOutGrid
{ {
var $perpage=80; var $perpage=80;
var $itemCount = 0; var $itemCount = 0;
function FDOutGrid() { function FDOutGrid() {
} }
function outputStart() { function outputStart() {
return "\n".'<table border="0" width="100%"><tr>'."\n"; return "\n".'<table border="0" width="100%"><tr>'."\n";
} }
function outputEntry($query_vars, $appinfo) { function outputEntry($query_vars, $appinfo) {
$link=makelink($query_vars, array('fdid'=>$appinfo['id'])); $link=makelink($query_vars, array('fdid'=>$appinfo['id']));
$out=''; $out='';
if($this->itemCount%4 == 0 && $this->itemCount > 0) if($this->itemCount%4 == 0 && $this->itemCount > 0)
{ {
$out.='</tr><tr>'."\n"; $out.='</tr><tr>'."\n";
} }
$out.='<td align="center" valign="top" style="background-color:#F8F8F8;">'; $out.='<td align="center" valign="top" style="background-color:#F8F8F8;">';
$out.='<p>'; $out.='<p>';
$out.='<div id="appheader" style="text-align:center;width:110px;">'; $out.='<div id="appheader" style="text-align:center;width:110px;">';
$out.='<a href="'.$link.'" style="border-bottom-style:none;">'; $out.='<a href="'.$link.'" style="border-bottom-style:none;">';
$out.='<img src="http://f-droid.org/repo/icons/'.$appinfo['icon'].'" style="width:48px;border-width:0;padding-top:5px;padding-bottom:5px;"><br/>'; $out.='<img src="http://f-droid.org/repo/icons/'.$appinfo['icon'].'" style="width:48px;border-width:0;padding-top:5px;padding-bottom:5px;"><br/>';
$out.=$appinfo['name'].'<br/>'; $out.=$appinfo['name'].'<br/>';
$out.='</a>'; $out.='</a>';
$out.="</div>"; $out.="</div>";
$out.='</p>'; $out.='</p>';
$out.="</td>\n"; $out.="</td>\n";
$this->itemCount++; $this->itemCount++;
return $out; return $out;
} }
function outputEnd() { function outputEnd() {
return '</tr></table>'."\n"; return '</tr></table>'."\n";
} }
} }
// Make a link to this page, with the current query vars attached and desired params added/modified // Make a link to this page, with the current query vars attached and desired params added/modified
function makelink($query_vars, $params=array()) { function makelink($query_vars, $params=array()) {
$link=get_permalink(); $link=get_permalink();
$vars=linkify(array_merge($query_vars, $params)); $vars=linkify(array_merge($query_vars, $params));
if(strlen($vars)==0) if(strlen($vars)==0)
return $link; return $link;
if(strpos($link,'?')===false) if(strpos($link,'?')===false)
$link.='?'; $link.='?';
else else
$link.='&'; $link.='&';
return $link.$vars; return $link.$vars;
} }
// Return the key value pairs in http-get-parameter format as a string // Return the key value pairs in http-get-parameter format as a string
function linkify($vars) { function linkify($vars) {
$retvar = ''; $retvar = '';
foreach($vars as $k => $v) { foreach($vars as $k => $v) {
if($k!==null && $v!==null && $v!='') if($k!==null && $v!==null && $v!='')
$retvar .= $k.'='.$v.'&'; $retvar .= $k.'='.$v.'&';
} }
return substr($retvar,0,-1); return substr($retvar,0,-1);
} }