[Web] Fix init_db, init json when attributes are null

[Web] Do not fail when _sogo_static_view fails to update
master
andryyy 2018-11-27 20:00:54 +01:00
parent 784beb112c
commit 77ce1bf43a
1 changed files with 9 additions and 4 deletions

View File

@ -1026,11 +1026,16 @@ if (php_sapi_name() == "cli") {
$res = $stmt->fetch(PDO::FETCH_ASSOC); $res = $stmt->fetch(PDO::FETCH_ASSOC);
if (intval($res['OK_C']) === 2) { if (intval($res['OK_C']) === 2) {
// Be more precise when replacing into _sogo_static_view, col orders may change // Be more precise when replacing into _sogo_static_view, col orders may change
try {
$stmt = $pdo->query("REPLACE INTO _sogo_static_view (`c_uid`, `domain`, `c_name`, `c_password`, `c_cn`, `mail`, `aliases`, `ad_aliases`, `kind`, `multiple_bookings`) $stmt = $pdo->query("REPLACE INTO _sogo_static_view (`c_uid`, `domain`, `c_name`, `c_password`, `c_cn`, `mail`, `aliases`, `ad_aliases`, `kind`, `multiple_bookings`)
SELECT `c_uid`, `domain`, `c_name`, `c_password`, `c_cn`, `mail`, `aliases`, `ad_aliases`, `kind`, `multiple_bookings` from sogo_view"); SELECT `c_uid`, `domain`, `c_name`, `c_password`, `c_cn`, `mail`, `aliases`, `ad_aliases`, `kind`, `multiple_bookings` from sogo_view");
$stmt = $pdo->query("DELETE FROM _sogo_static_view WHERE `c_uid` NOT IN (SELECT `username` FROM `mailbox` WHERE `active` = '1');"); $stmt = $pdo->query("DELETE FROM _sogo_static_view WHERE `c_uid` NOT IN (SELECT `username` FROM `mailbox` WHERE `active` = '1');");
echo "Fixed _sogo_static_view" . PHP_EOL; echo "Fixed _sogo_static_view" . PHP_EOL;
} }
catch ( Exception $e ) {
// Dunno
}
}
try { try {
$m = new Memcached(); $m = new Memcached();
$m->addServer('memcached', 11211); $m->addServer('memcached', 11211);