Merge branch 'saas-dev' of https://github.com/sourcefabric/Airtime into saas-dev
This commit is contained in:
commit
0d27011e65
|
@ -146,9 +146,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
||||||
|
|
||||||
$baseUrl = Application_Common_OsPath::getBaseDir();
|
$baseUrl = Application_Common_OsPath::getBaseDir();
|
||||||
|
|
||||||
$view->headLink(array('rel' => 'icon',
|
$view->headLink(array('rel' => 'icon', 'href' => $baseUrl . 'favicon.ico?' . $CC_CONFIG['airtime_version'], 'type' => 'image/x-icon'), 'PREPEND')
|
||||||
'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/bootstrap.css?' . $CC_CONFIG['airtime_version'])
|
||||||
->appendStylesheet($baseUrl . 'css/redmond/jquery-ui-1.8.8.custom.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'])
|
->appendStylesheet($baseUrl . 'css/pro_dropdown_3.css?' . $CC_CONFIG['airtime_version'])
|
||||||
|
|
|
@ -24,7 +24,8 @@ define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.h
|
||||||
define('AIRTIME_COPYRIGHT_DATE' , '2010-2015');
|
define('AIRTIME_COPYRIGHT_DATE' , '2010-2015');
|
||||||
define('AIRTIME_REST_VERSION' , '1.1');
|
define('AIRTIME_REST_VERSION' , '1.1');
|
||||||
define('AIRTIME_API_VERSION' , '1.1');
|
define('AIRTIME_API_VERSION' , '1.1');
|
||||||
define('AIRTIME_CODE_VERSION' , '2.5.13');
|
// XXX: it's important that we upgrade this every time we add an upgrade!
|
||||||
|
define('AIRTIME_CODE_VERSION' , '2.5.14');
|
||||||
|
|
||||||
// Defaults
|
// Defaults
|
||||||
define('DEFAULT_LOGO_PLACEHOLDER', 1);
|
define('DEFAULT_LOGO_PLACEHOLDER', 1);
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
ALTER TABLE cc_pref ALTER COLUMN subjid SET NULL;
|
||||||
|
ALTER TABLE cc_pref ALTER COLUMN subjid SET DEFAULT NULL;
|
||||||
|
CREATE UNIQUE INDEX cc_pref_key_idx ON cc_pref (keystr) WHERE subjid IS NULL;
|
||||||
|
ANALYZE cc_pref;
|
|
@ -27,17 +27,18 @@ class Application_Model_Preference
|
||||||
private static function setValue($key, $value, $isUserValue = false)
|
private static function setValue($key, $value, $isUserValue = false)
|
||||||
{
|
{
|
||||||
$cache = new Cache();
|
$cache = new Cache();
|
||||||
|
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
||||||
try {
|
$con->beginTransaction();
|
||||||
|
|
||||||
$con = Propel::getConnection(CcPrefPeer::DATABASE_NAME);
|
|
||||||
$con->beginTransaction();
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
/* Comment this out while we reevaluate it in favor of a unique constraint
|
||||||
|
static::_lock($con); */
|
||||||
$userId = self::getUserId();
|
$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}.");
|
throw new Exception("User id can't be null for a user preference {$key}.");
|
||||||
|
}
|
||||||
|
|
||||||
//Check if key already exists
|
//Check if key already exists
|
||||||
$sql = "SELECT COUNT(*) FROM cc_pref"
|
$sql = "SELECT COUNT(*) FROM cc_pref"
|
||||||
." WHERE keystr = :key";
|
." WHERE keystr = :key";
|
||||||
|
@ -113,6 +114,28 @@ class Application_Model_Preference
|
||||||
$cache->store($key, $value, $isUserValue, $userId);
|
$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)
|
private static function getValue($key, $isUserValue = false)
|
||||||
{
|
{
|
||||||
$cache = new Cache();
|
$cache = new Cache();
|
||||||
|
|
|
@ -455,3 +455,21 @@ class AirtimeUpgrader2513 extends AirtimeUpgrader
|
||||||
return '2.5.13';
|
return '2.5.13';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class AirtimeUpgrader2514
|
||||||
|
*
|
||||||
|
* SAAS-923 - Add a partial constraint to cc_pref so that keystrings must be unique
|
||||||
|
*/
|
||||||
|
class AirtimeUpgrader2514 extends AirtimeUpgrader
|
||||||
|
{
|
||||||
|
protected function getSupportedSchemaVersions() {
|
||||||
|
return array (
|
||||||
|
'2.5.13'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getNewVersion() {
|
||||||
|
return '2.5.14';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -376,3 +376,11 @@ INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s4_descripti
|
||||||
INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s4_genre', '', 'string');
|
INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s4_genre', '', 'string');
|
||||||
INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s4_channels', 'stereo', 'string');
|
INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s4_channels', 'stereo', 'string');
|
||||||
|
|
||||||
|
-- added in 2.5.14 - this can't be set up in Propel's XML schema, so we need to do it here -- Duncan
|
||||||
|
|
||||||
|
ALTER TABLE cc_pref ALTER COLUMN subjid SET NULL;
|
||||||
|
ALTER TABLE cc_pref ALTER COLUMN subjid SET DEFAULT NULL;
|
||||||
|
CREATE UNIQUE INDEX cc_pref_key_idx ON cc_pref (keystr) WHERE subjid IS NULL;
|
||||||
|
ANALYZE cc_pref; -- this validates the new partial index
|
||||||
|
|
||||||
|
--end added in 2.5.14
|
||||||
|
|
Loading…
Reference in New Issue