Exemple #1
0
 public static function getInstitutionalUserQuota($userID)
 {
     // TODO: config
     $dev = Z_ENV_TESTING_SITE ? "_test" : "";
     $databaseName = "zotero_www{$dev}";
     // Get maximum institutional quota by e-mail domain
     $sql = "SELECT IFNULL(MAX(storageQuota), 0) FROM {$databaseName}.users_email\n\t\t\t\tJOIN {$databaseName}.storage_institutions ON (SUBSTRING_INDEX(email, '@', -1)=domain)\n\t\t\t\tWHERE userID=?";
     try {
         $institutionalDomainQuota = Zotero_WWW_DB_2::valueQuery($sql, $userID);
     } catch (Exception $e) {
         Z_Core::logError("WARNING: {$e} -- retrying on primary");
         $institutionalDomainQuota = Zotero_WWW_DB_1::valueQuery($sql, $userID);
     }
     // Get maximum institutional quota by e-mail address
     $sql = "SELECT IFNULL(MAX(storageQuota), 0) FROM {$databaseName}.users_email\n\t\t\t\tJOIN {$databaseName}.storage_institution_email USING (email)\n\t\t\t\tJOIN {$databaseName}.storage_institutions USING (institutionID)\n\t\t\t\tWHERE userID=?";
     try {
         $institutionalEmailQuota = Zotero_WWW_DB_2::valueQuery($sql, $userID);
     } catch (Exception $e) {
         Z_Core::logError("WARNING: {$e} -- retrying on primary");
         $institutionalEmailQuota = Zotero_WWW_DB_1::valueQuery($sql, $userID);
     }
     $quota = max($institutionalDomainQuota, $institutionalEmailQuota);
     return $quota ? $quota : false;
 }
Exemple #2
0
 private static function getUsernameFromWWW($userID)
 {
     $sql = "SELECT username FROM users WHERE userID=?";
     try {
         $username = Zotero_WWW_DB_2::valueQuery($sql, $userID);
     } catch (Exception $e) {
         Z_Core::logError("WARNING: {$e} -- retrying on primary");
         $username = Zotero_WWW_DB_1::valueQuery($sql, $userID);
     }
     if (!$username) {
         throw new Exception("User {$userID} not found", Z_ERROR_USER_NOT_FOUND);
     }
     return $username;
 }