Esempio n. 1
0
/**
 * Check that the database schema is up to date.  If it isn't, offer to update it.
 *
 * @return void
 */
function validate_schema()
{
    $db = AbstractDb::getObject();
    // Init values
    $row = null;
    $dbRetval = false;
    try {
        // Check the schema info
        $dbRetval = $db->execSqlUniqueRes("SELECT * FROM schema_info WHERE tag='schema_version'", $row, false);
    } catch (Exception $e) {
        /* Be quiet */
        echo "<html><body>";
        echo "<h1>" . _("I am unable to retrieve the schema version. Either the wifidog database hasn't been created yet, the postgresql server is down, or pg_hba.conf does not allow your web server to connect to the wifidog database.") . "</h1>";
        echo "<h2>Error was: " . $e->getMessage() . "</h2>";
        echo "<h2>" . _("Try running the") . " <a href='" . BASE_URL_PATH . "install.php'>" . _("installation script") . "</a>.</h2>\n";
        echo "</html></body>";
        exit;
    }
    if (empty($row)) {
    } else {
        if ($row['value'] < REQUIRED_SCHEMA_VERSION) {
            update_schema();
        }
    }
}
Esempio n. 2
0
             $field['default'] = $params['default'];
         }
         if (isset($params['required']) && $params['required']) {
             $field['required'] = $params['required'];
         }
         if (isset($params['compressed']) && $params['compressed']) {
             $field['compressed'] = $params['compressed'];
         }
         if (isset($params['multiValued']) && $params['multiValued']) {
             $field['multiValued'] = $params['multiValued'];
         }
         $is_dynamic_field = (bool) isset($params['dynamic_field']);
         update_schema_fields($pdo, $field, $service_id, $is_dynamic_field);
     } else {
         $solr_schema_attr = $params['hand_config_schema'];
         update_schema($pdo, $service_id, $solr_schema_attr);
     }
     //      msg_redirect('schema_fields.php?action=list&service_id='.$service_id);
     msg_redirect('service_detail.php?service_id=' . $service_id . '&tab=3');
     break;
 case 'delete':
     $name = $params['name'];
     $schema_config = pdo_get_solr_schema($pdo, $service_id);
     $schema_config = json_decode($schema_config['schema_json'], true);
     if ($schema_config['uniqueKey'] == $name) {
         msg_redirect('back', "This field is used by \\'uniqueKey\\'");
     }
     if ($schema_config['defaultSearchField'] == $name) {
         msg_redirect('back', "This field is used by \\'defaultSearchField\\'");
     }
     delete_schema_fields($pdo, $name, $service_id);