/** * Displays/updates the "DB Tracking" settings field. * @access public */ public function tracked_tables_callback() { if ($this->is_updated('db_tracking')) { revisr()->git->set_config('revisr', 'db-tracking', revisr()->options['db_tracking']); } if ($db_tracking = revisr()->git->get_config('revisr', 'db-tracking')) { if ($db_tracking == 'custom' && $this->is_updated('tracked_tables')) { revisr()->git->run('config', array('--unset-all', 'revisr.tracked-tables')); $tables = revisr()->options['tracked_tables']; foreach ($tables as $table) { revisr()->git->run('config', array('--add', 'revisr.tracked-tables', $table)); } } elseif ($db_tracking != 'custom') { revisr()->git->run('config', array('--unset-all', 'revisr.tracked-tables')); } } else { $db_tracking = ''; } ?> <select id="db-tracking-select" name="revisr_database_settings[db_tracking]"> <option value="all_tables" <?php selected($db_tracking, 'all_tables'); ?> ><?php _e('All Tables', 'revisr'); ?> </option> <option value="custom" <?php selected($db_tracking, 'custom'); ?> ><?php _e('Let me decide...', 'revisr'); ?> </option> <option value="none" <?php selected($db_tracking, 'none'); ?> ><?php _e('None', 'revisr'); ?> </option> </select> <?php // Allows the user to select the tables they want to track. $db = new Revisr_DB(); $tables = $db->get_tables(); $sizes = $db->get_sizes(); echo '<div id="advanced-db-tracking" style="display:none;"><br><select name="revisr_database_settings[tracked_tables][]" multiple="multiple" style="width:35em;height:250px;">'; if (is_array($tables)) { foreach ($tables as $table) { $size = isset($sizes[$table]) ? $sizes[$table] : ''; $table_selected = ''; if (in_array($table, $db->get_tracked_tables())) { $table_selected = ' selected'; } echo "<option value='{$table}'{$table_selected}>{$table} {$size}</option>"; } } echo '</select></div>'; }
/** * Displays/updates the "DB Tracking" settings field. * @access public */ public function tracked_tables_callback() { if ($this->is_updated('db_tracking')) { $this->git->config_revisr_option('db-tracking', $this->options['db_tracking']); } $check_tracking = $this->git->run('config revisr.db-tracking'); if (is_array($check_tracking)) { $db_tracking = $check_tracking[0]; if ($db_tracking == 'custom') { if ($this->is_updated('tracked_tables')) { $this->git->run('config --unset-all revisr.tracked-tables'); $tables = $this->options['tracked_tables']; foreach ($tables as $table) { $this->git->run("config --add revisr.tracked-tables {$table}"); } } } else { $this->git->run('config --unset-all revisr.tracked-tables'); } } else { $db_tracking = ''; } ?> <select id="db-tracking-select" name="revisr_database_settings[db_tracking]"> <option value="all_tables" <?php selected($db_tracking, 'all_tables'); ?> ><?php _e('All Tables', 'revisr'); ?> </option> <option value="custom" <?php selected($db_tracking, 'custom'); ?> ><?php _e('Let me decide...', 'revisr'); ?> </option> <option value="none" <?php selected($db_tracking, 'none'); ?> ><?php _e('None', 'revisr'); ?> </option> </select> <?php // Allows the user to select the tables they want to track. $db = new Revisr_DB(); $tables = $db->get_tables(); echo '<div id="advanced-db-tracking"><br><select name="revisr_database_settings[tracked_tables][]" multiple="multiple" style="width:35em;height:250px;">'; if (is_array($tables)) { foreach ($tables as $table) { $table_selected = ''; if (in_array($table, $db->get_tracked_tables())) { $table_selected = ' selected'; } echo "<option value='{$table}'{$table_selected}>{$table}</option>"; } } echo '</select></div>'; }