Merge branch 'saas' into saas-dev
This commit is contained in:
commit
999f03ea1e
|
@ -146,9 +146,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|||
|
||||
$baseUrl = Application_Common_OsPath::getBaseDir();
|
||||
|
||||
$view->headLink(array('rel' => 'icon',
|
||||
'href' => $baseUrl . 'favicon.ico?' . $CC_CONFIG['airtime_version'],
|
||||
'type' => 'image/x-icon'), 'PREPEND')
|
||||
$view->headLink(array('rel' => 'icon', 'href' => $baseUrl . 'favicon.ico?' . $CC_CONFIG['airtime_version'], 'type' => 'image/x-icon'), 'PREPEND')
|
||||
->appendStylesheet($baseUrl . 'css/bootstrap.css?' . $CC_CONFIG['airtime_version'])
|
||||
->appendStylesheet($baseUrl . 'css/redmond/jquery-ui-1.8.8.custom.css?' . $CC_CONFIG['airtime_version'])
|
||||
->appendStylesheet($baseUrl . 'css/pro_dropdown_3.css?' . $CC_CONFIG['airtime_version'])
|
||||
|
|
|
@ -27,17 +27,17 @@ class Application_Model_Preference
|
|||
private static function setValue($key, $value, $isUserValue = false)
|
||||
{
|
||||
$cache = new Cache();
|
||||
|
||||
try {
|
||||
|
||||
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
||||
$con->beginTransaction();
|
||||
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
||||
$con->beginTransaction();
|
||||
|
||||
try {
|
||||
static::_lock($con);
|
||||
$userId = self::getUserId();
|
||||
|
||||
if ($isUserValue && is_null($userId))
|
||||
if ($isUserValue && is_null($userId)) {
|
||||
throw new Exception("User id can't be null for a user preference {$key}.");
|
||||
|
||||
}
|
||||
|
||||
//Check if key already exists
|
||||
$sql = "SELECT COUNT(*) FROM cc_pref"
|
||||
." WHERE keystr = :key";
|
||||
|
@ -113,6 +113,28 @@ class Application_Model_Preference
|
|||
$cache->store($key, $value, $isUserValue, $userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a PDO connection, lock the cc_pref table for the current transaction
|
||||
*
|
||||
* Creates a table level lock, which defaults to ACCESS EXCLUSIVE mode;
|
||||
* see http://www.postgresql.org/docs/9.1/static/explicit-locking.html
|
||||
*
|
||||
* @param PDO $con
|
||||
*/
|
||||
private static function _lock($con) {
|
||||
// If we're not in a transaction, a lock is pointless
|
||||
if (!$con->inTransaction()) {
|
||||
return;
|
||||
}
|
||||
// Don't specify NOWAIT here; we should block on obtaining this lock
|
||||
// in case we're handling simultaneous requests.
|
||||
// Locks only last until the end of the transaction, so we shouldn't have to
|
||||
// worry about this causing any noticeable difference in request processing speed
|
||||
$sql = "LOCK TABLE cc_pref";
|
||||
$st = $con->prepare($sql);
|
||||
$st->execute();
|
||||
}
|
||||
|
||||
private static function getValue($key, $isUserValue = false)
|
||||
{
|
||||
$cache = new Cache();
|
||||
|
|
Loading…
Reference in New Issue