From 3307dfe92dd3afc3a4fadc0351e072a520c6b9d4 Mon Sep 17 00:00:00 2001 From: Frederik Loeffert Date: Fri, 24 Aug 2012 23:42:54 +0200 Subject: [PATCH 1/4] cache resource value: secure quoted html output --- views/Foomo/Cache/Frontend/partials/resourcesList.tpl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/views/Foomo/Cache/Frontend/partials/resourcesList.tpl b/views/Foomo/Cache/Frontend/partials/resourcesList.tpl index 20df12a..9071e28 100644 --- a/views/Foomo/Cache/Frontend/partials/resourcesList.tpl +++ b/views/Foomo/Cache/Frontend/partials/resourcesList.tpl @@ -1,4 +1,3 @@ - status == \Foomo\Cache\CacheResource::STATUS_VALID) || ($resource->expirationTime < \time()); @@ -93,7 +92,7 @@

Value

- value) ?> + value, true), ENT_QUOTES) ?>
From 39f9d63b0ceacb10caee0ebe199f2972465b7642 Mon Sep 17 00:00:00 2001 From: Frederik Loeffert Date: Thu, 6 Sep 2012 01:13:59 +0200 Subject: [PATCH 2/4] refactored Lock::lock() and Lock::release() --- lib/Foomo/Jobs/Runner.php | 4 ++-- lib/Foomo/Lock.php | 8 ++++---- tests/Foomo/LockTest.php | 10 +++++----- tests/Foomo/lock.php | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/Foomo/Jobs/Runner.php b/lib/Foomo/Jobs/Runner.php index 8bfa81f..0ec2078 100644 --- a/lib/Foomo/Jobs/Runner.php +++ b/lib/Foomo/Jobs/Runner.php @@ -60,7 +60,7 @@ public static function runAJob(AbstractJob $job) { $locked = false; $pid = getmypid(); if ($job->getLock()) { - $locked = \Foomo\Lock::lock($jobId, $blocking = false); + $locked = \Foomo\Lock::lockResource($jobId, $blocking = false); if (!$locked) { $lockData = \Foomo\Lock::getLockInfo($job->getId()); if ($lockData['lock_age'] < $job->getMaxExecutionTime()) { @@ -82,7 +82,7 @@ public static function runAJob(AbstractJob $job) { Utils::updateStatusJobDone($jobId, $pid, $locked); if ($job->getLock()) { // clean up - \Foomo\Lock::release($job->getId()); + \Foomo\Lock::releaseResource($job->getId()); Utils::updateStatusJobDone($jobId, $pid, false); self::$callback = false; } diff --git a/lib/Foomo/Lock.php b/lib/Foomo/Lock.php index 9d24fa5..6a8a7c1 100644 --- a/lib/Foomo/Lock.php +++ b/lib/Foomo/Lock.php @@ -16,7 +16,7 @@ class Lock { * $param object $lockData whatever payload you might want to serialize into the lock file for latter use * @return boolean */ - public static function lock($lockName, $blocking = true, $lockData = null) { + public static function lockResource($lockName, $blocking = true, $lockData = null) { $lockFileHandle = self::getLockHandle($lockName); if (!$lockFileHandle) { return false; @@ -41,7 +41,7 @@ public static function lock($lockName, $blocking = true, $lockData = null) { * release. end the synchronization block * @param type $lockName */ - public static function release($lockName) { + public static function releaseResource($lockName) { $lockFileHandle = false; if (isset(self::$lockHandles[$lockName])) { $lockFileHandle = self::$lockHandles[$lockName]; @@ -129,8 +129,8 @@ private static function isLocked($lockName) { return true; } else { //check if somebody else has it - $canGetLock = self::lock($lockName, $blocking = false); - self::release($lockName); + $canGetLock = self::lockResource($lockName, $blocking = false); + self::releaseResource($lockName); if ($canGetLock) { return false; diff --git a/tests/Foomo/LockTest.php b/tests/Foomo/LockTest.php index 85d1077..98acee7 100644 --- a/tests/Foomo/LockTest.php +++ b/tests/Foomo/LockTest.php @@ -38,7 +38,7 @@ public function tearDown() { public function testGetLock() { $lockName1 = 'testLock1'; $lockName2 = 'testLock2'; - $lockObtained = \Foomo\Lock::lock($lockName1, $blocking = true); + $lockObtained = \Foomo\Lock::lockResource($lockName1, $blocking = true); $this->assertTrue($lockObtained, 'should be able to obtain first lock'); //issue another process @@ -46,7 +46,7 @@ public function testGetLock() { $this->assertFalse($sucess != 'false', 'should not be able to obtain second lock'); - $lockReleased = \Foomo\Lock::release($lockName1); + $lockReleased = \Foomo\Lock::releaseResource($lockName1); $this->assertTrue($lockReleased); // after the release it should work @@ -57,7 +57,7 @@ public function testGetLock() { public function testLockAge() { $lockName1 = 'testLock1'; - $lockObtained = \Foomo\Lock::lock($lockName1, $blocking = false); + $lockObtained = \Foomo\Lock::lockResource($lockName1, $blocking = false); sleep(3); $lockInfo = \Foomo\Lock::getLockInfo($lockName1); var_dump($lockInfo); @@ -67,7 +67,7 @@ public function testLockAge() { public function testGetInfo() { //get a lock from this process $lockName1 = 'testLock1'; - $lockObtained = \Foomo\Lock::lock($lockName1, $blocking = true); + $lockObtained = \Foomo\Lock::lockResource($lockName1, $blocking = true); $this->assertTrue($lockObtained, 'should be able to obtain first lock'); $info = \Foomo\Lock::getLockInfo($lockName1); var_dump($info); @@ -76,7 +76,7 @@ public function testGetInfo() { $this->assertLessThanOrEqual(5, $info['lock_age']); //release and lock from another process - \Foomo\Lock::release($lockName1); + \Foomo\Lock::releaseResource($lockName1); //start second process but do not wait for return! diff --git a/tests/Foomo/lock.php b/tests/Foomo/lock.php index f685087..82c09b4 100644 --- a/tests/Foomo/lock.php +++ b/tests/Foomo/lock.php @@ -7,12 +7,12 @@ } if ($sleep == 0) { - $lockObtained = \Foomo\Lock::lock($lockName, $blocking = false); + $lockObtained = \Foomo\Lock::lockResource($lockName, $blocking = false); echo $lockObtained ? 'true' : 'false'; exit; } else { - $lockObtained = \Foomo\Lock::lock($lockName, $blocking = false, 'description'); + $lockObtained = \Foomo\Lock::lockResource($lockName, $blocking = false, 'description'); //trigger_error('lock obtained ' . ($lockObtained ? 'true' : 'false')); echo $lockObtained ? 'true' : 'false'; $info = \Foomo\Lock::getLockInfo($lockName); @@ -21,7 +21,7 @@ sleep($sleep); - $release = \Foomo\Lock::release($lockName); + $release = \Foomo\Lock::releaseResource($lockName); trigger_error('lock released ' . ($release ? 'true' : 'false')); exit; From 29e62dcfb90c152d355383542f89773c2edd21a8 Mon Sep 17 00:00:00 2001 From: Frederik Loeffert Date: Thu, 6 Sep 2012 01:15:32 +0200 Subject: [PATCH 3/4] Merge branches 'staticConstructorFixes' and 'master' From fdf73338948055f3fdf94a7fbe7bbc9460b13f83 Mon Sep 17 00:00:00 2001 From: Frederik Loeffert Date: Sat, 8 Jun 2013 20:49:44 +0200 Subject: [PATCH 4/4] router enabled hideScript causes issues with baseUrl --- lib/Foomo/MVC.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Foomo/MVC.php b/lib/Foomo/MVC.php index 9038bc8..3be3682 100644 --- a/lib/Foomo/MVC.php +++ b/lib/Foomo/MVC.php @@ -260,8 +260,8 @@ public static function getBaseUrl($baseURL=null, $force=false) } else if (is_null($baseURL)) { if(strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME']) === 0 || !self::$hideScript) { return $_SERVER['SCRIPT_NAME']; - } else if(strpos($_SERVER['REQUEST_URI'], dirname($_SERVER['SCRIPT_NAME'])) === 0 && self::$hideScript) { - return dirname($_SERVER['SCRIPT_NAME']); +// } else if(strpos($_SERVER['REQUEST_URI'], dirname($_SERVER['SCRIPT_NAME'])) === 0 && self::$hideScript) { +// return dirname($_SERVER['SCRIPT_NAME']); } else { return ''; } @@ -459,4 +459,4 @@ public static function redirect($action, $parameters = array()) header('Location: ' . self::getCurrentURLHandler()->renderMethodURL($action, $parameters)); exit; } -} \ No newline at end of file +}