Add Statistics

This commit is contained in:
Shikiryu 2011-01-04 10:57:00 +00:00
parent 9ef54c068f
commit d7c28b72ed
1 changed files with 12 additions and 1 deletions

View File

@ -16,12 +16,13 @@ class ShortURL extends XMLSQL{
if($this->pkAlreadyExists($shortName, 'url')){
return self::STATE_ALREADY_EXIST;
}else{
return $this->insert(array('url'=>$longUrl), rawurlencode($shortName))->into('url')->query();
return $this->insert(array('url'=>$longUrl,'hit'=>'0'), rawurlencode($shortName))->into('url')->query();
}
}
public function findThisUrl($shortName){
if($this->pkAlreadyExists(rawurlencode($shortName), 'url')){
$this->_incrementStatFor($shortName);
return $this->select(array('url'))->from('url')->where(rawurlencode($shortName))->query();
}else{
return;
@ -32,4 +33,14 @@ class ShortURL extends XMLSQL{
return $this->select()->from('url')->query();
}
/**
* Considering the table with $shortname already exist
*/
private function _incrementStatFor($shortName){
$currentHit = $this->select(array('hit'))->from('url')->where(rawurlencode($shortName))->query();
$currentHit = $currentHit[0];
return $this->update('url')->set(array('hit'=>$currentHit+1))->where(rawurlencode($shortName))->query();
}
}