diff --git a/controllers/ApiController.php b/controllers/ApiController.php index b02bb4e08..22b781fb2 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -314,7 +314,9 @@ public function init($extra) { } // Request limiter needs initialized authentication parameters - $this->initRequestLimiter(); + if (!Z_ENV_TESTING_SITE) { + $this->initRequestLimiter(); + } // Get object user if (isset($this->objectUserID)) { diff --git a/include/config/config.inc.php-sample b/include/config/config.inc.php-sample index 3225fb2f5..8f3baba4d 100644 --- a/include/config/config.inc.php-sample +++ b/include/config/config.inc.php-sample @@ -7,7 +7,8 @@ class Z_CONFIG { public static $TESTING_SITE = true; public static $DEV_SITE = true; - + public static $DB_SUFFIX = ''; // options: "_test" for test, "_dev" for dev, "" for prod + public static $DEBUG_LOG = false; public static $BASE_URI = ''; diff --git a/misc/master.sql b/misc/master.sql index 4c79cd11d..933d8b6e0 100644 --- a/misc/master.sql +++ b/misc/master.sql @@ -184,6 +184,7 @@ CREATE TABLE `libraries` ( `lastUpdated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `version` int(10) unsigned NOT NULL DEFAULT '0', `shardID` smallint(5) unsigned NOT NULL, + `hasData` TINYINT( 1 ) NOT NULL DEFAULT '0' PRIMARY KEY (`libraryID`), KEY `shardID` (`shardID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/model/Notes.inc.php b/model/Notes.inc.php index f141d3b90..f0de9afdd 100644 --- a/model/Notes.inc.php +++ b/model/Notes.inc.php @@ -83,7 +83,7 @@ public static function updateHash($libraryID, $itemID, $value) { public static function sanitize($text) { - if (strlen(trim($text)) == 0) { + if (Z_ENV_TESTING_SITE || strlen(trim($text)) == 0) { return $text; } diff --git a/model/Permissions.inc.php b/model/Permissions.inc.php index 83ffe8b24..5c592e58b 100644 --- a/model/Permissions.inc.php +++ b/model/Permissions.inc.php @@ -230,8 +230,8 @@ private function getUserPrivacy($userID) { break; case 2: - $privacy['library'] = false; - $privacy['notes'] = false; + $privacy['library'] = true; + $privacy['notes'] = true; break; default: diff --git a/model/Storage.inc.php b/model/Storage.inc.php index 41c9875e7..6994f9790 100644 --- a/model/Storage.inc.php +++ b/model/Storage.inc.php @@ -836,9 +836,9 @@ public static function setUserValues($userID, $quota, $expiration) { } public static function getInstitutionalUserQuota($userID) { - // TODO: config - $dev = Z_ENV_TESTING_SITE ? "_dev" : ""; - $databaseName = "zotero_www{$dev}"; + + $suffix = Z_CONFIG::$DB_SUFFIX; + $databaseName = "zotero_www$suffix"; // Get maximum institutional quota by e-mail domain $sql = "SELECT IFNULL(MAX(storageQuota), 0) FROM $databaseName.users_email " diff --git a/model/auth/Password.inc.php b/model/auth/Password.inc.php index a6eab67c9..f7cd5a45a 100644 --- a/model/auth/Password.inc.php +++ b/model/auth/Password.inc.php @@ -28,9 +28,8 @@ class Zotero_AuthenticationPlugin_Password implements Zotero_AuthenticationPlugi public static function authenticate($data) { $salt = Z_CONFIG::$AUTH_SALT; - // TODO: config - $dev = Z_ENV_TESTING_SITE ? "_dev" : ""; - $databaseName = "zotero_www{$dev}"; + $suffix = Z_CONFIG::$DB_SUFFIX; + $databaseName = "zotero_www$suffix"; $username = $data['username']; $password = $data['password'];