Changeset 2495997
- Timestamp:
- 03/15/2021 02:02:14 PM (4 years ago)
- Location:
- ts-comfort-database
- Files:
-
- 50 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
ts-comfort-database/trunk/classes/tsinf_comfort_db.class.php
r2486537 r2495997 27 27 private static $query_limit; 28 28 private static $show_adminbar_menu; 29 30 private static $progress_hash_table_to_csv; 31 private static $progress_hash_rows_to_csv; 29 32 30 33 function __construct() … … 49 52 self::$show_adminbar_menu = ($show_adminbar_menu === 1); 50 53 51 add_action('admin_menu', array('TS_INF_COMFORT_DB', 'generate_menu')); 54 // Must be an array because needs diffferent hashes if user clicks more than one table to export 55 self::$progress_hash_table_to_csv = array(); 56 $table_names = TS_INF_COMFORT_DB_DATABASE::get_table_names(); 57 if(is_array($table_names) && count($table_names) > 0) 58 { 59 foreach($table_names as $tablename) 60 { 61 self::$progress_hash_table_to_csv[$tablename] = sprintf("tsinf_table_to_csv_state_%s", md5(get_current_user_id() . $tablename)); 62 } 63 } 64 65 self::$progress_hash_rows_to_csv = sprintf("tsinf_rows_to_csv_state_%s", md5(get_current_user_id())); 66 67 add_action('admin_menu', array('TS_INF_COMFORT_DB', 'generate_menu'), 10); 52 68 add_action('admin_enqueue_scripts', array('TS_INF_COMFORT_DB', 'load_backend_scripts')); 53 69 … … 59 75 add_action('wp_ajax_get_table_struct_meta', array('TS_INF_COMFORT_DB', 'ajax_get_table_struct_meta_callback')); 60 76 add_action('wp_ajax_get_column_meta_data', array('TS_INF_COMFORT_DB', 'ajax_get_column_meta_data_callback')); 77 78 add_action('wp_ajax_export_table_to_csv', array('TS_INF_COMFORT_DB', 'ajax_export_table_to_csv_callback')); 79 add_action('wp_ajax_export_table_to_csv', array('TS_INF_COMFORT_DB', 'ajax_export_table_to_csv_callback')); 80 81 add_action('wp_ajax_export_rows_to_csv', array('TS_INF_COMFORT_DB', 'ajax_export_rows_to_csv_callback')); 82 add_action('wp_ajax_export_rows_to_csv', array('TS_INF_COMFORT_DB', 'ajax_export_rows_to_csv_callback')); 83 61 84 add_action('wp_ajax_tsinf_comfortdb_table_delete_rows', array('TS_INF_COMFORT_DB', 'ajax_tsinf_comfortdb_table_delete_rows')); 62 85 add_action('wp_ajax_risk_message_button_confirmed', array('TS_INF_COMFORT_DB', 'ajax_risk_message_button_confirmed')); 86 add_action('wp_ajax_table_context_menu', array('TS_INF_COMFORT_DB', 'ajax_table_context_menu')); 63 87 add_action('admin_init', array('TS_INF_COMFORT_DB','render_admin_page_settings_options')); 64 88 add_action('wp_loaded', array('TS_INF_COMFORT_DB','helper_redirect_to_search_results_page')); 89 90 if(!file_exists(TS_INF_COMFORT_DB_UPLOAD_DIR)) 91 { 92 try { 93 WP_Filesystem(); 94 global $wp_filesystem; 95 $result = $wp_filesystem->mkdir(TS_INF_COMFORT_DB_UPLOAD_DIR); 96 if($result === false) 97 { 98 // Directory could not be created 99 } 100 } catch(Exception $e) 101 { 102 103 } 104 } 65 105 } 66 106 … … 83 123 84 124 wp_enqueue_script( 'ts_comfort_db_main_js', plugins_url('../js/main.js', __FILE__), array('jquery') ); 85 wp_enqueue_script( 'ts_comfort_db_table_js', plugins_url('../js/table.js', __FILE__), array('jquery' ) );125 wp_enqueue_script( 'ts_comfort_db_table_js', plugins_url('../js/table.js', __FILE__), array('jquery', 'ts_comfort_db_main_js') ); 86 126 wp_enqueue_script( 'ts_comfort_db_table_ajax_js', plugins_url('../js/table.ajax.js', __FILE__), array('jquery') ); 87 wp_enqueue_script( 'ts_comfort_db_overview_js', plugins_url('../js/overview.js', __FILE__), array('jquery' ) );127 wp_enqueue_script( 'ts_comfort_db_overview_js', plugins_url('../js/overview.js', __FILE__), array('jquery', 'ts_comfort_db_main_js') ); 88 128 wp_enqueue_script( 'ts_comfort_db_editform_js', plugins_url('../js/editform.js', __FILE__), array('jquery') ); 89 129 … … 100 140 101 141 wp_localize_script('ts_comfort_db_table_js', 'TSINF_COMFORT_DB_TABLE_JS', array( 142 'checkerurl' => plugins_url('../checker.php', __FILE__), 102 143 'really_delete' => __('Do you really want to delete the selected rows?', 'tsinf_comfortdb_plugin_textdomain'), 144 'copy_to_clipboard' => __('Copy to clipboard', 'tsinf_comfortdb_plugin_textdomain'), 145 'nonce_cell_menu' => wp_create_nonce('tsinf_comfortdb_plugin_table_cell_menu'), 146 'progress_hash_rows_to_csv' => self::$progress_hash_rows_to_csv, 147 'export_finished' => __('Export ist finished. Go to File Manager and download your file: ', 'tsinf_comfortdb_plugin_textdomain'), 148 'filemanager_name' => __('File Manager'), 149 'filemanager_url' => admin_url('admin.php?page=tscomfortdb-filemanager', 'tsinf_comfortdb_plugin_textdomain') 150 )); 151 152 wp_localize_script('ts_comfort_db_overview_js', 'TSINF_COMFORT_OVERVIEW_JS', array( 153 'ajaxurl' => admin_url('admin-ajax.php'), 154 'checkerurl' => plugins_url('../checker.php', __FILE__), 155 'nonce' => wp_create_nonce(TS_INF_TABLE_TO_CSV_NONCE), 156 'progress_hash_table_to_csv' => self::$progress_hash_table_to_csv, 157 'export_finished' => __('Export ist finished. Go to File Manager and download your file: ', 'tsinf_comfortdb_plugin_textdomain'), 158 'filemanager_name' => __('File Manager'), 159 'filemanager_url' => admin_url('admin.php?page=tscomfortdb-filemanager', 'tsinf_comfortdb_plugin_textdomain') 103 160 )); 104 161 } … … 543 600 } 544 601 } 545 546 // echo 'helper_decode_identifier_string()<br />';547 // var_dump($identifier);548 // echo '<br />';549 // var_dump($identifier_string);550 // echo '<br />';551 602 552 603 553 604 $identifier_string = str_replace("{percent}", "%%", $identifier_string); 554 555 // var_dump($identifier_string); 556 // echo '<br />'; 605 557 606 } 558 607 … … 793 842 794 843 $table_headers = TS_INF_COMFORT_DB_DATABASE::get_column_names($tablename); 844 $table_col_count = is_array($table_headers) ? count($table_headers) : 0; 795 845 796 846 $primary_key_columns = TS_INF_COMFORT_DB_DATABASE::get_primary_key_columns($tablename); … … 850 900 <span class="arrow-up white"></span> 851 901 <span class="tsinf_select_menu_items"> 852 <span class="tsinf_select_menu_option delete" data-auth="<?php echo wp_create_nonce('tsinf_comfortdb_plugin_delete_table_dataset'); ?>"><?php _e("Delete", "tsinf_comfortdb_plugin_textdomain"); ?></span> 902 <span class="tsinf_select_menu_option delete" data-auth="<?php echo wp_create_nonce('tsinf_comfortdb_plugin_delete_table_dataset'); ?>"><?php _e("Delete selected rows", "tsinf_comfortdb_plugin_textdomain"); ?></span> 903 <span class="tsinf_select_menu_option export_csv" data-auth="<?php echo wp_create_nonce('tsinf_comfortdb_plugin_export_csv_table_dataset'); ?>"><?php _e("Export selected rows to CSV", "tsinf_comfortdb_plugin_textdomain"); ?></span> 853 904 </span> 854 905 </span> … … 892 943 893 944 <div class="tsinf_comfortdb_table_data_wrapper"> 894 <table class="tsinf_comfortdb_table" data-tablename="<?php echo $tablename; ?>" >945 <table class="tsinf_comfortdb_table" data-tablename="<?php echo $tablename; ?>" data-colcount="<?php echo $table_col_count; ?>"> 895 946 <?php 896 947 $sort_link_order = 'asc'; … … 900 951 } 901 952 902 if(is_array($table_headers) && count($table_headers)> 0)953 if(is_array($table_headers) && $table_col_count > 0) 903 954 { 904 955 $column_headline = ''; … … 962 1013 ?><tr data-page-line="<?php echo $row_counter; ?>"> 963 1014 <?php if(!$no_primary_keys) { ?> 964 <td ><input type="checkbox" class="row_select row_identifier" name="row_identifier" value="<?php echo htmlentities($row_identifier, ENT_QUOTES); ?>" /></td>965 <td ><a class="tsinf_comfortdb_row_edit" href="<?php echo admin_url('?page=tscomfortdb-mainpage&table=' . $tablename . $edit_link); ?>"><?php _e('Edit', 'tsinf_comfortdb_plugin_textdomain'); ?></a></td>1015 <td class="cell_checkbox"><input type="checkbox" class="row_select row_identifier" name="row_identifier" value="<?php echo htmlentities($row_identifier, ENT_QUOTES); ?>" /></td> 1016 <td class="cell_link"><a class="tsinf_comfortdb_row_edit" href="<?php echo admin_url('?page=tscomfortdb-mainpage&table=' . $tablename . $edit_link); ?>"><?php _e('Edit', 'tsinf_comfortdb_plugin_textdomain'); ?></a></td> 966 1017 <?php } ?> 967 1018 <?php … … 985 1036 <span class="column_is_null">NULL</span> 986 1037 <?php } else { ?> 987 <textarea class="dbcontentcodewrap" readonly="readonly"><?php echo htmlspecialchars($column_data); ?></textarea></td> 1038 <textarea class="dbcontentcodewrap" readonly="readonly"><?php echo htmlspecialchars($column_data); ?></textarea> 1039 <span class="tcellmenubutton"></span> 1040 <span class="tcellmenu_container"> 1041 <span class="multiplestate_header"> 1042 <span class="header_text"><?php _e('Cell-Options', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1043 <span class="menu_close"> 1044 <svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"> 1045 <line x1="18" y1="6" x2="6" y2="18"></line> 1046 <line x1="6" y1="6" x2="18" y2="18"></line> 1047 </svg> 1048 </span> 1049 </span> 1050 <span class="tcellmenu_option" data-val="copy"> 1051 <span class="option_text"><?php _e('Copy to clipboard', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1052 </span> 1053 <span class="tcellmenu_option" data-val="unserialize"> 1054 <span class="option_text"><?php _e('PHP: unserialize()', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1055 </span> 1056 <span class="tcellmenu_option" data-val="jsondecode"> 1057 <span class="option_text"><?php _e('PHP: json_decode()', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1058 </span> 1059 <span class="tcellmenu_option" data-val="varexport"> 1060 <span class="option_text"><?php _e('PHP: var_export()', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1061 </span> 1062 </span> 988 1063 <?php 989 1064 } 1065 ?> 1066 </td> 1067 <?php 990 1068 } 991 1069 … … 1017 1095 $php_version = phpversion(); 1018 1096 1019 $headline = __('Comfort DB', 'tsinf_comfortdb_plugin_textdomain'); 1097 global $wp_version; 1098 1099 $headline = __('TS Comfort DB', 'tsinf_comfortdb_plugin_textdomain'); 1020 1100 1021 1101 try { … … 1025 1105 } catch(Exception $e) 1026 1106 { 1027 $headline = __(' Comfort DB', 'tsinf_comfortdb_plugin_textdomain');1107 $headline = __('TS Comfort DB', 'tsinf_comfortdb_plugin_textdomain'); 1028 1108 } 1029 1109 ?> 1030 1110 <h1 id="tsinf_comfortdb_headline" class="nofloat"><?php echo $headline; ?></h1> 1031 <h2><?php echo sprintf(__('Name of your WordPress Database: %s (%s MB) - MySQL Version %s - PHP Version %s ', 'tsinf_comfortdb_plugin_textdomain'), DB_NAME, number_format($database_size, 2, ".", ""), $mysql_version, $php_version); ?></h2>1111 <h2><?php echo sprintf(__('Name of your WordPress Database: %s (%s MB) - MySQL Version %s - PHP Version %s - WordPress Version %s', 'tsinf_comfortdb_plugin_textdomain'), DB_NAME, number_format($database_size, 2, ".", ""), $mysql_version, $php_version, $wp_version); ?></h2> 1032 1112 <?php self::render_full_text_search_form(); ?> 1033 1113 <?php … … 1042 1122 <th class="tsinf_comfortdb_column_headline"><?php _e('Table Name', 'tsinf_comfortdb_plugin_textdomain'); ?></th> 1043 1123 <th class="tsinf_comfortdb_column_headline tsinf_comfortdb_colhead_tablename_filter"><input type="text" class="tsinf_comfortdb_tablename_filter" placeholder="<?php _e('Filter', 'tsinf_comfortdb_plugin_textdomain'); ?> (<?php _e('Table Name', 'tsinf_comfortdb_plugin_textdomain'); ?>)" value="" /></th> 1124 <th class="tsinf_comfortdb_column_headline tsinf_comfortdb_colhead_options"></th> 1044 1125 <th class="tsinf_comfortdb_column_headline tsinf_comfortdb_colhead_entries"><?php _e('Entries', 'tsinf_comfortdb_plugin_textdomain'); ?></th> 1045 1126 <th class="tsinf_comfortdb_column_headline tsinf_comfortdb_colhead_engine"><?php _e('Engine', 'tsinf_comfortdb_plugin_textdomain'); ?></th> … … 1053 1134 <tr class="tsinf_comfortdb_table_overview_row" data-table-name="<?php echo $table->TABLE_NAME; ?>" data-auth="<?php echo wp_create_nonce(sprintf('tsinf_comfortdb_table_overview_row_%s', $table->TABLE_NAME)); ?>"> 1054 1135 <td colspan="2" class="tsinf_comfortdb_table_name"><a href="<?php echo admin_url('?page=tscomfortdb-mainpage&table=' . $table->TABLE_NAME . '&tpage=1'); ?>" title="<?php echo $table->TABLE_NAME; ?>"><?php echo $table->TABLE_NAME; ?></a></td> 1136 <td class="tsinf_comfortdb_options"> 1137 <span class="export_to_csv_wrap"> 1138 <?php if($table->TABLE_ROWS > 0) { ?> 1139 <span class="export_to_csv"><?php _e('CSV-Export', 'tsinf_comfortdb_plugin_textdomain'); ?></span> 1140 <progress class="tsinf-progress-bar export-complete-table-to-csv" style="display:none;" value="0.0" max="1"></progress> 1141 <?php } ?> 1142 </span> 1143 </td> 1055 1144 <td class="tsinf_comfortdb_row_count"><?php echo $table->TABLE_ROWS; ?></td> 1056 1145 <td class="tsinf_comfortdb_engine"><img alt="" src="<?php echo plugins_url('../images/loading-symbol.svg', __FILE__); ?>" width="30px" height="auto" /></td> … … 1567 1656 wp_die(); 1568 1657 } 1658 1659 /** 1660 * Ajax Callback to export table to CSV 1661 */ 1662 public static function ajax_export_table_to_csv_callback() 1663 { 1664 if( 1665 isset($_POST['action']) && $_POST['action'] === 'export_table_to_csv' && 1666 isset($_POST['table']) 1667 ) { 1668 $table = trim(sanitize_text_field($_POST['table'])); 1669 1670 check_ajax_referer(TS_INF_TABLE_TO_CSV_NONCE, 'security', true); 1671 1672 if(strlen($table) > 0) 1673 { 1674 $result = array(); 1675 1676 self::export_table_to_csv($table); 1677 1678 wp_send_json($result); 1679 } 1680 1681 1682 } 1683 wp_die(); 1684 } 1685 1686 /** 1687 * Ajax Callback to export selected rows to CSV 1688 */ 1689 public static function ajax_export_rows_to_csv_callback() 1690 { 1691 if( 1692 isset($_POST['action']) && $_POST['action'] === 'export_rows_to_csv' && 1693 isset($_POST['rows']) && is_array($_POST['rows']) && count($_POST['rows']) > 0 && 1694 isset($_POST['table']) 1695 ) 1696 { 1697 global $wpdb; 1698 1699 $rows = $_POST['rows']; 1700 $tablename = htmlentities(strip_tags($_POST['table']), ENT_QUOTES); 1701 1702 self::export_rows_to_csv($tablename, $rows); 1703 1704 } 1705 } 1569 1706 1570 1707 /** … … 1650 1787 } 1651 1788 1652 1789 /** 1653 1790 * Ajax Callback to confirm and hide risk message 1654 1791 */ … … 1664 1801 } 1665 1802 1803 /** 1804 * AJAX Callback to process action send via table cell context menu 1805 */ 1806 public static function ajax_table_context_menu() 1807 { 1808 check_ajax_referer('tsinf_comfortdb_plugin_table_cell_menu', 'security', true); 1809 1810 $result_content = ''; 1811 1812 if( 1813 isset($_POST['action']) && $_POST['action'] === 'table_context_menu' && 1814 isset($_POST['type']) && isset($_POST['content']) 1815 ) { 1816 1817 $type = trim(sanitize_text_field($_POST['type'])); 1818 $content = $_POST['content']; 1819 1820 1821 switch($type) 1822 { 1823 case 'unserialize': 1824 $content = stripslashes($content); 1825 $result_content = maybe_unserialize($content); 1826 $result_content = var_export($result_content, true); 1827 1828 break; 1829 1830 case 'jsondecode': 1831 $content = stripslashes($content); 1832 $result_content = json_decode($content); 1833 $result_content = var_export($result_content, true); 1834 break; 1835 1836 case 'varexport': 1837 $result_content = var_export($content, true); 1838 break; 1839 } 1840 } 1841 1842 echo $result_content; 1843 1844 1845 wp_die(); 1846 } 1847 1848 /** 1849 * Add table list to Adminbar 1850 */ 1666 1851 public static function add_tables_to_adminbar() 1667 1852 { … … 1711 1896 } 1712 1897 } 1898 1899 /** 1900 * Write table selected data to csv file 1901 * @param string $table tablename 1902 * @param array $rows rows to export 1903 */ 1904 public static function export_rows_to_csv($tablename, $rows) 1905 { 1906 add_action('shutdown', function() 1907 { 1908 if($error = error_get_last()) 1909 { 1910 // Catch Fatal Errors 1911 $state = json_encode(array('done' => 0, 'total' => 0, 'error' => $error['message'])); 1912 set_transient(self::$progress_hash_rows_to_csv, $state, HOUR_IN_SECONDS); 1913 } 1914 }); 1915 1916 if(is_array($rows) && count($rows) > 0) 1917 { 1918 $where_condition_counter = 0; 1919 $row_data_length = count($rows); 1920 $where = ''; 1921 1922 foreach($rows as $row) 1923 { 1924 $where_condition_counter++; 1925 1926 $row_data_json_str = stripslashes(html_entity_decode($row, ENT_QUOTES)); 1927 $row_data = (array) json_decode($row_data_json_str); 1928 1929 foreach($row_data as $field => $value) 1930 { 1931 if($row_data_length === $where_condition_counter) 1932 { 1933 $where .= " `" . $field . "`=\"" . $value . "\"" . " "; 1934 } else { 1935 $where .= " `" . $field . "`=\"" . $value . "\"" . " OR "; 1936 } 1937 } 1938 1939 } 1940 } 1941 1942 global $wpdb; 1943 $table_data_sql = "SELECT * 1944 FROM `" . $tablename . "`" . 1945 " WHERE " . $where . " 1946 LIMIT 100;"; 1947 1948 try { 1949 $filename = sprintf("%s-%s-SELECTION.csv", date("Y-m-d-H-i-s"), sanitize_title($tablename)); 1950 1951 $fp = fopen(TS_INF_COMFORT_DB_UPLOAD_DIR . $filename, 'w'); 1952 1953 $table_data = $wpdb->get_results($table_data_sql, ARRAY_A); 1954 1955 if(is_array($table_data)) 1956 { 1957 $dataset_total = count($table_data); 1958 1959 if($dataset_total > 0) 1960 { 1961 $table_entry_counter = 0; 1962 foreach($table_data as $dataset) 1963 { 1964 $insert = array_values($dataset); 1965 1966 $write_response = fputcsv($fp, $insert); 1967 1968 if($write_response === false) 1969 { 1970 // error and break? 1971 } 1972 1973 $table_entry_counter++; 1974 1975 $state = json_encode(array('done' => $table_entry_counter, 'total' => $dataset_total, 'percent' => ($table_entry_counter / $dataset_total))); 1976 set_transient(self::$progress_hash_rows_to_csv, $state, HOUR_IN_SECONDS); 1977 } 1978 } 1979 } 1980 1981 fclose($fp); 1982 } catch(Exception $exception) 1983 { 1984 $state = json_encode(array('done' => 0, 'total' => 0, 'error' => $exception->getMessage())); 1985 set_transient(self::$progress_hash_rows_to_csv, $state, HOUR_IN_SECONDS); 1986 } 1987 1988 1989 1990 1991 1992 } 1993 1994 /** 1995 * Write table data to csv file 1996 * @param string $table tablename 1997 */ 1998 public static function export_table_to_csv($table) 1999 { 2000 if(file_exists(TS_INF_COMFORT_DB_UPLOAD_DIR) && is_writable(TS_INF_COMFORT_DB_UPLOAD_DIR)) { 2001 try { 2002 $filename = sprintf("%s-%s.csv", date("Y-m-d-H-i-s"), sanitize_title($table)); 2003 $fp = fopen(TS_INF_COMFORT_DB_UPLOAD_DIR . $filename, 'w'); 2004 2005 global $wpdb; 2006 $table_data_sql = sprintf("SELECT * FROM `%s` LIMIT 5000;", $table); 2007 $table_data = $wpdb->get_results($table_data_sql, ARRAY_A); 2008 2009 if(is_array($table_data)) 2010 { 2011 $dataset_total = count($table_data); 2012 2013 if($dataset_total > 0) 2014 { 2015 $table_entry_counter = 0; 2016 foreach($table_data as $dataset) 2017 { 2018 $insert = array_values($dataset); 2019 2020 $write_response = fputcsv($fp, $insert); 2021 2022 if($write_response === false) 2023 { 2024 // error and break? 2025 } 2026 2027 $table_entry_counter++; 2028 2029 $state = json_encode(array('done' => $table_entry_counter, 'total' => $dataset_total, 'percent' => ($table_entry_counter / $dataset_total))); 2030 set_transient(self::$progress_hash_table_to_csv[$table], $state, HOUR_IN_SECONDS); 2031 } 2032 } 2033 } 2034 2035 fclose($fp); 2036 } catch(Exception $exception) 2037 { 2038 $state = json_encode(array('done' => 0, 'total' => 0, 'error' => $exception->getMessage())); 2039 set_transient(self::$progress_hash_table_to_csv[$table], $state, HOUR_IN_SECONDS); 2040 } 2041 2042 } else { 2043 $state = json_encode(array('done' => 0, 'total' => 0, 'error' => __('Upload Directory not exists', 'tsinf_comfortdb_plugin_textdomain'))); 2044 set_transient(self::$progress_hash_table_to_csv[$table], $state, HOUR_IN_SECONDS); 2045 } 2046 } 1713 2047 } 1714 2048 ?> -
ts-comfort-database/trunk/css/main.css
r2337892 r2495997 31 31 padding: 4px 5px 5px 5px; 32 32 text-align: center; 33 } 34 35 progress.tsinf-progress-bar 36 { 37 -webkit-appearance: none; 38 appearance: none; 39 display: block; 40 width: 100%; 41 } 42 43 progress.tsinf-progress-bar::-webkit-progress-bar 44 { 45 background-color: #e5e5e5; 46 } 47 48 progress.tsinf-progress-bar::-webkit-progress-value 49 { 50 background-color: #006799; 51 } 52 53 .tsinf_comfort_database_progress_success 54 { 55 color: green; 56 font-weight: 700; 57 } 58 59 .tsinf_comfort_database_progress_error 60 { 61 color: #ff0000; 62 font-weight: 700; 33 63 } 34 64 -
ts-comfort-database/trunk/css/overview.css
r2173469 r2495997 6 6 padding: 15px; 7 7 width: calc(100% - 20px); 8 } 9 10 #tsinf_comfortdb_table_overview tr td .tsinf-progress-bar 11 { 12 display: inline-block; 13 height: 15px; 14 margin: 10px 0 15px 0; 8 15 } 9 16 … … 103 110 } 104 111 112 #tsinf_comfortdb_table_overview .tsinf_comfortdb_table_overview_row .tsinf_comfortdb_options .export_to_csv 113 { 114 color: #0073aa; 115 cursor: pointer; 116 } 117 118 #tsinf_comfortdb_table_overview .tsinf_comfortdb_table_overview_row .tsinf_comfortdb_options .export_to_csv:hover, 119 #tsinf_comfortdb_table_overview .tsinf_comfortdb_table_overview_row .tsinf_comfortdb_options .export_to_csv:active 120 { 121 color: #006799; 122 } 105 123 106 124 125 -
ts-comfort-database/trunk/css/table.css
r2270176 r2495997 92 92 .tsinf_comfortdb_toolbar.tabledata #select_action 93 93 { 94 min-width: 180px;94 min-width: 200px; 95 95 } 96 96 … … 259 259 } 260 260 261 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table thead .tsinf_cdb_progress_row th 262 { 263 background: white; 264 padding: 25px 15px; 265 } 266 267 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table thead .tsinf_cdb_progress_row th progress 268 { 269 max-width: 500px; 270 width: 100%; 271 } 272 261 273 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table 262 274 { … … 271 283 font-size: 16px; 272 284 padding: 15px; 285 position: relative; 286 } 287 288 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr td:not(.cell_checkbox):not(.cell_link) 289 { 290 padding-right: 20px; 291 } 292 293 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenubutton 294 { 295 background: url(../images/menu.svg) no-repeat transparent center center; 296 background-size: 15px 15px; 297 bottom: 0; 298 content: ""; 299 cursor: pointer; 300 display: none; 301 height: 15px; 302 margin: auto; 303 position: absolute; 304 right: 0; 305 top: 0; 306 width: 15px; 307 } 308 309 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenu_container 310 { 311 background: white; 312 border-bottom: 3px solid #444; 313 bottom: 0; 314 315 -webkit-box-shadow: 0px 0px 9px 3px rgb(41 41 41 / 25%); 316 -moz-box-shadow: 0px 0px 9px 3px rgba(41,41,41,.25); 317 box-shadow: 0px 0px 9px 3px rgb(41 41 41 / 25%); 318 319 box-sizing: border-box; 320 display: none; 321 height: 205px; 322 margin: auto; 323 position: absolute; 324 right: 0; 325 top: 0; 326 z-index: 9; 327 } 328 329 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenu_container .multiplestate_header 330 { 331 box-sizing: border-box; 332 color: #444; 333 display: block; 334 height: 41px; 335 padding: 10px 30px 10px 18px; 336 position: relative; 337 } 338 339 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenu_container .multiplestate_header .header_text 340 { 341 display: block; 342 font-weight: bold; 343 text-align: left; 344 } 345 346 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenu_container .multiplestate_header .menu_close 347 { 348 cursor: pointer; 349 position: absolute; 350 right: 5px; 351 top: 7px; 352 } 353 354 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td .tcellmenu_container .tcellmenu_option 355 { 356 align-items: center; 357 border-left: 1px solid #dedede; 358 border-right: 1px solid #dedede; 359 border-top: 1px solid #dedede; 360 box-sizing: border-box; 361 cursor: pointer; 362 display: flex; 363 flex-wrap: wrap; 364 justify-content: space-between; 365 min-height: 40px; 366 padding: 10px 30px 10px 18px; 367 width: 220px; 368 z-index: 0; 369 } 370 371 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:not(.prepared_to_delete) td:hover .tcellmenubutton 372 { 373 display: block; 273 374 } 274 375 275 376 .tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tbody tr:nth-child(odd) td 276 377 { 277 background: #e 5e5e5;378 background: #eee; 278 379 } 279 380 … … 311 412 } 312 413 414 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper 415 { 416 min-height: 300px; 417 position: relative; 418 } 419 420 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay 421 { 422 align-items: center; 423 background: rgba(0,0,0,0.8); 424 bottom: 0; 425 box-sizing: border-box; 426 display: flex; 427 justify-content: center; 428 left: 0; 429 padding: 40px; 430 position: absolute; 431 right: 0; 432 top: 0; 433 width: 100%; 434 z-index: 9; 435 } 436 437 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner 438 { 439 background: white; 440 height: 95%; 441 overflow-y: scroll; 442 padding: 75px 40px 40px 40px; 443 position: relative; 444 width: 95%; 445 } 446 447 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner .tsinf_ovl_toolbar 448 { 449 align-items: center; 450 background: #eee; 451 box-sizing: border-box; 452 display: flex; 453 height: 50px; 454 left: 0; 455 padding: 0 30px; 456 position: absolute; 457 top: 0; 458 width: 100%; 459 } 460 461 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner .tsinf_ovl_toolbar .tsinf_ovl_toolbar_item 462 { 463 color: #0073aa; 464 cursor: pointer; 465 font-weight: bold; 466 } 467 468 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner .tsinf_ovl_toolbar .tsinf_close_ovl 469 { 470 align-items: center; 471 bottom: 0; 472 cursor: pointer; 473 display: flex; 474 margin: auto; 475 position: absolute; 476 right: 15px; 477 top: 0; 478 } 479 480 #wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner textarea 481 { 482 min-height: 100%; 483 width: 100%; 484 } 485 486 487 488 -
ts-comfort-database/trunk/js/editform.js
r2270176 r2495997 3 3 if(jQuery(this).hasClass("locked")) 4 4 { 5 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field"). removeAttr("readonly");5 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field").prop("readonly", false); 6 6 jQuery(this).removeClass("locked"); 7 7 jQuery(this).addClass("unlocked"); … … 9 9 jQuery(this).text(button_text); 10 10 } else { 11 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field"). attr("readonly", "readonly");11 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field").prop("readonly", true); 12 12 jQuery(this).removeClass("unlocked"); 13 13 jQuery(this).addClass("locked"); … … 21 21 if(jQuery(this).is(":checked")) 22 22 { 23 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field"). attr("disabled", "disabled");23 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field").prop("disabled", true); 24 24 } else { 25 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field"). removeAttr("disabled");25 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field").prop("disabled", false); 26 26 jQuery(this).closest(".tsinf_comfortdb_plugin_edit_dataset_row").find(".tsinf_comfortdb_plugin_edit_dataset_edit_field").focus(); 27 27 } -
ts-comfort-database/trunk/js/global_search.js
r2173469 r2495997 53 53 54 54 button_load_more.addClass("tsinf_loading_button"); 55 button_load_more. attr("disabled", "disabled");55 button_load_more.prop("disabled", true); 56 56 57 57 jQuery.post(ajaxurl, data, function(response) { … … 79 79 80 80 button_load_more.removeClass("tsinf_loading_button"); 81 button_load_more. removeAttr("disabled");81 button_load_more.prop("disabled", false); 82 82 }); 83 83 -
ts-comfort-database/trunk/js/overview.js
r2173469 r2495997 1 var tsinf_table_to_csv_refresh_progress_timer; 2 function tsinf_table_to_csv_refresh_progress(target_progress) 3 { 4 var tablename = target_progress.closest(".tsinf_comfortdb_table_overview_row").data("table-name"); 5 table_to_csv_hash = TSINF_COMFORT_OVERVIEW_JS.progress_hash_table_to_csv[tablename]; 6 7 jQuery.ajax({ 8 url: TSINF_COMFORT_OVERVIEW_JS.checkerurl + "?hash=" + table_to_csv_hash, 9 success:function(data){ 10 try { 11 var percent_total_val = (data.percent * 100); 12 var percent_total = percent_total_val.toFixed(2) + "%"; 13 target_progress.prop("value", data.percent); 14 target_progress.text(percent_total); 15 16 if (data.percent >= 1 || data.hasOwnProperty('error')) { 17 window.clearInterval(tsinf_table_to_csv_refresh_progress_timer); 18 19 var message_target = target_progress.closest("tr").find(".export_to_csv_wrap"); 20 if(data.hasOwnProperty('error')) 21 { 22 message_target.html('<div class="tsinf_comfort_database_progress_error"><small>' + data.error + '</small></div>'); 23 } else { 24 message_target.html('<div class="tsinf_comfort_database_progress_success"><small>' + TSINF_COMFORT_OVERVIEW_JS.export_finished + '<a href="' + TSINF_COMFORT_OVERVIEW_JS.filemanager_url + '">' + TSINF_COMFORT_OVERVIEW_JS.filemanager_name + '</small></a></div>'); 25 } 26 27 28 } 29 30 } catch(e) 31 { 32 window.clearInterval(tsinf_table_to_csv_refresh_progress_timer); 33 console.log(e); 34 } 35 } 36 }); 37 } 38 1 39 jQuery(document).ready(function() { 2 40 var table = jQuery("#tsinf_comfortdb_table_overview"); … … 29 67 30 68 }); 69 } 31 70 32 } 71 jQuery("#tsinf_comfortdb_table_overview .tsinf_comfortdb_table_overview_row .tsinf_comfortdb_options .export_to_csv").click(function() { 72 var current_button = jQuery(this); 73 var current_row = current_button.closest("tr"); 74 var table = current_row.data("table-name"); 75 var progressbar = current_row.find(".tsinf_comfortdb_options .export-complete-table-to-csv"); 76 77 current_button.fadeOut(); 78 progressbar.fadeIn(); 79 80 var data = { 81 'action': 'export_table_to_csv', 82 'table': table, 83 'security': TSINF_COMFORT_OVERVIEW_JS.nonce 84 }; 85 86 jQuery.post(ajaxurl, data, function(response) { 87 }); 88 89 tsinf_table_to_csv_refresh_progress_timer = window.setInterval(tsinf_table_to_csv_refresh_progress, 500, progressbar); 90 91 }); 33 92 34 93 }); -
ts-comfort-database/trunk/js/table.js
r1758476 r2495997 1 var tsinf_rows_to_csv_refresh_progress_timer; 2 function tsinf_rows_to_csv_refresh_progress(target_progress) 3 { 4 jQuery.ajax({ 5 url: TSINF_COMFORT_DB_TABLE_JS.checkerurl + "?hash=" + TSINF_COMFORT_DB_TABLE_JS.progress_hash_rows_to_csv, 6 success:function(data){ 7 try { 8 var percent_total_val = (data.percent * 100); 9 var percent_total = percent_total_val.toFixed(2) + "%"; 10 target_progress.prop("value", data.percent); 11 target_progress.text(percent_total); 12 13 if (data.percent >= 1 || data.hasOwnProperty('error')) { 14 window.clearInterval(tsinf_rows_to_csv_refresh_progress_timer); 15 16 var message_target = target_progress.closest(".tsinf_cdb_progress_row").find("th"); 17 if(data.hasOwnProperty('error')) 18 { 19 message_target.html('<div class="tsinf_comfort_database_progress_error" style="text-align: left;">' + data.error + '</div>'); 20 } else { 21 message_target.html('<div class="tsinf_comfort_database_progress_success" style="text-align: left;">' + TSINF_COMFORT_DB_TABLE_JS.export_finished + '<a href="' + TSINF_COMFORT_DB_TABLE_JS.filemanager_url + '">' + TSINF_COMFORT_DB_TABLE_JS.filemanager_name + '</a></div>'); 22 } 23 24 25 } 26 27 } catch(e) 28 { 29 window.clearInterval(tsinf_rows_to_csv_refresh_progress_timer); 30 console.log(e); 31 } 32 } 33 }); 34 } 35 1 36 jQuery(document).ready(function(){ 2 37 jQuery(".row_select_all").click(function(){ … … 4 39 if(rows.length > 0) 5 40 { 6 41 if(jQuery(this).is(":checked")) 7 42 { 8 rows. attr("checked", "checked");43 rows.prop("checked", true); 9 44 } else { 10 rows. removeAttr("checked");45 rows.prop("checked", false); 11 46 } 12 47 } … … 184 219 } 185 220 }); 186 187 jQuery("#tsinf_comfortdb_table_header_elements .tsinf_comfort_db_header_mobile_switch .arrow-up").click(function(){ 221 222 jQuery(".tsinf_comfortdb_toolbar.tabledata .tsinf_select_menu#select_action .tsinf_select_menu_option.export_csv").click(function() { 223 var current_option = jQuery(this); 224 225 var dropdown = current_option.closest(".tsinf_select_menu_options_wrap"); 226 dropdown.hide(); 227 228 var selected_rows = jQuery(".row_select:checked"); 229 230 if(selected_rows !== undefined && selected_rows.length > 0) 231 { 232 var selected_row_ids = []; 233 234 selected_rows.each(function(){ 235 selected_row_ids.push(jQuery(this).val()); 236 }); 237 238 var table_ref = jQuery(".tsinf_comfortdb_table"); 239 var table_head_ref = table_ref.find("thead"); 240 241 var tablename = table_ref.data("tablename"); 242 var colcount = table_ref.data("colcount"); 243 // include checkbox and edit link columns 244 var colcount_total = colcount + 2; 245 var auth = current_option.data("auth"); 246 247 var existing_progress_row = table_head_ref.find(".tsinf_cdb_progress_row"); 248 if(existing_progress_row !== undefined && existing_progress_row.length > 0) 249 { 250 existing_progress_row.remove(); 251 } 252 253 table_head_ref.append('<tr class="tsinf_cdb_progress_row"><th colspan="' + colcount_total + '"><progress val="0.0" max="1" class="tsinf-progress-bar tsinf-export-to-csv-progress-bar"></progress></th></tr>'); 254 255 var progressbar = table_head_ref.find(".tsinf_cdb_progress_row .tsinf-export-to-csv-progress-bar"); 256 257 var data = { 258 'action': 'export_rows_to_csv', 259 'rows': selected_row_ids, 260 'table': tablename, 261 'security': auth 262 }; 263 264 jQuery.post(ajaxurl, data, function(response) { 265 }); 266 267 tsinf_rows_to_csv_refresh_progress_timer = window.setInterval(tsinf_rows_to_csv_refresh_progress, 500, progressbar); 268 } 269 270 }); 271 272 273 jQuery("#tsinf_comfortdb_table_header_elements .tsinf_comfort_db_header_mobile_switch .arrow-up").click(function() { 188 274 jQuery('html,body').stop(true,false).animate({ scrollTop: 0 }, 'slow'); 189 275 }); 276 277 jQuery(".tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tr td .tcellmenubutton").click(function() { 278 var all_menus = jQuery(".tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tr td .tcellmenu_container"); 279 var parent_cell = jQuery(this).closest("td"); 280 var related_menu = parent_cell.find(".tcellmenu_container"); 281 all_menus.hide(); 282 related_menu.show(); 283 }); 284 285 jQuery(".tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tr td .tcellmenu_container .menu_close").click(function() { 286 var current_menu = jQuery(this).closest(".tcellmenu_container"); 287 current_menu.hide(); 288 }); 289 290 jQuery(".tsinf_comfortdb_table_data_wrapper .tsinf_comfortdb_table tr td .tcellmenu_container .tcellmenu_option").click(function() { 291 var option = jQuery(this); 292 var menu = option.closest(".tcellmenu_container"); 293 var type = option.data("val"); 294 var textfield = option.closest("td").find(".dbcontentcodewrap"); 295 296 menu.hide(); 297 298 if(type === 'copy') 299 { 300 textfield.select(); 301 document.execCommand("copy"); 302 } else { 303 304 var data = { 305 action: 'table_context_menu', 306 type: type, 307 content: textfield.val(), 308 security: TSINF_COMFORT_DB_TABLE_JS.nonce_cell_menu 309 } 310 311 jQuery.post(ajaxurl, data, function(response) { 312 var table_data_wrapper = jQuery("#wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper"); 313 var existing_overlay = table_data_wrapper.find("#tsinf_comfortdb_overlay"); 314 if(existing_overlay !== undefined && existing_overlay.length > 0) 315 { 316 existing_overlay.remove(); 317 } 318 319 table_data_wrapper.append('<div id="tsinf_comfortdb_overlay"><div id="tsinf_comfortdb_overlay_inner"><div class="tsinf_ovl_toolbar"><span class="tsinf_ovl_toolbar_item copy_to_clipboard">' + TSINF_COMFORT_DB_TABLE_JS.copy_to_clipboard + '</span><span class="tsinf_close_ovl"><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></span></div><textarea readonly="readonly">' + response + '</textarea></div></div>'); 320 321 var close = jQuery("#wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner .tsinf_ovl_toolbar .tsinf_close_ovl"); 322 close.click(function() { 323 var current_overlay = jQuery(this).closest("#tsinf_comfortdb_overlay").remove(); 324 current_overlay.remove(); 325 }); 326 327 var copy_to_clipboard = jQuery("#wpbody #wpbody-content .tsinf_comfortdb_table_data_wrapper #tsinf_comfortdb_overlay #tsinf_comfortdb_overlay_inner .tsinf_ovl_toolbar .tsinf_ovl_toolbar_item.copy_to_clipboard"); 328 copy_to_clipboard.click(function() { 329 var textfield = jQuery(this).closest("#tsinf_comfortdb_overlay").find("textarea"); 330 textfield.select(); 331 document.execCommand("copy"); 332 }); 333 334 }); 335 336 } 337 338 339 340 }); 190 341 191 342 jQuery(window).scroll(function() { -
ts-comfort-database/trunk/languages/tsinf_comfortdb_plugin_textdomain-de_DE.po
r2337892 r2495997 2 2 msgstr "" 3 3 "Project-Id-Version: TS Comfort Database\n" 4 "POT-Creation-Date: 202 0-07-09 11:02+0200\n"5 "PO-Revision-Date: 202 0-07-09 11:03+0200\n"4 "POT-Creation-Date: 2021-03-15 12:35+0100\n" 5 "PO-Revision-Date: 2021-03-15 12:38+0100\n" 6 6 "Last-Translator: \n" 7 7 "Language-Team: \n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "X-Generator: Poedit 2. 3.1\n"12 "X-Generator: Poedit 2.4.2\n" 13 13 "X-Poedit-Basepath: ..\n" 14 14 "Plural-Forms: nplurals=2; plural=(n != 1);\n" … … 22 22 "X-Poedit-SearchPathExcluded-0: *.js\n" 23 23 24 #: classes/tsinf_comfort_db.class.php:91 classes/tsinf_comfort_db.class.php:397 25 #: classes/tsinf_comfort_db.class.php:474 24 #: classes/filemanager.class.php:220 25 msgid "Selected Elements:" 26 msgstr "Ausgewählte Elemente:" 27 28 #: classes/filemanager.class.php:222 29 msgid "Select Action" 30 msgstr "Aktion wählen" 31 32 #: classes/filemanager.class.php:223 33 msgid "ZIP selected files" 34 msgstr "Ausgewählte Dateien komprimieren (ZIP)" 35 36 #: classes/filemanager.class.php:224 37 msgid "Delete selected files" 38 msgstr "Ausgewählte Dateien löschen" 39 40 #: classes/filemanager.class.php:226 41 msgid "Go" 42 msgstr "Start" 43 44 #: classes/filemanager.class.php:257 45 msgid "Download" 46 msgstr "Download" 47 48 #: classes/tsinf_comfort_db.class.php:131 49 #: classes/tsinf_comfort_db.class.php:454 50 #: classes/tsinf_comfort_db.class.php:531 26 51 msgid "Primary Key" 27 52 msgstr "Primärschlüssel" 28 53 29 #: classes/tsinf_comfort_db.class.php: 9254 #: classes/tsinf_comfort_db.class.php:132 30 55 msgid "Foreign Key" 31 56 msgstr "Fremdschlüssel" 32 57 33 #: classes/tsinf_comfort_db.class.php: 9358 #: classes/tsinf_comfort_db.class.php:133 34 59 msgid "REFERENCES" 35 60 msgstr "VERWEIST AUF" 36 61 37 #: classes/tsinf_comfort_db.class.php:94 classes/tsinf_comfort_db.class.php:346 62 #: classes/tsinf_comfort_db.class.php:134 63 #: classes/tsinf_comfort_db.class.php:403 38 64 msgid "An error occured" 39 65 msgstr "Es ist ein Fehler aufgetreten" 40 66 41 #: classes/tsinf_comfort_db.class.php: 9567 #: classes/tsinf_comfort_db.class.php:135 42 68 msgid "Invalid Post Data" 43 69 msgstr "Übertragene Daten ungültig" 44 70 45 #: classes/tsinf_comfort_db.class.php: 9671 #: classes/tsinf_comfort_db.class.php:136 46 72 msgid "Invalid Row Data" 47 73 msgstr "Zeilendaten ungültig" 48 74 49 #: classes/tsinf_comfort_db.class.php: 9775 #: classes/tsinf_comfort_db.class.php:137 50 76 msgid "Query Error" 51 77 msgstr "Abfrage Fehler" 52 78 53 #: classes/tsinf_comfort_db.class.php: 9879 #: classes/tsinf_comfort_db.class.php:138 54 80 msgid "Server Response not readable" 55 81 msgstr "Antwort des Servers ist nicht lesbar" 56 82 57 #: classes/tsinf_comfort_db.class.php:1 0283 #: classes/tsinf_comfort_db.class.php:143 58 84 msgid "Do you really want to delete the selected rows?" 59 85 msgstr "Die ausgewählten Datensätze wirklich löschen?" 60 86 61 #: classes/tsinf_comfort_db.class.php:112 62 #: classes/tsinf_comfort_db.class.php:1006 63 #: classes/tsinf_comfort_db.class.php:1014 87 #: classes/tsinf_comfort_db.class.php:144 88 #: classes/tsinf_comfort_db.class.php:1051 89 msgid "Copy to clipboard" 90 msgstr "In die Zwischenablage kopieren" 91 92 #: classes/tsinf_comfort_db.class.php:147 93 #: classes/tsinf_comfort_db.class.php:157 94 #: classes/tsinf_comfort_db_exporter.php:132 95 msgid "Export ist finished. Go to File Manager and download your file: " 96 msgstr "" 97 "Der Export ist abgeschlossen. Gehen Sie zum Datei-Manager und laden Sie Ihre " 98 "Datei herunter: " 99 100 #: classes/tsinf_comfort_db.class.php:148 101 #: classes/tsinf_comfort_db.class.php:158 102 #: classes/tsinf_comfort_db_exporter.php:133 103 #: classes/tsinf_comfort_db_exporter.php:157 104 #: classes/tsinf_comfort_db_exporter.php:158 105 #: classes/tsinf_comfort_db_exporter.php:315 106 msgid "File Manager" 107 msgstr "Dateimanager" 108 109 #: classes/tsinf_comfort_db.class.php:169 64 110 msgid "Comfort DB" 65 111 msgstr "Comfort DB" 66 112 67 #: classes/tsinf_comfort_db.class.php:1 13113 #: classes/tsinf_comfort_db.class.php:170 68 114 msgid "Database" 69 115 msgstr "Datenbank" 70 116 71 #: classes/tsinf_comfort_db.class.php:1 2272 #: classes/tsinf_comfort_db.class.php:2 19117 #: classes/tsinf_comfort_db.class.php:179 118 #: classes/tsinf_comfort_db.class.php:276 73 119 msgid "Comfort DB Settings" 74 120 msgstr "Comfort DB Einstellungen" 75 121 76 #: classes/tsinf_comfort_db.class.php:1 23122 #: classes/tsinf_comfort_db.class.php:180 77 123 msgid "Settings" 78 124 msgstr "Einstellungen" 79 125 80 #: classes/tsinf_comfort_db.class.php:1 3681 #: classes/tsinf_comfort_db.class.php:2 0482 #: classes/tsinf_comfort_db.class.php:2 3283 #: classes/tsinf_comfort_db.class.php: 24484 #: classes/tsinf_comfort_db.class.php: 27885 #: classes/tsinf_comfort_db.class.php: 29486 #: classes/tsinf_comfort_db.class.php:7 3887 #: classes/tsinf_comfort_db.class.php: 99988 #: classes/tsinf_comfort_db.class.php:1 06189 #: classes/tsinf_comfort_db.class.php:1 08290 #: classes/tsinf_comfort_db.class.php:1 14291 #: classes/tsinf_comfort_db.class.php:1 215126 #: classes/tsinf_comfort_db.class.php:193 127 #: classes/tsinf_comfort_db.class.php:261 128 #: classes/tsinf_comfort_db.class.php:289 129 #: classes/tsinf_comfort_db.class.php:301 130 #: classes/tsinf_comfort_db.class.php:335 131 #: classes/tsinf_comfort_db.class.php:351 132 #: classes/tsinf_comfort_db.class.php:799 133 #: classes/tsinf_comfort_db.class.php:1090 134 #: classes/tsinf_comfort_db.class.php:1163 135 #: classes/tsinf_comfort_db.class.php:1184 136 #: classes/tsinf_comfort_db.class.php:1244 137 #: classes/tsinf_comfort_db.class.php:1317 92 138 #: classes/tsinf_comfort_post_search.php:227 93 139 msgid "You do not have sufficient permissions to access this page." 94 140 msgstr "Sie haben keine Berechtigung auf diese Seite zuzugreifen." 95 141 96 #: classes/tsinf_comfort_db.class.php: 191142 #: classes/tsinf_comfort_db.class.php:248 97 143 msgid "Loading Symbol made with loading.io" 98 144 msgstr "Loading Symbol wurde erstellt mit loading.io" 99 145 100 #: classes/tsinf_comfort_db.class.php:2 20146 #: classes/tsinf_comfort_db.class.php:277 101 147 msgid "Rows per Site (Limit)" 102 148 msgstr "Datensätze pro Seite (Limit)" 103 149 104 #: classes/tsinf_comfort_db.class.php:2 21150 #: classes/tsinf_comfort_db.class.php:278 105 151 msgid "Show Adminbar Menu" 106 152 msgstr "Adminbar-Menü anzeigen" 107 153 108 #: classes/tsinf_comfort_db.class.php:2 35154 #: classes/tsinf_comfort_db.class.php:292 109 155 msgid "Main Settings" 110 156 msgstr "Allgemeine Einstellungen" 111 157 112 #: classes/tsinf_comfort_db.class.php: 299158 #: classes/tsinf_comfort_db.class.php:356 113 159 msgid "New Dataset" 114 160 msgstr "Neuer Datensatz" 115 161 116 #: classes/tsinf_comfort_db.class.php:3 02162 #: classes/tsinf_comfort_db.class.php:359 117 163 msgid "Edit Dataset" 118 164 msgstr "Datensatz bearbeiten" 119 165 120 #: classes/tsinf_comfort_db.class.php:3 05166 #: classes/tsinf_comfort_db.class.php:362 121 167 msgid "Search Table" 122 168 msgstr "Tabelle durchsuchen" 123 169 124 #: classes/tsinf_comfort_db.class.php:3 10170 #: classes/tsinf_comfort_db.class.php:367 125 171 msgid "Back to Table" 126 172 msgstr "Zurück zur Tabelle" 127 173 128 #: classes/tsinf_comfort_db.class.php:3 41174 #: classes/tsinf_comfort_db.class.php:398 129 175 msgid "Affected Rows" 130 176 msgstr "Betroffene Reihen" 131 177 132 #: classes/tsinf_comfort_db.class.php: 355133 #: classes/tsinf_comfort_db.class.php: 447178 #: classes/tsinf_comfort_db.class.php:412 179 #: classes/tsinf_comfort_db.class.php:504 134 180 msgid "Save Data" 135 181 msgstr "Daten speichern" 136 182 137 #: classes/tsinf_comfort_db.class.php: 396183 #: classes/tsinf_comfort_db.class.php:453 138 184 msgid "Unlock Key Field" 139 185 msgstr "Schlüsselfeld entsperren" 140 186 141 #: classes/tsinf_comfort_db.class.php: 396187 #: classes/tsinf_comfort_db.class.php:453 142 188 msgid "Lock Key Field" 143 189 msgstr "Schlüsselfeld sperren" 144 190 145 #: classes/tsinf_comfort_db.class.php:4 03146 #: classes/tsinf_comfort_db.class.php: 482191 #: classes/tsinf_comfort_db.class.php:460 192 #: classes/tsinf_comfort_db.class.php:539 147 193 msgid "Auto Increment Column" 148 194 msgstr "Auto Inkrement Spalte" 149 195 150 #: classes/tsinf_comfort_db.class.php:4 10151 #: classes/tsinf_comfort_db.class.php: 489196 #: classes/tsinf_comfort_db.class.php:467 197 #: classes/tsinf_comfort_db.class.php:546 152 198 msgid "NULL possible" 153 199 msgstr "NULL möglich" 154 200 155 #: classes/tsinf_comfort_db.class.php:4 11156 #: classes/tsinf_comfort_db.class.php:4 17157 #: classes/tsinf_comfort_db.class.php: 490201 #: classes/tsinf_comfort_db.class.php:468 202 #: classes/tsinf_comfort_db.class.php:474 203 #: classes/tsinf_comfort_db.class.php:547 158 204 msgid "Value is set to NULL" 159 205 msgstr "Wert ist auf NULL gesetzt" 160 206 161 #: classes/tsinf_comfort_db.class.php:4 42207 #: classes/tsinf_comfort_db.class.php:499 162 208 msgid "Search Data" 163 209 msgstr "Suchen" 164 210 165 #: classes/tsinf_comfort_db.class.php: 481211 #: classes/tsinf_comfort_db.class.php:538 166 212 msgid "Unlock Auto Increment Field" 167 213 msgstr "Auto Inkrement Spalte entsperren" 168 214 169 #: classes/tsinf_comfort_db.class.php: 481215 #: classes/tsinf_comfort_db.class.php:538 170 216 msgid "Lock Auto Increment Field" 171 217 msgstr "Auto Inkrement Spalte sperren" 172 218 173 #: classes/tsinf_comfort_db.class.php: 793174 #: classes/tsinf_comfort_db.class.php:1 090219 #: classes/tsinf_comfort_db.class.php:855 220 #: classes/tsinf_comfort_db.class.php:1192 175 221 msgid "Back to Table-Overview" 176 222 msgstr "Zurück zur Tabellen Übersicht" 177 223 178 #: classes/tsinf_comfort_db.class.php: 797224 #: classes/tsinf_comfort_db.class.php:859 179 225 msgid "Back to Search Form" 180 226 msgstr "Zurück zum Suchformular" 181 227 182 #: classes/tsinf_comfort_db.class.php:8 02228 #: classes/tsinf_comfort_db.class.php:864 183 229 msgid "Table" 184 230 msgstr "Tabelle" 185 231 186 #: classes/tsinf_comfort_db.class.php:8 05232 #: classes/tsinf_comfort_db.class.php:867 187 233 #, php-format 188 234 msgid "%d Entries" 189 235 msgstr "%d Einträge" 190 236 191 #: classes/tsinf_comfort_db.class.php:8 07237 #: classes/tsinf_comfort_db.class.php:869 192 238 #, php-format 193 239 msgid "%d Rows per Page" 194 240 msgstr "%d Datensätze pro Seite" 195 241 196 #: classes/tsinf_comfort_db.class.php:8 14242 #: classes/tsinf_comfort_db.class.php:876 197 243 msgid "No identifier in this table found - Read only mode" 198 244 msgstr "Diese Tabelle enthält keine eindeutige Spalte - Nur-Lese-Modus" 199 245 200 #: classes/tsinf_comfort_db.class.php:8 17246 #: classes/tsinf_comfort_db.class.php:879 201 247 msgid "Turn columns off and on in current view" 202 248 msgstr "Spalten in dieser Ansicht ein-/ausblenden" 203 249 204 #: classes/tsinf_comfort_db.class.php:8 17250 #: classes/tsinf_comfort_db.class.php:879 205 251 msgid "Columns" 206 252 msgstr "Spalten" 207 253 208 #: classes/tsinf_comfort_db.class.php:8 35254 #: classes/tsinf_comfort_db.class.php:897 209 255 msgid "Select an action" 210 256 msgstr "Aktion wählen" 211 257 212 #: classes/tsinf_comfort_db.class.php:8 35258 #: classes/tsinf_comfort_db.class.php:897 213 259 msgid "Actions" 214 260 msgstr "Aktionen" 215 261 216 #: classes/tsinf_comfort_db.class.php:840 217 msgid "Delete" 218 msgstr "Löschen" 219 220 #: classes/tsinf_comfort_db.class.php:845 262 #: classes/tsinf_comfort_db.class.php:902 263 msgid "Delete selected rows" 264 msgstr "Ausgewählte Zeilen löschen" 265 266 #: classes/tsinf_comfort_db.class.php:903 267 msgid "Export selected rows to CSV" 268 msgstr "Ausgewählte Zeilen in CSV" 269 270 #: classes/tsinf_comfort_db.class.php:908 221 271 msgid "Switch to another page" 222 272 msgstr "Seite wechseln" 223 273 224 #: classes/tsinf_comfort_db.class.php: 845274 #: classes/tsinf_comfort_db.class.php:908 225 275 #, php-format 226 276 msgid "Page: %s" 227 277 msgstr "Seite: %s" 228 278 229 #: classes/tsinf_comfort_db.class.php: 850279 #: classes/tsinf_comfort_db.class.php:913 230 280 msgid "Page" 231 281 msgstr "Seite" 232 282 233 #: classes/tsinf_comfort_db.class.php: 856283 #: classes/tsinf_comfort_db.class.php:919 234 284 msgid "Switch to another table" 235 285 msgstr "Tabelle wechseln" 236 286 237 #: classes/tsinf_comfort_db.class.php: 856238 #: classes/tsinf_comfort_db.class.php:1 691287 #: classes/tsinf_comfort_db.class.php:919 288 #: classes/tsinf_comfort_db.class.php:1892 239 289 #, php-format 240 290 msgid "Table: %s" 241 291 msgstr "Tabelle: %s" 242 292 243 #: classes/tsinf_comfort_db.class.php: 874293 #: classes/tsinf_comfort_db.class.php:937 244 294 msgid "Create a new dataset in table" 245 295 msgstr "Neuen Datensatz für diese Tabelle erstellen" 246 296 247 #: classes/tsinf_comfort_db.class.php: 875297 #: classes/tsinf_comfort_db.class.php:938 248 298 msgid "Filter table content" 249 299 msgstr "Tabelleninhalt filtern" 250 300 251 #: classes/tsinf_comfort_db.class.php: 876301 #: classes/tsinf_comfort_db.class.php:939 252 302 #: classes/tsinf_comfort_post_search.php:244 253 303 msgid "Search" 254 304 msgstr "Suchen" 255 305 256 #: classes/tsinf_comfort_db.class.php: 952306 #: classes/tsinf_comfort_db.class.php:1016 257 307 msgid "Edit" 258 308 msgstr "Bearbeiten" 259 309 260 #: classes/tsinf_comfort_db.class.php:1018 310 #: classes/tsinf_comfort_db.class.php:1042 311 msgid "Cell-Options" 312 msgstr "Zell-Optionen" 313 314 #: classes/tsinf_comfort_db.class.php:1054 315 msgid "PHP: unserialize()" 316 msgstr "PHP: unserialize()" 317 318 #: classes/tsinf_comfort_db.class.php:1057 319 msgid "PHP: json_decode()" 320 msgstr "PHP: json_decode()" 321 322 #: classes/tsinf_comfort_db.class.php:1060 323 msgid "PHP: var_export()" 324 msgstr "PHP: var_export()" 325 326 #: classes/tsinf_comfort_db.class.php:1099 327 #: classes/tsinf_comfort_db.class.php:1107 328 msgid "TS Comfort DB" 329 msgstr "TS Comfort DB" 330 331 #: classes/tsinf_comfort_db.class.php:1111 261 332 #, php-format 262 333 msgid "" 263 334 "Name of your WordPress Database: %s (%s MB) - MySQL Version %s - PHP Version " 264 "%s "335 "%s - WordPress Version %s" 265 336 msgstr "" 266 "Name der WordPress Datenbank: %s (%s MB) - MySQL Version %s - PHP Version %s" 267 268 #: classes/tsinf_comfort_db.class.php:1029 269 #: classes/tsinf_comfort_db.class.php:1030 270 #: classes/tsinf_comfort_db.class.php:1106 337 "Name der WordPress Datenbank: %s (%s MB) - MySQL Version %s - PHP Version %s " 338 "- WordPress Version %s" 339 340 #: classes/tsinf_comfort_db.class.php:1122 341 #: classes/tsinf_comfort_db.class.php:1123 342 #: classes/tsinf_comfort_db.class.php:1208 271 343 msgid "Table Name" 272 344 msgstr "Tabellenname" 273 345 274 #: classes/tsinf_comfort_db.class.php:1 030346 #: classes/tsinf_comfort_db.class.php:1123 275 347 msgid "Filter" 276 348 msgstr "Filter" 277 349 278 #: classes/tsinf_comfort_db.class.php:1031 350 #: classes/tsinf_comfort_db.class.php:1125 351 #: classes/tsinf_comfort_db_exporter.php:184 279 352 msgid "Entries" 280 353 msgstr "Einträge" 281 354 282 #: classes/tsinf_comfort_db.class.php:1 032355 #: classes/tsinf_comfort_db.class.php:1126 283 356 msgid "Engine" 284 357 msgstr "Engine" 285 358 286 #: classes/tsinf_comfort_db.class.php:1033 359 #: classes/tsinf_comfort_db.class.php:1127 360 #: classes/tsinf_comfort_db_exporter.php:183 287 361 msgid "Size" 288 362 msgstr "Größe" 289 363 290 #: classes/tsinf_comfort_db.class.php:1068 291 #: classes/tsinf_comfort_db.class.php:1087 364 #: classes/tsinf_comfort_db.class.php:1139 365 msgid "CSV-Export" 366 msgstr "CSV-Export" 367 368 #: classes/tsinf_comfort_db.class.php:1170 369 #: classes/tsinf_comfort_db.class.php:1189 292 370 msgid "Full Text Search" 293 371 msgstr "Volltextsuche" 294 372 295 #: classes/tsinf_comfort_db.class.php:1 098373 #: classes/tsinf_comfort_db.class.php:1200 296 374 msgid "Search Results in following tables" 297 375 msgstr "Suchergebnisse in folgenden Tabellen" 298 376 299 #: classes/tsinf_comfort_db.class.php:1 107377 #: classes/tsinf_comfort_db.class.php:1209 300 378 msgid "Search Result Count" 301 379 msgstr "Ergebnisanzahl" 302 380 303 #: classes/tsinf_comfort_db.class.php:1 148381 #: classes/tsinf_comfort_db.class.php:1250 304 382 #, php-format 305 383 msgid "Full Text Search: %s in Table %s" 306 384 msgstr "Volltextsuche: %s in Tabelle %s" 307 385 308 #: classes/tsinf_comfort_db.class.php:1 155386 #: classes/tsinf_comfort_db.class.php:1257 309 387 msgid "Back to Overview" 310 388 msgstr "Zurück zur Übersicht" 311 389 312 #: classes/tsinf_comfort_db.class.php:1 270313 #: classes/tsinf_comfort_db.class.php:1 290390 #: classes/tsinf_comfort_db.class.php:1375 391 #: classes/tsinf_comfort_db.class.php:1395 314 392 msgid "Switch to previous page" 315 393 msgstr "Zur vorherigen Seite wechseln" 316 394 317 #: classes/tsinf_comfort_db.class.php:1 275318 #: classes/tsinf_comfort_db.class.php:1 293395 #: classes/tsinf_comfort_db.class.php:1380 396 #: classes/tsinf_comfort_db.class.php:1398 319 397 msgid "Switch to next page" 320 398 msgstr "Zur nächsten Seite wechseln" 321 399 322 #: classes/tsinf_comfort_db.class.php:1 673400 #: classes/tsinf_comfort_db.class.php:1874 323 401 msgid "Database Tables" 324 402 msgstr "Datenbank Tabellen" 325 403 326 #: classes/tsinf_comfort_db.class.php:1 677404 #: classes/tsinf_comfort_db.class.php:1878 327 405 msgid "Open your database tables directly" 328 406 msgstr "Datenbanktabellen direkt öffnen" 407 408 #: classes/tsinf_comfort_db.class.php:2043 409 #: classes/tsinf_comfort_db_exporter.php:605 410 msgid "Upload Directory not exists" 411 msgstr "Upload-Verzeichnis ist nicht vorhanden" 412 413 #: classes/tsinf_comfort_db_exporter.php:84 414 msgid "TS Comfort Database: Upload directory not exists!" 415 msgstr "TS Comfort Database: Upload-Verzeichnis nicht vorhanden!" 416 417 #: classes/tsinf_comfort_db_exporter.php:89 418 msgid "TS Comfort Database: Upload directory is not writable!" 419 msgstr "TS Comfort Database: Upload-Verzeichnis ist nicht beschreibbar!" 420 421 #: classes/tsinf_comfort_db_exporter.php:148 422 #: classes/tsinf_comfort_db_exporter.php:149 423 msgid "SQL Export BETA" 424 msgstr "SQL Export BETA" 425 426 #: classes/tsinf_comfort_db_exporter.php:171 427 #: classes/tsinf_comfort_db_exporter.php:311 428 msgid "You do not have the permission to call this page." 429 msgstr "Sie haben keine Berechtigung auf diese Seite zuzugreifen." 430 431 #: classes/tsinf_comfort_db_exporter.php:177 432 msgid "SQL Exporter BETA" 433 msgstr "Datenbank Explorer für WordPress" 434 435 #: classes/tsinf_comfort_db_exporter.php:182 436 msgid "Tables" 437 msgstr "Tabellen" 438 439 #: classes/tsinf_comfort_db_exporter.php:185 440 msgid "Structure" 441 msgstr "Struktur" 442 443 #: classes/tsinf_comfort_db_exporter.php:186 444 msgid "Data" 445 msgstr "Daten" 446 447 #: classes/tsinf_comfort_db_exporter.php:233 448 msgid "Options" 449 msgstr "Optionen" 450 451 #: classes/tsinf_comfort_db_exporter.php:240 452 msgid "Add CREATE DATABASE (Ignored on Split Export)" 453 msgstr "CREATE DATABASE hinzufügen (Ignoriert bei Split Export)" 454 455 #: classes/tsinf_comfort_db_exporter.php:248 456 msgid "Disable Foreign Key Checks" 457 msgstr "Deaktivieren von Fremdschlüsselprüfungen" 458 459 #: classes/tsinf_comfort_db_exporter.php:256 460 msgid "Summarize Script(s) in a TRANSACTION" 461 msgstr "Skripte in einer TRANSACTION zusammenfassen" 462 463 #: classes/tsinf_comfort_db_exporter.php:264 464 msgid "Create seperate files per table (Split Export)" 465 msgstr "Erstellen separater Dateien pro Tabelle (Split Export)" 466 467 #: classes/tsinf_comfort_db_exporter.php:299 468 msgid "Start Export" 469 msgstr "Export starten" 470 471 #: classes/tsinf_comfort_db_exporter.php:344 472 msgid "Exporting ..." 473 msgstr "Exportieren ..." 329 474 330 475 #: classes/tsinf_comfort_post_search.php:60 … … 448 593 msgstr "Mehr Ergebnisse laden" 449 594 450 #: plugin.php: 52595 #: plugin.php:61 451 596 msgid "" 452 597 "TS Comfort DB Message: Please be careful by using this plugin. If you work " … … 462 607 "arbeiten!" 463 608 464 #: plugin.php: 52609 #: plugin.php:61 465 610 msgid "I know the risk. Do not show this message again" 466 611 msgstr "Ich kenne das Risiko. Nachricht dauerhaft ausblenden" … … 487 632 msgstr "https://www.spiess-informatik.de" 488 633 634 #, fuzzy 635 #~| msgid "Database Explorer for WordPress" 636 #~ msgid "TS Database Exporter" 637 #~ msgstr "Datenbank Explorer für WordPress" 638 639 #~ msgid "Delete" 640 #~ msgstr "Löschen" 641 489 642 #~ msgid "http://comfortdb.spiess-informatik.de" 490 643 #~ msgstr "http://comfortdb.spiess-informatik.de" -
ts-comfort-database/trunk/plugin.php
r2486537 r2495997 7 7 Author: Tobias Spiess 8 8 Author URI: https://www.spiess-informatik.de 9 Version: 1.0.109 Version: 2.0.0 10 10 Text-Domain: tsinf_comfortdb_plugin_textdomain 11 11 Domain Path: /languages … … 32 32 define('TS_INF_COMFORT_DB_PATH', dirname(__FILE__)); 33 33 define('TS_INF_COMFORT_DB_MAIN_FILE', dirname(__FILE__) . '/plugin.php'); 34 35 if(!function_exists('get_home_path')) 36 { 37 require_once(ABSPATH . 'wp-admin/includes/file.php'); 38 } 39 40 define('TS_INF_COMFORT_DB_UPLOAD_DIR', sprintf("%swp-content/ts-plugins/ts-comfort-database/", get_home_path())); 41 define('TS_INF_TABLE_TO_CSV_NONCE', 'hsdfdh#op3403f-dGJkl345'); 42 34 43 35 44 /** … … 61 70 include dirname( __FILE__ ) . '/classes/columnmeta.class.php'; 62 71 include dirname( __FILE__ ) . '/classes/database.class.php'; 72 include dirname( __FILE__ ) . '/classes/filemanager.class.php'; 63 73 include dirname( __FILE__ ) . '/classes/tsinf_comfort_db.class.php'; 64 74 include dirname( __FILE__ ) . '/classes/tsinf_comfort_post_search.php'; 75 include dirname( __FILE__ ) . '/classes/tsinf_comfort_db_exporter.php'; 65 76 66 77 -
ts-comfort-database/trunk/readme.txt
r2486537 r2495997 2 2 Contributors: tsinf 3 3 Tags: database, sql, manager, query 4 Requires at least: 4.85 Tested up to: 5. 46 Stable Tag: 5. 47 Creation time: 8 Last updated time: 09.07.20204 Requires at least: 5.6 5 Tested up to: 5.7 6 Stable Tag: 5.6 7 Creation time: 04.11.2017 8 Last updated time: 12.03.2021 9 9 10 10 Database Manager for WordPress Database with all functions to need to administrate your current used database. … … 24 24 * Table Filter-Functionality 25 25 * Backend Post Search 26 * SQL Exporter 27 * CSV Exporter 28 * Unserialize Table-Cells 29 * JSON Decode Table-Cells 26 30 27 31 **Since Version 1.0.9 there is an Adminbar Menu, that you can activate in the options to quick access database tables.** … … 35 39 36 40 == Changelog == 41 *2.0.0 42 Add table cell context menu 43 Add SQL-Exporter 44 Add CSV-Exporter 45 Changes in JS to provide jQuery 3.x Support 46 37 47 *1.0.10 38 48 Fix errors in table search and table pagination
Note: See TracChangeset
for help on using the changeset viewer.