diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/templates/database/designer | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/templates/database/designer')
6 files changed, 1295 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/templates/database/designer/database_tables.twig b/srcs/phpmyadmin/templates/database/designer/database_tables.twig new file mode 100644 index 0000000..5453bb5 --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/database_tables.twig @@ -0,0 +1,121 @@ +{% for designerTable in tables %} + {% set i = loop.index0 %} + {% set t_n_url = designerTable.getDbTableString()|escape('url') %} + {% set db = designerTable.getDatabaseName() %} + {% set db_url = db|escape('url') %} + {% set t_n = designerTable.getDbTableString() %} + {% set table_name = designerTable.getTableName()|escape('html') %} + <input name="t_x[{{ t_n_url }}]" type="hidden" id="t_x_{{ t_n_url }}_" /> + <input name="t_y[{{ t_n_url }}]" type="hidden" id="t_y_{{ t_n_url }}_" /> + <input name="t_v[{{ t_n_url }}]" type="hidden" id="t_v_{{ t_n_url }}_" /> + <input name="t_h[{{ t_n_url }}]" type="hidden" id="t_h_{{ t_n_url }}_" /> + <table id="{{ t_n_url }}" + db_url="{{ designerTable.getDatabaseName()|escape('url') }}" + table_name_url="{{ designerTable.getTableName()|escape('url') }}" + cellpadding="0" + cellspacing="0" + class="designer_tab" + style="position:absolute; left: + {{- tab_pos[t_n] is defined ? tab_pos[t_n]['X'] : random(range(20, 700)) }}px; top: + {{- tab_pos[t_n] is defined ? tab_pos[t_n]['Y'] : random(range(20, 550)) }}px; display: + {{- tab_pos[t_n] is defined or display_page == -1 ? 'block' : 'none' }}; z-index: 1;"> <!--"--> + <thead> + <tr class="header"> + {% if has_query %} + <td class="select_all"> + <input class="select_all_1" + type="checkbox" + style="margin: 0;" + value="select_all_{{ t_n_url }}" + id="select_all_{{ i }}" + title="{% trans 'Select all' %}" + table_name="{{ table_name }}" + db_name="{{ db }}"> + </td> + {% endif %} + <td class="small_tab" + title="{% trans 'Show/hide columns' %}" + id="id_hide_tbody_{{ t_n_url }}" + table_name="{{ t_n_url }}">{{ tab_pos[t_n] is not defined or tab_pos[t_n]['V'] is not empty ? 'v' : '>' }}</td> + <td class="small_tab_pref small_tab_pref_1" + db="{{ designerTable.getDatabaseName() }}" + db_url="{{ designerTable.getDatabaseName()|escape('url') }}" + table_name="{{ designerTable.getTableName() }}" + table_name_url="{{ designerTable.getTableName()|escape('url') }}"> + <img src="{{ theme.getImgPath('designer/exec_small.png') }}" + title="{% trans 'See table structure' %}"> + </td> + <td id="id_zag_{{ t_n_url }}" + class="tab_zag nowrap tab_zag_noquery" + table_name="{{ t_n_url }}" + query_set="{{ has_query ? 1 : 0 }}"> + <span class="owner">{{ designerTable.getDatabaseName() }}</span> + {{ designerTable.getTableName() }} + </td> + {% if has_query %} + <td class="tab_zag tab_zag_query" + id="id_zag_{{ t_n_url }}_2" + table_name="{{ t_n_url }}"> + </td> + {% endif %} + </tr> + </thead> + <tbody id="id_tbody_{{ t_n_url }}" + {{- tab_pos[t_n] is defined and tab_pos[t_n]['V'] is empty ? ' style="display: none"' }}> + {% set display_field = designerTable.getDisplayField() %} + {% for j in 0..tab_column[t_n]['COLUMN_ID']|length - 1 %} + {% set col_name = tab_column[t_n]['COLUMN_NAME'][j] %} + {% set tmp_column = t_n ~ '.' ~ tab_column[t_n]['COLUMN_NAME'][j] %} + {% set click_field_param = [ + designerTable.getTableName()|escape('url'), + tab_column[t_n]['COLUMN_NAME'][j]|url_encode + ] %} + {% if not designerTable.supportsForeignkeys() %} + {% set click_field_param = click_field_param|merge([tables_pk_or_unique_keys[tmp_column] is defined ? 1 : 0]) %} + {% else %} + {# if foreign keys are supported, it's not necessary that the + index is a primary key #} + {% set click_field_param = click_field_param|merge([tables_all_keys[tmp_column] is defined ? 1 : 0]) %} + {% endif %} + {% set click_field_param = click_field_param|merge([db]) %} + <tr id="id_tr_{{ designerTable.getTableName()|escape('url') }}.{{ tab_column[t_n]['COLUMN_NAME'][j] }}" class="tab_field + {{- display_field == tab_column[t_n]['COLUMN_NAME'][j] ? '_3' }}" click_field_param=" + {{- click_field_param|join(',') }}"> + {% if has_query %} + <td class="select_all"> + <input class="select_all_store_col" + value="{{ t_n_url }}{{ tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}" + type="checkbox" + id="select_{{ t_n_url }}._{{ tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}" + style="margin: 0;" + title="{{ 'Select "%s"'|trans|format(col_name) }}" + id_check_all="select_all_{{ i }}" + db_name="{{ db }}" + table_name="{{ table_name }}" + col_name="{{ col_name }}"> + </td> + {% endif %} + <td width="10px" colspan="3" id="{{ t_n_url }}. + {{- tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}"> + <div class="nowrap"> + {% set type = columns_type[t_n ~ '.' ~ tab_column[t_n]['COLUMN_NAME'][j]] %} + <img src="{{ theme.getImgPath(type) }}.png" alt="*"> + {{ tab_column[t_n]['COLUMN_NAME'][j] }} : {{ tab_column[t_n]['TYPE'][j] }} + </div> + </td> + {% if has_query %} + <td class="small_tab_pref small_tab_pref_click_opt" + {# Escaped 2 times to be able to use it in innerHtml #} + option_col_name_modal="<strong>{{ 'Add an option for column "%s".'|trans|format(col_name)|escape('html')|escape('html') }}</strong>" + db_name="{{ db }}" + table_name="{{ table_name }}" + col_name="{{ col_name }}" + db_table_name_url="{{ t_n_url }}"> + <img src="{{ theme.getImgPath('designer/exec_small.png') }}" title="{% trans 'Options' %}" /> + </td> + {% endif %} + </tr> + {% endfor %} + </tbody> + </table> +{% endfor %} diff --git a/srcs/phpmyadmin/templates/database/designer/edit_delete_pages.twig b/srcs/phpmyadmin/templates/database/designer/edit_delete_pages.twig new file mode 100644 index 0000000..75d1a1a --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/edit_delete_pages.twig @@ -0,0 +1,13 @@ +<form action="db_designer.php" method="post" name="edit_delete_pages" id="edit_delete_pages" class="ajax"> + {{ get_hidden_inputs(db) }} + <fieldset id="page_edit_delete_options"> + <input type="hidden" name="operation" value="{{ operation }}"> + <label for="selected_page"> + {{ operation == 'editPage' ? 'Page to open'|trans : 'Page to delete'|trans }}: + </label> + {% include 'database/designer/page_selector.twig' with { + 'pdfwork': pdfwork, + 'pages': pages + } only %} + </fieldset> +</form> diff --git a/srcs/phpmyadmin/templates/database/designer/main.twig b/srcs/phpmyadmin/templates/database/designer/main.twig new file mode 100644 index 0000000..f971dc5 --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/main.twig @@ -0,0 +1,1105 @@ +{# Invisible characters will make javascript crash #} +{% apply spaceless %} +<script type="text/javascript"> +var designerConfig = {{ designer_config|raw }}; +</script> +{% endapply %} + +{# side menu #} +{% if not has_query %} + <div id="name-panel"> + <span id="page_name"> + {{ selected_page == null ? 'Untitled'|trans : selected_page }} + </span> + <span id="saved_state"> + {{ selected_page == null ? '*' : '' }} + </span> + </div> +{% endif %} +<div class="designer_header side-menu" id="side_menu"> + <a class="M_butt" id="key_Show_left_menu" href="#"> + <img title="{% trans 'Show/Hide tables list' %}" + alt="v" + src="{{ theme.getImgPath('designer/downarrow2_m.png') }}" + data-down="{{ theme.getImgPath('designer/downarrow2_m.png') }}" + data-up="{{ theme.getImgPath('designer/uparrow2_m.png') }}"> + <span class="hide hidable"> + {% trans 'Show/Hide tables list' %} + </span> + </a> + <a href="#" id="toggleFullscreen" class="M_butt"> + <img title="{% trans 'View in fullscreen' %}" + src="{{ theme.getImgPath('designer/viewInFullscreen.png') }}" + data-enter="{{ theme.getImgPath('designer/viewInFullscreen.png') }}" + data-exit="{{ theme.getImgPath('designer/exitFullscreen.png') }}"> + <span class="hide hidable" + data-exit="{% trans 'Exit fullscreen' %}" + data-enter="{% trans 'View in fullscreen' %}"> + {% trans 'View in fullscreen' %} + </span> + </a> + <a href="#" id="addOtherDbTables" class="M_butt"> + <img title="{% trans 'Add tables from other databases' %}" + src="{{ theme.getImgPath('designer/other_table.png') }}"> + <span class="hide hidable"> + {% trans 'Add tables from other databases' %} + </span> + </a> + {% if not has_query %} + <a id="newPage" href="#" class="M_butt"> + <img title="{% trans 'New page' %}" + alt="" + src="{{ theme.getImgPath('designer/page_add.png') }}"> + <span class="hide hidable"> + {% trans 'New page' %} + </span> + </a> + <a href="#" id="editPage" class="M_butt ajax"> + <img title="{% trans 'Open page' %}" + src="{{ theme.getImgPath('designer/page_edit.png') }}"> + <span class="hide hidable"> + {% trans 'Open page' %} + </span> + </a> + <a href="#" id="savePos" class="M_butt"> + <img title="{% trans 'Save page' %}" + src="{{ theme.getImgPath('designer/save.png') }}"> + <span class="hide hidable"> + {% trans 'Save page' %} + </span> + </a> + <a href="#" id="SaveAs" class="M_butt ajax"> + <img title="{% trans 'Save page as' %}" + src="{{ theme.getImgPath('designer/save_as.png') }}"> + <span class="hide hidable"> + {% trans 'Save page as' %} + </span> + </a> + <a href="#" id="delPages" class="M_butt ajax"> + <img title="{% trans 'Delete pages' %}" + src="{{ theme.getImgPath('designer/page_delete.png') }}"> + <span class="hide hidable"> + {% trans 'Delete pages' %} + </span> + </a> + <a href="#" id="StartTableNew" class="M_butt"> + <img title="{% trans 'Create table' %}" + src="{{ theme.getImgPath('designer/table.png') }}"> + <span class="hide hidable"> + {% trans 'Create table' %} + </span> + </a> + <a href="#" class="M_butt" id="rel_button"> + <img title="{% trans 'Create relationship' %}" + src="{{ theme.getImgPath('designer/relation.png') }}"> + <span class="hide hidable"> + {% trans 'Create relationship' %} + </span> + </a> + <a href="#" class="M_butt" id="display_field_button"> + <img title="{% trans 'Choose column to display' %}" + src="{{ theme.getImgPath('designer/display_field.png') }}"> + <span class="hide hidable"> + {% trans 'Choose column to display' %} + </span> + </a> + <a href="#" id="reloadPage" class="M_butt"> + <img title="{% trans 'Reload' %}" + src="{{ theme.getImgPath('designer/reload.png') }}"> + <span class="hide hidable"> + {% trans 'Reload' %} + </span> + </a> + <a href="{{ get_docu_link('faq', 'faq6-31') }}" + target="documentation" + class="M_butt"> + <img title="{% trans 'Help' %}" + src="{{ theme.getImgPath('designer/help.png') }}"> + <span class="hide hidable"> + {% trans 'Help' %} + </span> + </a> + {% endif %} + <a href="#" class="{{ params_array['angular_direct'] }}" id="angular_direct_button"> + <img title="{% trans 'Angular links' %} / {% trans 'Direct links' %}" + src="{{ theme.getImgPath('designer/ang_direct.png') }}"> + <span class="hide hidable"> + {% trans 'Angular links' %} / {% trans 'Direct links' %} + </span> + </a> + <a href="#" class="{{ params_array['snap_to_grid'] }}" id="grid_button"> + <img title="{% trans 'Snap to grid' %}" src="{{ theme.getImgPath('designer/grid.png') }}"> + <span class="hide hidable"> + {% trans 'Snap to grid' %} + </span> + </a> + <a href="#" class="{{ params_array['small_big_all'] }}" id="key_SB_all"> + <img title="{% trans 'Small/Big All' %}" + alt="v" + src="{{ theme.getImgPath('designer/downarrow1.png') }}" + data-down="{{ theme.getImgPath('designer/downarrow1.png') }}" + data-right="{{ theme.getImgPath('designer/rightarrow1.png') }}"> + <span class="hide hidable"> + {% trans 'Small/Big All' %} + </span> + </a> + <a href="#" id="SmallTabInvert" class="M_butt"> + <img title="{% trans 'Toggle small/big' %}" + src="{{ theme.getImgPath('designer/bottom.png') }}"> + <span class="hide hidable"> + {% trans 'Toggle small/big' %} + </span> + </a> + <a href="#" id="relLineInvert" class="{{ params_array['relation_lines'] }}" > + <img title="{% trans 'Toggle relationship lines' %}" + src="{{ theme.getImgPath('designer/toggle_lines.png') }}"> + <span class="hide hidable"> + {% trans 'Toggle relationship lines' %} + </span> + </a> + {% if not visual_builder %} + <a href="#" id="exportPages" class="M_butt" > + <img title="{% trans 'Export schema' %}" + src="{{ theme.getImgPath('designer/export.png') }}"> + <span class="hide hidable"> + {% trans 'Export schema' %} + </span> + </a> + {% else %} + <a id="build_query_button" + class="M_butt" + href="#" + class="M_butt"> + <img title="{% trans 'Build Query' %}" + src="{{ theme.getImgPath('designer/query_builder.png') }}"> + <span class="hide hidable"> + {% trans 'Build Query' %} + </span> + </a> + {% endif %} + <a href="#" class="{{ params_array['side_menu'] }}" id="key_Left_Right"> + <img title="{% trans 'Move Menu' %}" alt=">" + data-right="{{ theme.getImgPath('designer/2leftarrow_m.png') }}" + src="{{ theme.getImgPath('designer/2rightarrow_m.png') }}"> + <span class="hide hidable"> + {% trans 'Move Menu' %} + </span> + </a> + <a href="#" class="{{ params_array['pin_text'] }}" id="pin_Text"> + <img title="{% trans 'Pin text' %}" + alt=">" + data-right="{{ theme.getImgPath('designer/anchor.png') }}" + src="{{ theme.getImgPath('designer/anchor.png') }}"> + <span class="hide hidable"> + {% trans 'Pin text' %} + </span> + </a> +</div> +<div id="canvas_outer"> + <form action="" id="container-form" method="post" name="form1"> + <div id="osn_tab"> + <canvas class="designer" id="canvas" width="100" height="100"></canvas> + </div> + <div id="layer_menu" class="hide"> + <div class="center"> + <a href="#" class="M_butt" target="_self" > + <img title="{% trans 'Hide/Show all' %}" + alt="v" + id="key_HS_all" + src="{{ theme.getImgPath('designer/downarrow1.png') }}" + data-down="{{ theme.getImgPath('designer/downarrow1.png') }}" + data-right="{{ theme.getImgPath('designer/rightarrow1.png') }}"> + </a> + <a href="#" class="M_butt" target="_self" > + <img alt="v" + id="key_HS" + title="{% trans 'Hide/Show tables with no relationship' %}" + src="{{ theme.getImgPath('designer/downarrow2.png') }}" + data-down="{{ theme.getImgPath('designer/downarrow2.png') }}" + data-right="{{ theme.getImgPath('designer/rightarrow2.png') }}"> + </a> + </div> + <div id="id_scroll_tab" class="scroll_tab"> + <table width="100%" style="padding-left: 3px;"></table> + </div> + {# end id_scroll_tab #} + <div class="center"> + {% trans 'Number of tables:' %} <span id="tables_counter">0</span> + </div> + <div id="layer_menu_sizer"> + <div class="floatleft"> + <img class="icon" + data-right="{{ theme.getImgPath('designer/resizeright.png') }}" + src="{{ theme.getImgPath('designer/resize.png') }}"> + </div> + </div> + </div> + {# end layer_menu #} + {% include 'database/designer/database_tables.twig' with { + 'db': db, + 'get_db': get_db, + 'has_query': has_query, + 'tab_pos': tab_pos, + 'display_page': display_page, + 'tab_column': tab_column, + 'tables_all_keys': tables_all_keys, + 'tables_pk_or_unique_keys': tables_pk_or_unique_keys, + 'columns_type': columns_type, + 'tables': designerTables, + 'theme': theme, + } only %} + </form> +</div> +<div id="designer_hint"></div> +{# create relation pane #} +<table id="layer_new_relation" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + {% trans 'Create relationship' %} + </strong> + </td> + </tr> + </thead> + <tbody id="foreign_relation"> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + FOREIGN KEY + </strong> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + on delete + </td> + <td width="102"> + <select name="on_delete" id="on_delete"> + <option value="nix" selected="selected"> + -- + </option> + <option value="CASCADE"> + CASCADE + </option> + <option value="SET NULL"> + SET NULL + </option> + <option value="NO ACTION"> + NO ACTION + </option> + <option value="RESTRICT"> + RESTRICT + </option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"> + on update + </td> + <td> + <select name="on_update" id="on_update"> + <option value="nix" selected="selected"> + -- + </option> + <option value="CASCADE"> + CASCADE + </option> + <option value="SET NULL"> + SET NULL + </option> + <option value="NO ACTION"> + NO ACTION + </option> + <option value="RESTRICT"> + RESTRICT + </option> + </select> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="button" id="ok_new_rel_panel" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input type="button" id="cancel_new_rel_panel" + class="btn btn-secondary butt" name="Button" value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> +</table> +{# delete relation pane #} +<table id="layer_upd_relation" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%"> + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="100%" class="center" cellpadding="2" cellspacing="0"> + <tr> + <td colspan="3" class="center nowrap"> + <strong> + {% trans 'Delete relationship' %} + </strong> + </td> + </tr> + <tr> + <td colspan="3" class="center nowrap"> + <input id="del_button" name="Button" type="button" + class="btn btn-secondary butt" value="{% trans 'Delete' %}"> + <input id="cancel_button" type="button" class="btn btn-secondary butt" + name="Button" value="{% trans 'Cancel' %}"> + </td> + </tr> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> +</table> +{% if has_query %} + {# options pane #} + <table id="designer_optionse" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" rowspan="2" id="option_col_name" class="center nowrap"> + </td> + </tr> + </thead> + <tbody id="where"> + <tr> + <td class="center nowrap"> + <b> + WHERE + </b> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Relationship operator' %} + </td> + <td width="102"> + <select name="rel_opt" id="rel_opt"> + <option value="--" selected="selected"> + -- + </option> + <option value="="> + = + </option> + <option value=">"> + > + </option> + <option value="<"> + < + </option> + <option value=">="> + >= + </option> + <option value="<="> + <= + </option> + <option value="NOT"> + NOT + </option> + <option value="IN"> + IN + </option> + <option value="EXCEPT"> + {% trans 'Except' %} + </option> + <option value="NOT IN"> + NOT IN + </option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"> + {% trans 'Value' %} + <br> + {% trans 'subquery' %} + </td> + <td> + <textarea id="Query" cols="18"></textarea> + </td> + </tr> + <tr> + <td class="center nowrap"> + <b> + {% trans 'Rename to' %} + </b> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'New name' %} + </td> + <td width="102"> + <input type="text" id="new_name"> + </td> + </tr> + <tr> + <td class="center nowrap"> + <b> + {% trans 'Aggregate' %} + </b> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="operator" id="operator"> + <option value="---" selected="selected"> + --- + </option> + <option value="sum" > + SUM + </option> + <option value="min"> + MIN + </option> + <option value="max"> + MAX + </option> + <option value="avg"> + AVG + </option> + <option value="count"> + COUNT + </option> + </select> + </td> + </tr> + <tr> + <td width="58" class="center nowrap"> + <b> + GROUP BY + </b> + </td> + <td> + <input type="checkbox" value="groupby" id="groupby"> + </td> + </tr> + <tr> + <td width="58" class="center nowrap"> + <b> + ORDER BY + </b> + </td> + <td> + <select name="orderby" id="orderby"> + <option value="---" selected="selected"> + --- + </option> + <option value="ASC" > + ASC + </option> + <option value="DESC"> + DESC + </option> + </select> + </td> + </tr> + <tr> + <td class="center nowrap"> + <b> + HAVING + </b> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="h_operator" id="h_operator"> + <option value="---" selected="selected"> + --- + </option> + <option value="None" > + {% trans 'None' %} + </option> + <option value="sum" > + SUM + </option> + <option value="min"> + MIN + </option> + <option value="max"> + MAX + </option> + <option value="avg"> + AVG + </option> + <option value="count"> + COUNT + </option> + </select> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Relationship operator' %} + </td> + <td width="102"> + <select name="h_rel_opt" id="h_rel_opt"> + <option value="--" selected="selected"> + -- + </option> + <option value="="> + = + </option> + <option value=">"> + > + </option> + <option value="<"> + < + </option> + <option value=">="> + >= + </option> + <option value="<="> + <= + </option> + <option value="NOT"> + NOT + </option> + <option value="IN"> + IN + </option> + <option value="EXCEPT"> + {% trans 'Except' %} + </option> + <option value="NOT IN"> + NOT IN + </option> + </select> + </td> + </tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Value' %} + <br> + {% trans 'subquery' %} + </td> + <td width="102"> + <textarea id="having" cols="18"></textarea> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="hidden" id="ok_add_object_db_and_table_name_url" /> + <input type="hidden" id="ok_add_object_db_name" /> + <input type="hidden" id="ok_add_object_table_name" /> + <input type="hidden" id="ok_add_object_col_name" /> + <input type="button" id="ok_add_object" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input type="button" id="cancel_close_option" class="btn btn-secondary butt" + name="Button" value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> + </table> + {# rename to pane #} + <table id="query_rename_to" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + {% trans 'Rename to' %} + </strong> + </td> + </tr> + </thead> + <tbody id="rename_to"> + <tr> + <td width="58" class="nowrap"> + {% trans 'New name' %} + </td> + <td width="102"> + <input type="text" id="e_rename"> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="button" id="ok_edit_rename" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input id="query_rename_to_button" type="button" + class="btn btn-secondary butt" + name="Button" + value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> + </table> + {# having query panel #} + <table id="query_having" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + HAVING + </strong> + </td> + </tr> + </thead> + <tbody id="rename_to"> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="hoperator" id="hoperator"> + <option value="---" selected="selected"> + --- + </option> + <option value="None" > + None + </option> + <option value="sum" > + SUM + </option> + <option value="min"> + MIN + </option> + <option value="max"> + MAX + </option> + <option value="avg"> + AVG + </option> + <option value="count"> + COUNT + </option> + </select> + </td> + </tr> + <tr> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="hrel_opt" id="hrel_opt"> + <option value="--" selected="selected"> + -- + </option> + <option value="="> + = + </option> + <option value=">"> + > + </option> + <option value="<"> + < + </option> + <option value=">="> + >= + </option> + <option value="<="> + <= + </option> + <option value="NOT"> + NOT + </option> + <option value="IN"> + IN + </option> + <option value="EXCEPT"> + {% trans 'Except' %} + </option> + <option value="NOT IN"> + NOT IN + </option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"> + {% trans 'Value' %} + <br> + {% trans 'subquery' %} + </td> + <td> + <textarea id="hQuery" cols="18"> + </textarea> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="button" id="ok_edit_having" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input id="query_having_button" type="button" + class="btn btn-secondary butt" + name="Button" + value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> + </table> + {# aggregate query pane #} + <table id="query_Aggregate" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + {% trans 'Aggregate' %} + </strong> + </td> + </tr> + </thead> + <tbody> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="operator" id="e_operator"> + <option value="---" selected="selected"> + --- + </option> + <option value="sum" > + SUM + </option> + <option value="min"> + MIN + </option> + <option value="max"> + MAX + </option> + <option value="avg"> + AVG + </option> + <option value="count"> + COUNT + </option> + </select> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="button" id="ok_edit_Aggr" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input id="query_Aggregate_Button" type="button" + class="btn btn-secondary butt" + name="Button" + value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> + </table> + {# where query pane #} + <table id="query_where" class="hide" width="5%" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="frams1" width="10px"> + </td> + <td class="frams5" width="99%" > + </td> + <td class="frams2" width="10px"> + <div class="bor"> + </div> + </td> + </tr> + <tr> + <td class="frams8"> + </td> + <td class="input_tab"> + <table width="168" class="center" cellpadding="2" cellspacing="0"> + <thead> + <tr> + <td colspan="2" class="center nowrap"> + <strong> + WHERE + </strong> + </td> + </tr> + </thead> + <tbody id="rename_to"> + <tr> + <td width="58" class="nowrap"> + {% trans 'Operator' %} + </td> + <td width="102"> + <select name="erel_opt" id="erel_opt"> + <option value="--" selected="selected"> + -- + </option> + <option value="=" > + = + </option> + <option value=">"> + > + </option> + <option value="<"> + < + </option> + <option value=">="> + >= + </option> + <option value="<="> + <= + </option> + <option value="NOT"> + NOT + </option> + <option value="IN"> + IN + </option> + <option value="EXCEPT"> + {% trans 'Except' %} + </option> + <option value="NOT IN"> + NOT IN + </option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"> + {% trans 'Value' %} + <br> + {% trans 'subquery' %} + </td> + <td> + <textarea id="eQuery" cols="18"> + </textarea> + </td> + </tr> + </tbody> + <tbody> + <tr> + <td colspan="2" class="center nowrap"> + <input type="button" id="ok_edit_where" class="btn btn-secondary butt" + name="Button" value="{% trans 'OK' %}"> + <input id="query_where_button" type="button" class="btn btn-secondary butt" name="Button" + value="{% trans 'Cancel' %}"> + </td> + </tr> + </tbody> + </table> + </td> + <td class="frams6"> + </td> + </tr> + <tr> + <td class="frams4"> + <div class="bor"> + </div> + </td> + <td class="frams7"> + </td> + <td class="frams3"> + </td> + </tr> + </tbody> + </table> + {# query details #} + <div class="panel"> + <div class="clearfloat"></div> + <div id="ab"></div> + <div class="clearfloat"></div> + </div> + <a class="trigger" href="#">{% trans 'Active options' %}</a> + <div id="box"> + <form method="post" action="db_qbe.php" id="vqb_form"> + <textarea cols="80" name="sql_query" id="textSqlquery" rows="15"></textarea> + <input type="hidden" name="submit_sql" value="true"> + {{ get_hidden_inputs(get_db) }} + </form> + </div> +{% endif %} +<div id="PMA_disable_floating_menubar"></div> diff --git a/srcs/phpmyadmin/templates/database/designer/page_save_as.twig b/srcs/phpmyadmin/templates/database/designer/page_save_as.twig new file mode 100644 index 0000000..bbcf34b --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/page_save_as.twig @@ -0,0 +1,37 @@ +<form action="db_designer.php" method="post" name="save_as_pages" id="save_as_pages" class="ajax"> + {{ get_hidden_inputs(db) }} + <fieldset id="page_save_as_options"> + <table> + <tbody> + <tr> + <td> + <input type="hidden" name="operation" value="savePage"> + {% include 'database/designer/page_selector.twig' with { + 'pdfwork': pdfwork, + 'pages': pages + } only %} + </td> + </tr> + <tr> + <td> + {{ get_radio_fields( + 'save_page', + { + 'same': 'Save to selected page'|trans, + 'new': 'Create a page and save to it'|trans + }, + 'same', + true + ) }} + </td> + </tr> + <tr> + <td> + <label for="selected_value">{% trans 'New page name' %}</label> + <input type="text" name="selected_value" id="selected_value"> + </td> + </tr> + </tbody> + </table> + </fieldset> +</form> diff --git a/srcs/phpmyadmin/templates/database/designer/page_selector.twig b/srcs/phpmyadmin/templates/database/designer/page_selector.twig new file mode 100644 index 0000000..01c0650 --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/page_selector.twig @@ -0,0 +1,10 @@ +<select name="selected_page" id="selected_page"> + <option value="0">-- {% trans 'Select page' %} --</option> + {% if pdfwork %} + {% for nr, desc in pages %} + <option value="{{ nr }}"> + {{ desc }} + </option> + {% endfor %} + {% endif %} +</select> diff --git a/srcs/phpmyadmin/templates/database/designer/schema_export.twig b/srcs/phpmyadmin/templates/database/designer/schema_export.twig new file mode 100644 index 0000000..71f15f2 --- /dev/null +++ b/srcs/phpmyadmin/templates/database/designer/schema_export.twig @@ -0,0 +1,9 @@ +<form method="post" action="schema_export.php" class="disableAjax" id="id_export_pages"> + <fieldset> + {{ get_hidden_inputs(db) }} + <label>{% trans 'Select Export Relational Type' %}</label> + {{ get_choice('Schema', 'export_type', export_list, 'format') }} + <input type="hidden" name="page_number" value="{{ page }}"> + {{ get_options('Schema', export_list) }} + </fieldset> +</form> |
