Commit 67c5bd4f06360a42e3ca3febf3af9537433e7bd2
1 parent
70c351d3
switch from calexium_lib to xlib
make the first hayamiki web controller outside from application (i.e. Ptah ERP)
Showing
16 changed files
with
2774 additions
and
29 deletions
Show diff stats
hayamiki_lib @ 6f2ce5226c5
| 1 | +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
| 2 | + <PropertyGroup> | |
| 3 | + <ProjectGuid>{90372B21-80FA-4EB8-B17C-072EB55713D7}</ProjectGuid> | |
| 4 | + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |
| 5 | + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |
| 6 | + <OutputType>Exe</OutputType> | |
| 7 | + <RootNamespace>model_manager</RootNamespace> | |
| 8 | + <AssemblyName>hayamiki web controller</AssemblyName> | |
| 9 | + <StartupObject>src\web_controller\hayamiki_plugin.anubis</StartupObject> | |
| 10 | + <IncludePaths>./%3b./src%3b./src/web_controller</IncludePaths> | |
| 11 | + <MakeUsedFile>False</MakeUsedFile> | |
| 12 | + <MakeUnusedFile>False</MakeUnusedFile> | |
| 13 | + <AnubiscVerbosity>False</AnubiscVerbosity> | |
| 14 | + <AnubisPath>C:\Program Files (x86)\Anubis\1.14\</AnubisPath> | |
| 15 | + </PropertyGroup> | |
| 16 | + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> | |
| 17 | + <OutputPath>bin\Debug\</OutputPath> | |
| 18 | + <DebugSymbols>True</DebugSymbols> | |
| 19 | + <DebugType>Full</DebugType> | |
| 20 | + <Optimize>False</Optimize> | |
| 21 | + </PropertyGroup> | |
| 22 | + <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> | |
| 23 | + <OutputPath>bin\Release\</OutputPath> | |
| 24 | + <DebugSymbols>False</DebugSymbols> | |
| 25 | + <DebugType>None</DebugType> | |
| 26 | + <Optimize>True</Optimize> | |
| 27 | + </PropertyGroup> | |
| 28 | + <Import Project="$(AnubisBinPath)\Anubis.Build.targets" /> | |
| 29 | + <ItemGroup> | |
| 30 | + <Compile Include="hayamiki_lib\controller\hk_controller.anubis" /> | |
| 31 | + <Compile Include="hayamiki_lib\controller\hk_delete.anubis" /> | |
| 32 | + <Compile Include="hayamiki_lib\controller\hk_rows_import.anubis" /> | |
| 33 | + <Compile Include="hayamiki_lib\controller\hk_sql_utils.anubis" /> | |
| 34 | + <Compile Include="hayamiki_lib\controller\hk_trigger.anubis" /> | |
| 35 | + <Compile Include="hayamiki_lib\ds_files\ds_types.anubis" /> | |
| 36 | + <Compile Include="hayamiki_lib\hk_generator.anubis" /> | |
| 37 | + <Compile Include="hayamiki_lib\model\app.anubis" /> | |
| 38 | + <Compile Include="hayamiki_lib\model\columns.anubis" /> | |
| 39 | + <Compile Include="hayamiki_lib\model\database.anubis" /> | |
| 40 | + <Compile Include="hayamiki_lib\model\display.anubis" /> | |
| 41 | + <Compile Include="hayamiki_lib\model\fields.anubis" /> | |
| 42 | + <Compile Include="hayamiki_lib\model\help.anubis" /> | |
| 43 | + <Compile Include="hayamiki_lib\model\icons.anubis" /> | |
| 44 | + <Compile Include="hayamiki_lib\model\model.anubis" /> | |
| 45 | + <Compile Include="hayamiki_lib\model\tables.anubis" /> | |
| 46 | + <Compile Include="hayamiki_lib\model\types\hk_app.anubis" /> | |
| 47 | + <Compile Include="hayamiki_lib\model\types\hk_app_name.anubis" /> | |
| 48 | + <Compile Include="hayamiki_lib\model\types\hk_constraint.anubis" /> | |
| 49 | + <Compile Include="hayamiki_lib\model\types\hk_database.anubis" /> | |
| 50 | + <Compile Include="hayamiki_lib\model\types\hk_datetime_field_attr.anubis" /> | |
| 51 | + <Compile Include="hayamiki_lib\model\types\hk_foreign_key_active_filter.anubis" /> | |
| 52 | + <Compile Include="hayamiki_lib\model\types\hk_foreign_key_clause.anubis" /> | |
| 53 | + <Compile Include="hayamiki_lib\model\types\hk_foreign_key_clause_on_directive.anubis" /> | |
| 54 | + <Compile Include="hayamiki_lib\model\types\hk_help_text.anubis" /> | |
| 55 | + <Compile Include="hayamiki_lib\model\types\hk_icon.anubis" /> | |
| 56 | + <Compile Include="hayamiki_lib\model\types\hk_int_choice.anubis" /> | |
| 57 | + <Compile Include="hayamiki_lib\model\types\hk_int_choices.anubis" /> | |
| 58 | + <Compile Include="hayamiki_lib\model\types\hk_model.anubis" /> | |
| 59 | + <Compile Include="hayamiki_lib\model\types\hk_model_attr.anubis" /> | |
| 60 | + <Compile Include="hayamiki_lib\model\types\hk_model_column.anubis" /> | |
| 61 | + <Compile Include="hayamiki_lib\model\types\hk_model_field.anubis" /> | |
| 62 | + <Compile Include="hayamiki_lib\model\types\hk_on_conflict.anubis" /> | |
| 63 | + <Compile Include="hayamiki_lib\model\types\hk_phone_field_attr.anubis" /> | |
| 64 | + <Compile Include="hayamiki_lib\model\types\hk_table.anubis" /> | |
| 65 | + <Compile Include="hayamiki_lib\model\types\hk_text_choice.anubis" /> | |
| 66 | + <Compile Include="hayamiki_lib\model\types\hk_text_choices.anubis" /> | |
| 67 | + <Compile Include="hayamiki_lib\model\types\hk_text_field_attr.anubis" /> | |
| 68 | + <Compile Include="hayamiki_lib\model\utils.anubis" /> | |
| 69 | + <Compile Include="hayamiki_lib\types\hayamiki.anubis" /> | |
| 70 | + <Compile Include="hayamiki_lib\view\hk_filter.anubis" /> | |
| 71 | + <Compile Include="hayamiki_lib\view\jqgrid.anubis" /> | |
| 72 | + <Compile Include="hayamiki_lib\view\load_vtm.anubis" /> | |
| 73 | + <Compile Include="hayamiki_lib\view\view_apps_renderer.anubis" /> | |
| 74 | + <Compile Include="hayamiki_lib\view\view_editor_renderer.anubis" /> | |
| 75 | + <Compile Include="hayamiki_lib\view\view_rows_import.anubis" /> | |
| 76 | + <Compile Include="hayamiki_lib\view\view_table_manager.anubis" /> | |
| 77 | + <Compile Include="hayamiki_lib\view\view_table_manager_types.anubis" /> | |
| 78 | + <Compile Include="hayamiki_lib\view\view_table_renderer.anubis" /> | |
| 79 | + <Compile Include="hayamiki_lib\view\web_action.anubis" /> | |
| 80 | + <Compile Include="library\a2a\C\formater.anubis" /> | |
| 81 | + <Compile Include="library\a2a\example.anubis" /> | |
| 82 | + <Compile Include="library\a2a\generic\preformater.anubis" /> | |
| 83 | + <Compile Include="library\charset\charset_decoder.anubis" /> | |
| 84 | + <Compile Include="library\charset\iso2022_jp_decoder.anubis" /> | |
| 85 | + <Compile Include="library\cipher\base64.anubis" /> | |
| 86 | + <Compile Include="library\compile_everything.anubis" /> | |
| 87 | + <Compile Include="library\compil_all.anubis" /> | |
| 88 | + <Compile Include="library\compil_all_beta.anubis" /> | |
| 89 | + <Compile Include="library\converters\_1_7_to_1_8.anubis" /> | |
| 90 | + <Compile Include="library\data_base\alter_table.anubis" /> | |
| 91 | + <Compile Include="library\data_base\db_tools.anubis" /> | |
| 92 | + <Compile Include="library\data_base\db_types.anubis" /> | |
| 93 | + <Compile Include="library\data_base\import_csv.anubis" /> | |
| 94 | + <Compile Include="library\data_base\metaSQL.anubis" /> | |
| 95 | + <Compile Include="library\data_base\metaSQL_example_database.anubis" /> | |
| 96 | + <Compile Include="library\data_base\metaSQL_example_output.anubis" /> | |
| 97 | + <Compile Include="library\data_base\metaSQL_example_queries.anubis" /> | |
| 98 | + <Compile Include="library\data_base\metaSQL_Postgres.anubis" /> | |
| 99 | + <Compile Include="library\data_base\metaSQL_test.anubis" /> | |
| 100 | + <Compile Include="library\data_base\metaSQL_web.anubis" /> | |
| 101 | + <Compile Include="library\data_base\mysql_client.anubis" /> | |
| 102 | + <Compile Include="library\data_base\postgres_client.anubis" /> | |
| 103 | + <Compile Include="library\data_base\postgres_graphic_interface.anubis" /> | |
| 104 | + <Compile Include="library\data_base\read_csv.anubis" /> | |
| 105 | + <Compile Include="library\data_base\read_csv_org.anubis" /> | |
| 106 | + <Compile Include="library\data_base\read_csv_table.anubis" /> | |
| 107 | + <Compile Include="library\data_base\sdbms.anubis" /> | |
| 108 | + <Compile Include="library\data_base\sdbms1.anubis" /> | |
| 109 | + <Compile Include="library\data_base\sdbms3.anubis" /> | |
| 110 | + <Compile Include="library\data_base\sdbms4.anubis" /> | |
| 111 | + <Compile Include="library\data_base\sqlite.anubis" /> | |
| 112 | + <Compile Include="library\data_base\sqlite_foreign_key.anubis" /> | |
| 113 | + <Compile Include="library\data_base\theory.anubis" /> | |
| 114 | + <Compile Include="library\doc_tools\latex.anubis" /> | |
| 115 | + <Compile Include="library\doc_tools\make_doc.anubis" /> | |
| 116 | + <Compile Include="library\doc_tools\maml.anubis" /> | |
| 117 | + <Compile Include="library\doc_tools\maml3.anubis" /> | |
| 118 | + <Compile Include="library\examples\args.anubis" /> | |
| 119 | + <Compile Include="library\examples\conditional_examples.anubis" /> | |
| 120 | + <Compile Include="library\examples\cryptography\md5.anubis" /> | |
| 121 | + <Compile Include="library\examples\cryptography\sha1.anubis" /> | |
| 122 | + <Compile Include="library\examples\fibonacci.anubis" /> | |
| 123 | + <Compile Include="library\examples\file_manager_example.anubis" /> | |
| 124 | + <Compile Include="library\examples\full_ls.anubis" /> | |
| 125 | + <Compile Include="library\examples\graphism\diaporama.anubis" /> | |
| 126 | + <Compile Include="library\examples\graphism\paint.anubis" /> | |
| 127 | + <Compile Include="library\examples\graphism\paint2.anubis" /> | |
| 128 | + <Compile Include="library\examples\graphism\show_image.anubis" /> | |
| 129 | + <Compile Include="library\examples\graphism\try_window.anubis" /> | |
| 130 | + <Compile Include="library\examples\hello.anubis" /> | |
| 131 | + <Compile Include="library\examples\kbd.anubis" /> | |
| 132 | + <Compile Include="library\examples\lexical_analysis\href_extractor.anubis" /> | |
| 133 | + <Compile Include="library\examples\logic\church_integers.anubis" /> | |
| 134 | + <Compile Include="library\examples\logic\peano.anubis" /> | |
| 135 | + <Compile Include="library\examples\ls.anubis" /> | |
| 136 | + <Compile Include="library\examples\mathematics\fact.anubis" /> | |
| 137 | + <Compile Include="library\examples\mathematics\mandelbrot_set.anubis" /> | |
| 138 | + <Compile Include="library\examples\mathematics\mandelbrot_set_old.anubis" /> | |
| 139 | + <Compile Include="library\examples\mathematics\runge_kutta\runge_kutta.anubis" /> | |
| 140 | + <Compile Include="library\examples\mathematics\syracuse.anubis" /> | |
| 141 | + <Compile Include="library\examples\merge_list.anubis" /> | |
| 142 | + <Compile Include="library\examples\mkdir_test.anubis" /> | |
| 143 | + <Compile Include="library\examples\network\client_browser_info.anubis" /> | |
| 144 | + <Compile Include="library\examples\network\client_server.anubis" /> | |
| 145 | + <Compile Include="library\examples\network\minimal_web_site.anubis" /> | |
| 146 | + <Compile Include="library\examples\network\muscle_echo.anubis" /> | |
| 147 | + <Compile Include="library\examples\network\port_scan.anubis" /> | |
| 148 | + <Compile Include="library\examples\network\sntp_client.anubis" /> | |
| 149 | + <Compile Include="library\examples\network\sokoban.anubis" /> | |
| 150 | + <Compile Include="library\examples\network\try_dns.anubis" /> | |
| 151 | + <Compile Include="library\examples\network\udp_client_server.anubis" /> | |
| 152 | + <Compile Include="library\examples\network\upload.anubis" /> | |
| 153 | + <Compile Include="library\examples\playing_with_functions.anubis" /> | |
| 154 | + <Compile Include="library\examples\read_line_example.anubis" /> | |
| 155 | + <Compile Include="library\examples\restart.anubis" /> | |
| 156 | + <Compile Include="library\examples\saturate_example.anubis" /> | |
| 157 | + <Compile Include="library\examples\system\load_adm.anubis" /> | |
| 158 | + <Compile Include="library\examples\test.anubis" /> | |
| 159 | + <Compile Include="library\examples\test_web_site.anubis" /> | |
| 160 | + <Compile Include="library\examples\try_now.anubis" /> | |
| 161 | + <Compile Include="library\examples\try_protect.anubis" /> | |
| 162 | + <Compile Include="library\examples\watt.anubis" /> | |
| 163 | + <Compile Include="library\examples\_99_bottles_of_beer.anubis" /> | |
| 164 | + <Compile Include="library\graphism\charts.anubis" /> | |
| 165 | + <Compile Include="library\graphism\float_int32.anubis" /> | |
| 166 | + <Compile Include="library\graphism\font_tools.anubis" /> | |
| 167 | + <Compile Include="library\graphism\geometrical_figures.anubis" /> | |
| 168 | + <Compile Include="library\graphism\gif.anubis" /> | |
| 169 | + <Compile Include="library\graphism\image_tools.anubis" /> | |
| 170 | + <Compile Include="library\graphism\jpeg.anubis" /> | |
| 171 | + <Compile Include="library\graphism\jpeg_size.anubis" /> | |
| 172 | + <Compile Include="library\graphism\lzw_gif.anubis" /> | |
| 173 | + <Compile Include="library\graphism\png_size.anubis" /> | |
| 174 | + <Compile Include="library\graphism\test_charts.anubis" /> | |
| 175 | + <Compile Include="library\graphism\test_gfigures.anubis" /> | |
| 176 | + <Compile Include="library\install_released_files.anubis" /> | |
| 177 | + <Compile Include="library\lexical_analysis\compile_time_test.anubis" /> | |
| 178 | + <Compile Include="library\lexical_analysis\fast_lexer.anubis" /> | |
| 179 | + <Compile Include="library\lexical_analysis\fast_lexer_2.anubis" /> | |
| 180 | + <Compile Include="library\lexical_analysis\fast_lexer_3.anubis" /> | |
| 181 | + <Compile Include="library\lexical_analysis\fast_lexer_4.anubis" /> | |
| 182 | + <Compile Include="library\lexical_analysis\fast_lexer_example_1.anubis" /> | |
| 183 | + <Compile Include="library\lexical_analysis\fast_lexer_example_2.anubis" /> | |
| 184 | + <Compile Include="library\lexical_analysis\lexer_maker_v2.anubis" /> | |
| 185 | + <Compile Include="library\lexical_analysis\testing_fast_lexer.anubis" /> | |
| 186 | + <Compile Include="library\lexical_analysis\xml.anubis" /> | |
| 187 | + <Compile Include="library\locale\iso3166-1.anubis" /> | |
| 188 | + <Compile Include="library\locale\L3.anubis" /> | |
| 189 | + <Compile Include="library\locale\L3LanguageInfo.anubis" /> | |
| 190 | + <Compile Include="library\mail\send_mail.anubis" /> | |
| 191 | + <Compile Include="library\mail\smtp_server.anubis" /> | |
| 192 | + <Compile Include="library\make_distribution_library.anubis" /> | |
| 193 | + <Compile Include="library\mycompile_everything.anubis" /> | |
| 194 | + <Compile Include="library\network\dns.anubis" /> | |
| 195 | + <Compile Include="library\network\dns_tools.anubis" /> | |
| 196 | + <Compile Include="library\network\remote_files_manager_common.anubis" /> | |
| 197 | + <Compile Include="library\network\sntp.anubis" /> | |
| 198 | + <Compile Include="library\network\tools.anubis" /> | |
| 199 | + <Compile Include="library\official_library.anubis" /> | |
| 200 | + <Compile Include="library\predefined.anubis" /> | |
| 201 | + <Compile Include="library\syntactic_analysis\anubis_output.anubis" /> | |
| 202 | + <Compile Include="library\syntactic_analysis\common.anubis" /> | |
| 203 | + <Compile Include="library\syntactic_analysis\make_automaton.anubis" /> | |
| 204 | + <Compile Include="library\syntactic_analysis\parser_generator.anubis" /> | |
| 205 | + <Compile Include="library\syntactic_analysis\read_grammar.anubis" /> | |
| 206 | + <Compile Include="library\syntactic_analysis\yacc_version.anubis" /> | |
| 207 | + <Compile Include="library\system\bytearray.anubis" /> | |
| 208 | + <Compile Include="library\system\convert.anubis" /> | |
| 209 | + <Compile Include="library\system\data_io.anubis" /> | |
| 210 | + <Compile Include="library\system\datetime.anubis" /> | |
| 211 | + <Compile Include="library\system\files.anubis" /> | |
| 212 | + <Compile Include="library\system\lists.anubis" /> | |
| 213 | + <Compile Include="library\system\logger.anubis" /> | |
| 214 | + <Compile Include="library\system\message_queue.anubis" /> | |
| 215 | + <Compile Include="library\system\message_transceiver.anubis" /> | |
| 216 | + <Compile Include="library\system\muscle.anubis" /> | |
| 217 | + <Compile Include="library\system\parameter\inifile.anubis" /> | |
| 218 | + <Compile Include="library\system\string.anubis" /> | |
| 219 | + <Compile Include="library\system\test_logger.anubis" /> | |
| 220 | + <Compile Include="library\system\types.anubis" /> | |
| 221 | + <Compile Include="library\system_colors\hsl.anubis" /> | |
| 222 | + <Compile Include="library\system_colors\hsv.anubis" /> | |
| 223 | + <Compile Include="library\system_colors\rgb.anubis" /> | |
| 224 | + <Compile Include="library\system_colors\system_colors.anubis" /> | |
| 225 | + <Compile Include="library\system_fonts\draw_font.anubis" /> | |
| 226 | + <Compile Include="library\system_fonts\font_table.anubis" /> | |
| 227 | + <Compile Include="library\test\all_unit_test.anubis" /> | |
| 228 | + <Compile Include="library\test\cp_test.anubis" /> | |
| 229 | + <Compile Include="library\test\execute_capture.anubis" /> | |
| 230 | + <Compile Include="library\test\inifile_test.anubis" /> | |
| 231 | + <Compile Include="library\test\lexical_analysis\fast_lexer.ut.anubis" /> | |
| 232 | + <Compile Include="library\test\lexical_analysis\low_level_fast_lexer_test.anubis" /> | |
| 233 | + <Compile Include="library\test\locale_test.anubis" /> | |
| 234 | + <Compile Include="library\test\Logger_test.anubis" /> | |
| 235 | + <Compile Include="library\test\predefined\ByteArray.ut.anubis" /> | |
| 236 | + <Compile Include="library\test\predefined\date_and_time.unit_test.anubis" /> | |
| 237 | + <Compile Include="library\test\predefined\dbapi.unit_test.anubis" /> | |
| 238 | + <Compile Include="library\test\predefined\decimal_scan.unit_test.anubis" /> | |
| 239 | + <Compile Include="library\test\predefined\fast_lexer.unit_test.anubis" /> | |
| 240 | + <Compile Include="library\test\predefined\file.ut.anubis" /> | |
| 241 | + <Compile Include="library\test\predefined\Int.unit_test.anubis" /> | |
| 242 | + <Compile Include="library\test\predefined\sqlite.obsolete.unit_test.anubis" /> | |
| 243 | + <Compile Include="library\test\predefined\sqlite.unit_test.anubis" /> | |
| 244 | + <Compile Include="library\test\serialize_test.anubis" /> | |
| 245 | + <Compile Include="library\test\sqlite3_test.anubis" /> | |
| 246 | + <Compile Include="library\test\SSLTest.anubis" /> | |
| 247 | + <Compile Include="library\test\system\convert.unit_test.anubis" /> | |
| 248 | + <Compile Include="library\test\system\files.unit_test.anubis" /> | |
| 249 | + <Compile Include="library\test\system\Int.unit_test.anubis" /> | |
| 250 | + <Compile Include="library\test\system\message_queue.unit_test.anubis" /> | |
| 251 | + <Compile Include="library\test\system\message_transceiver.unit_test.anubis" /> | |
| 252 | + <Compile Include="library\test\system\string.unit_test.anubis" /> | |
| 253 | + <Compile Include="library\test\system\wordXX.unit_test.anubis" /> | |
| 254 | + <Compile Include="library\test\TestItem.anubis" /> | |
| 255 | + <Compile Include="library\test\tools\line_reader.ut.anubis" /> | |
| 256 | + <Compile Include="library\test\tools\utf-8.unit_test.anubis" /> | |
| 257 | + <Compile Include="library\test\vm_test.anubis" /> | |
| 258 | + <Compile Include="library\tools\2-4tree.anubis" /> | |
| 259 | + <Compile Include="library\tools\admloader_test.anubis" /> | |
| 260 | + <Compile Include="library\tools\adm_autoreload.anubis" /> | |
| 261 | + <Compile Include="library\tools\adm_autoreload_tools.anubis" /> | |
| 262 | + <Compile Include="library\tools\avltrees.anubis" /> | |
| 263 | + <Compile Include="library\tools\base64.anubis" /> | |
| 264 | + <Compile Include="library\tools\basis.anubis" /> | |
| 265 | + <Compile Include="library\tools\bool.anubis" /> | |
| 266 | + <Compile Include="library\tools\btree1.anubis" /> | |
| 267 | + <Compile Include="library\tools\buffered_connection.anubis" /> | |
| 268 | + <Compile Include="library\tools\bytearray.anubis" /> | |
| 269 | + <Compile Include="library\tools\cmd_line.anubis" /> | |
| 270 | + <Compile Include="library\tools\connections.anubis" /> | |
| 271 | + <Compile Include="library\tools\delegate_writer.anubis" /> | |
| 272 | + <Compile Include="library\tools\dictionaries.anubis" /> | |
| 273 | + <Compile Include="library\tools\dump_file.anubis" /> | |
| 274 | + <Compile Include="library\tools\explore_disk.anubis" /> | |
| 275 | + <Compile Include="library\tools\file_and_dir.anubis" /> | |
| 276 | + <Compile Include="library\tools\findstring.anubis" /> | |
| 277 | + <Compile Include="library\tools\find_and_replace.anubis" /> | |
| 278 | + <Compile Include="library\tools\find_and_replace_simulator.anubis" /> | |
| 279 | + <Compile Include="library\tools\finger_trees.anubis" /> | |
| 280 | + <Compile Include="library\tools\float.anubis" /> | |
| 281 | + <Compile Include="library\tools\function.anubis" /> | |
| 282 | + <Compile Include="library\tools\graphic.anubis" /> | |
| 283 | + <Compile Include="library\tools\graphviz.anubis" /> | |
| 284 | + <Compile Include="library\tools\hashtable.anubis" /> | |
| 285 | + <Compile Include="library\tools\int.anubis" /> | |
| 286 | + <Compile Include="library\tools\ip_address.anubis" /> | |
| 287 | + <Compile Include="library\tools\ISO-8601.anubis" /> | |
| 288 | + <Compile Include="library\tools\iterators.anubis" /> | |
| 289 | + <Compile Include="library\tools\latex.anubis" /> | |
| 290 | + <Compile Include="library\tools\line_reader.anubis" /> | |
| 291 | + <Compile Include="library\tools\list.anubis" /> | |
| 292 | + <Compile Include="library\tools\maml.anubis" /> | |
| 293 | + <Compile Include="library\tools\maybefloat.anubis" /> | |
| 294 | + <Compile Include="library\tools\printable_tree.anubis" /> | |
| 295 | + <Compile Include="library\tools\prompt.anubis" /> | |
| 296 | + <Compile Include="library\tools\random.anubis" /> | |
| 297 | + <Compile Include="library\tools\rationals.anubis" /> | |
| 298 | + <Compile Include="library\tools\read_table.anubis" /> | |
| 299 | + <Compile Include="library\tools\safe_save_retrieve.anubis" /> | |
| 300 | + <Compile Include="library\tools\saturate.anubis" /> | |
| 301 | + <Compile Include="library\tools\schedul_task.anubis" /> | |
| 302 | + <Compile Include="library\tools\sdbms.anubis" /> | |
| 303 | + <Compile Include="library\tools\sdbms1.anubis" /> | |
| 304 | + <Compile Include="library\tools\sdbms2.anubis" /> | |
| 305 | + <Compile Include="library\tools\sorting.anubis" /> | |
| 306 | + <Compile Include="library\tools\streams.anubis" /> | |
| 307 | + <Compile Include="library\tools\string.anubis" /> | |
| 308 | + <Compile Include="library\tools\tables.anubis" /> | |
| 309 | + <Compile Include="library\tools\time.anubis" /> | |
| 310 | + <Compile Include="library\tools\tools.anubis" /> | |
| 311 | + <Compile Include="library\tools\unit_test.anubis" /> | |
| 312 | + <Compile Include="library\tools\useful_types.anubis" /> | |
| 313 | + <Compile Include="library\tools\utf-8.anubis" /> | |
| 314 | + <Compile Include="library\tools\words.anubis" /> | |
| 315 | + <Compile Include="library\version2\diaconescu.anubis" /> | |
| 316 | + <Compile Include="library\vm\vm_dump.anubis" /> | |
| 317 | + <Compile Include="library\vm_test.anubis" /> | |
| 318 | + <Compile Include="library\web\calculatrice.anubis" /> | |
| 319 | + <Compile Include="library\web\common.anubis" /> | |
| 320 | + <Compile Include="library\web\cookies.anubis" /> | |
| 321 | + <Compile Include="library\web\counter.anubis" /> | |
| 322 | + <Compile Include="library\web\default_web_site.anubis" /> | |
| 323 | + <Compile Include="library\web\dynamic_http_server.anubis" /> | |
| 324 | + <Compile Include="library\web\file_manager.anubis" /> | |
| 325 | + <Compile Include="library\web\generic_form.anubis" /> | |
| 326 | + <Compile Include="library\web\generic_login.anubis" /> | |
| 327 | + <Compile Include="library\web\generic_table.anubis" /> | |
| 328 | + <Compile Include="library\web\html.anubis" /> | |
| 329 | + <Compile Include="library\web\https_get.anubis" /> | |
| 330 | + <Compile Include="library\web\http_get.anubis" /> | |
| 331 | + <Compile Include="library\web\http_get_common.anubis" /> | |
| 332 | + <Compile Include="library\web\http_trace.anubis" /> | |
| 333 | + <Compile Include="library\web\kernel.anubis" /> | |
| 334 | + <Compile Include="library\web\making_a_web_site.anubis" /> | |
| 335 | + <Compile Include="library\web\making_forms.anubis" /> | |
| 336 | + <Compile Include="library\web\mime.anubis" /> | |
| 337 | + <Compile Include="library\web\modules.anubis" /> | |
| 338 | + <Compile Include="library\web\multihost_http_server.anubis" /> | |
| 339 | + <Compile Include="library\web\read_html.anubis" /> | |
| 340 | + <Compile Include="library\web\secure_action.anubis" /> | |
| 341 | + <Compile Include="library\web\service_machine.anubis" /> | |
| 342 | + <Compile Include="library\web\site_test.anubis" /> | |
| 343 | + <Compile Include="library\web\sokoban.anubis" /> | |
| 344 | + <Compile Include="library\web\torture_server.anubis" /> | |
| 345 | + <Compile Include="library\web\web_arg_encode.anubis" /> | |
| 346 | + <Compile Include="library\widgets3\5_ht.anubis" /> | |
| 347 | + <Compile Include="library\widgets3\box.anubis" /> | |
| 348 | + <Compile Include="library\widgets3\bubble.anubis" /> | |
| 349 | + <Compile Include="library\widgets3\button.anubis" /> | |
| 350 | + <Compile Include="library\widgets3\characters_example.anubis" /> | |
| 351 | + <Compile Include="library\widgets3\check_box.anubis" /> | |
| 352 | + <Compile Include="library\widgets3\colors.anubis" /> | |
| 353 | + <Compile Include="library\widgets3\desktop.anubis" /> | |
| 354 | + <Compile Include="library\widgets3\desktop_example.anubis" /> | |
| 355 | + <Compile Include="library\widgets3\drag_and_drop.anubis" /> | |
| 356 | + <Compile Include="library\widgets3\generic_editor.anubis" /> | |
| 357 | + <Compile Include="library\widgets3\generic_editor_example.anubis" /> | |
| 358 | + <Compile Include="library\widgets3\host_window.anubis" /> | |
| 359 | + <Compile Include="library\widgets3\hypertext.anubis" /> | |
| 360 | + <Compile Include="library\widgets3\image.anubis" /> | |
| 361 | + <Compile Include="library\widgets3\input.anubis" /> | |
| 362 | + <Compile Include="library\widgets3\map_list.anubis" /> | |
| 363 | + <Compile Include="library\widgets3\menus.anubis" /> | |
| 364 | + <Compile Include="library\widgets3\menu_manager.anubis" /> | |
| 365 | + <Compile Include="library\widgets3\o_essai.anubis" /> | |
| 366 | + <Compile Include="library\widgets3\o_hypertext.anubis" /> | |
| 367 | + <Compile Include="library\widgets3\resizer.anubis" /> | |
| 368 | + <Compile Include="library\widgets3\scrollbar.anubis" /> | |
| 369 | + <Compile Include="library\widgets3\simple_example.anubis" /> | |
| 370 | + <Compile Include="library\widgets3\simple_window.anubis" /> | |
| 371 | + <Compile Include="library\widgets3\space.anubis" /> | |
| 372 | + <Compile Include="library\widgets3\table.anubis" /> | |
| 373 | + <Compile Include="library\widgets3\table_example.anubis" /> | |
| 374 | + <Compile Include="library\widgets3\text.anubis" /> | |
| 375 | + <Compile Include="library\widgets3\tickets_holder.anubis" /> | |
| 376 | + <Compile Include="library\widgets3\tools.anubis" /> | |
| 377 | + <Compile Include="library\widgets3\trace.anubis" /> | |
| 378 | + <Compile Include="library\widgets3\tree_editor.anubis" /> | |
| 379 | + <Compile Include="library\widgets3\tree_editor_test.anubis" /> | |
| 380 | + <Compile Include="library\widgets3\try_ht.anubis" /> | |
| 381 | + <Compile Include="library\widgets3\ubiquity.anubis" /> | |
| 382 | + <Compile Include="library\widgets3\variable.anubis" /> | |
| 383 | + <Compile Include="library\widgets3\widget.anubis" /> | |
| 384 | + <Compile Include="library\widgets3\window.anubis" /> | |
| 385 | + <Compile Include="library\widgets4\background.anubis" /> | |
| 386 | + <Compile Include="library\widgets4\box.anubis" /> | |
| 387 | + <Compile Include="library\widgets4\bubble_manager.anubis" /> | |
| 388 | + <Compile Include="library\widgets4\bubble_manager_test.anubis" /> | |
| 389 | + <Compile Include="library\widgets4\button.anubis" /> | |
| 390 | + <Compile Include="library\widgets4\check_box.anubis" /> | |
| 391 | + <Compile Include="library\widgets4\desktop.anubis" /> | |
| 392 | + <Compile Include="library\widgets4\desktop_example.anubis" /> | |
| 393 | + <Compile Include="library\widgets4\detect_event.anubis" /> | |
| 394 | + <Compile Include="library\widgets4\host_window.anubis" /> | |
| 395 | + <Compile Include="library\widgets4\hypertext.anubis" /> | |
| 396 | + <Compile Include="library\widgets4\hypertext_test.anubis" /> | |
| 397 | + <Compile Include="library\widgets4\image.anubis" /> | |
| 398 | + <Compile Include="library\widgets4\make_tartan_files.anubis" /> | |
| 399 | + <Compile Include="library\widgets4\menus.anubis" /> | |
| 400 | + <Compile Include="library\widgets4\menu_manager.anubis" /> | |
| 401 | + <Compile Include="library\widgets4\menu_manager_test.anubis" /> | |
| 402 | + <Compile Include="library\widgets4\mouse_tracker.anubis" /> | |
| 403 | + <Compile Include="library\widgets4\radio_button.anubis" /> | |
| 404 | + <Compile Include="library\widgets4\radio_buttons_test.anubis" /> | |
| 405 | + <Compile Include="library\widgets4\resizer.anubis" /> | |
| 406 | + <Compile Include="library\widgets4\scrollbar.anubis" /> | |
| 407 | + <Compile Include="library\widgets4\simple_window.anubis" /> | |
| 408 | + <Compile Include="library\widgets4\space.anubis" /> | |
| 409 | + <Compile Include="library\widgets4\table.anubis" /> | |
| 410 | + <Compile Include="library\widgets4\tartan_generator.anubis" /> | |
| 411 | + <Compile Include="library\widgets4\tartan_generator_demo.anubis" /> | |
| 412 | + <Compile Include="library\widgets4\tests.anubis" /> | |
| 413 | + <Compile Include="library\widgets4\text.anubis" /> | |
| 414 | + <Compile Include="library\widgets4\text_input.anubis" /> | |
| 415 | + <Compile Include="library\widgets4\text_input_test.anubis" /> | |
| 416 | + <Compile Include="library\widgets4\ticket_keeper.anubis" /> | |
| 417 | + <Compile Include="library\widgets4\tools.anubis" /> | |
| 418 | + <Compile Include="library\widgets4\trace.anubis" /> | |
| 419 | + <Compile Include="library\widgets4\tree_editor.anubis" /> | |
| 420 | + <Compile Include="library\widgets4\tree_editor_test.anubis" /> | |
| 421 | + <Compile Include="library\widgets4\tree_node.anubis" /> | |
| 422 | + <Compile Include="library\widgets4\variable_widget.anubis" /> | |
| 423 | + <Compile Include="library\widgets4\widget.anubis" /> | |
| 424 | + <Compile Include="library\widgets4\widget_demo.anubis" /> | |
| 425 | + <Compile Include="library\widgets4\widget_test.anubis" /> | |
| 426 | + <Compile Include="library\widgets4\window.anubis" /> | |
| 427 | + <Compile Include="library\widgets4\window_test.anubis" /> | |
| 428 | + <Compile Include="library\xml\basic_xml_parser.anubis" /> | |
| 429 | + <Compile Include="library\xml\xml_parser.apg.anubis" /> | |
| 430 | + <Compile Include="src\app\app_loggers.anubis" /> | |
| 431 | + <Compile Include="src\check.anubis" /> | |
| 432 | + <Compile Include="src\generation\choices_selector.anubis" /> | |
| 433 | + <Compile Include="src\generation\columns.anubis" /> | |
| 434 | + <Compile Include="src\generation\create_table.anubis" /> | |
| 435 | + <Compile Include="src\generation\cxm_lib_menu.anubis" /> | |
| 436 | + <Compile Include="src\generation\densaku.anubis" /> | |
| 437 | + <Compile Include="src\generation\edit_view_list_form.anubis" /> | |
| 438 | + <Compile Include="src\generation\edit_view_table_form.anubis" /> | |
| 439 | + <Compile Include="src\generation\extractor.anubis" /> | |
| 440 | + <Compile Include="src\generation\fields.anubis" /> | |
| 441 | + <Compile Include="src\generation\files.anubis" /> | |
| 442 | + <Compile Include="src\generation\fn_delete.anubis" /> | |
| 443 | + <Compile Include="src\generation\header.anubis" /> | |
| 444 | + <Compile Include="src\generation\hk_menu.anubis" /> | |
| 445 | + <Compile Include="src\generation\html.anubis" /> | |
| 446 | + <Compile Include="src\generation\icons.anubis" /> | |
| 447 | + <Compile Include="src\generation\json.anubis" /> | |
| 448 | + <Compile Include="src\generation\model.anubis" /> | |
| 449 | + <Compile Include="src\generation\SQL_get_all.anubis" /> | |
| 450 | + <Compile Include="src\generation\SQL_get_count.anubis" /> | |
| 451 | + <Compile Include="src\generation\types.anubis" /> | |
| 452 | + <Compile Include="src\generation\vt_edit.anubis" /> | |
| 453 | + <Compile Include="src\generation\vt_view.anubis" /> | |
| 454 | + <Compile Include="src\generation\web_args.anubis" /> | |
| 455 | + <Compile Include="src\main.anubis" /> | |
| 456 | + <Compile Include="src\model.3.0.0.anubis" /> | |
| 457 | + <Compile Include="src\utils\utils.anubis" /> | |
| 458 | + <Compile Include="src\web_controller\controller.anubis" /> | |
| 459 | + <Compile Include="src\web_controller\hayamiki.anubis" /> | |
| 460 | + <Compile Include="src\web_controller\hayamiki_plugin.anubis" /> | |
| 461 | + <Compile Include="src\web_controller\hkc_files_management.anubis" /> | |
| 462 | + <Compile Include="xlib\asterisk\ami.anubis" /> | |
| 463 | + <Compile Include="xlib\asterisk\ami_commands.anubis" /> | |
| 464 | + <Compile Include="xlib\asterisk\ami_types.anubis" /> | |
| 465 | + <Compile Include="xlib\CXM_errors.anubis" /> | |
| 466 | + <Compile Include="xlib\CXM_message_constants.anubis" /> | |
| 467 | + <Compile Include="xlib\database\alter_table.anubis" /> | |
| 468 | + <Compile Include="xlib\database\csv_import_status.anubis" /> | |
| 469 | + <Compile Include="xlib\database\csv_tools.anubis" /> | |
| 470 | + <Compile Include="xlib\database\db_binds.anubis" /> | |
| 471 | + <Compile Include="xlib\database\db_get_helpers.anubis" /> | |
| 472 | + <Compile Include="xlib\database\db_types.anubis" /> | |
| 473 | + <Compile Include="xlib\database\db_update_fields.anubis" /> | |
| 474 | + <Compile Include="xlib\database\db_utils.anubis" /> | |
| 475 | + <Compile Include="xlib\database\db_version.anubis" /> | |
| 476 | + <Compile Include="xlib\database\migration.anubis" /> | |
| 477 | + <Compile Include="xlib\database\migration_common.anubis" /> | |
| 478 | + <Compile Include="xlib\database\migration_common_sqlite3.anubis" /> | |
| 479 | + <Compile Include="xlib\database\migration_sqlite3.anubis" /> | |
| 480 | + <Compile Include="xlib\database\model\db_model.anubis" /> | |
| 481 | + <Compile Include="xlib\database\settings.anubis" /> | |
| 482 | + <Compile Include="xlib\database\settings_sqlite3.anubis" /> | |
| 483 | + <Compile Include="xlib\database\sqlite_foreign_key.anubis" /> | |
| 484 | + <Compile Include="xlib\database\types\db_date.anubis" /> | |
| 485 | + <Compile Include="xlib\database\types\db_datetime.anubis" /> | |
| 486 | + <Compile Include="xlib\database\types\db_id.anubis" /> | |
| 487 | + <Compile Include="xlib\database\types\db_integer.anubis" /> | |
| 488 | + <Compile Include="xlib\database\types\db_migration.anubis" /> | |
| 489 | + <Compile Include="xlib\database\types\db_time.anubis" /> | |
| 490 | + <Compile Include="xlib\densaku_types.anubis" /> | |
| 491 | + <Compile Include="xlib\ds_files\ds_messages.anubis" /> | |
| 492 | + <Compile Include="xlib\ds_files\ds_types.anubis" /> | |
| 493 | + <Compile Include="xlib\extensions\json.anubis" /> | |
| 494 | + <Compile Include="xlib\file_processor_io\yaml\yaml.anubis" /> | |
| 495 | + <Compile Include="xlib\file_processor_io\yaml\yaml_parser.anubis" /> | |
| 496 | + <Compile Include="xlib\file_processor_io\yaml\yaml_type.anubis" /> | |
| 497 | + <Compile Include="xlib\generic\session.anubis" /> | |
| 498 | + <Compile Include="xlib\generic\types\session.anubis" /> | |
| 499 | + <Compile Include="xlib\mail\authentication.anubis" /> | |
| 500 | + <Compile Include="xlib\mail\compose_email.anubis" /> | |
| 501 | + <Compile Include="xlib\mail\decode_mail.anubis" /> | |
| 502 | + <Compile Include="xlib\mail\encode_mail.anubis" /> | |
| 503 | + <Compile Include="xlib\mail\lexers\enhanced_status.anubis" /> | |
| 504 | + <Compile Include="xlib\mail\lexers\fqa.anubis" /> | |
| 505 | + <Compile Include="xlib\mail\send_mail.anubis" /> | |
| 506 | + <Compile Include="xlib\mail\send_mail_type.anubis" /> | |
| 507 | + <Compile Include="xlib\mail\smtp_client.anubis" /> | |
| 508 | + <Compile Include="xlib\mail\smtp_server_extensions.anubis" /> | |
| 509 | + <Compile Include="xlib\mail\tools.anubis" /> | |
| 510 | + <Compile Include="xlib\mail\types\generated\email_address.anubis" /> | |
| 511 | + <Compile Include="xlib\mail\types\generated\email_to_send.anubis" /> | |
| 512 | + <Compile Include="xlib\network\socket_pool.anubis" /> | |
| 513 | + <Compile Include="xlib\net_services\CXM_generic_client.anubis" /> | |
| 514 | + <Compile Include="xlib\net_services\CXM_generic_protocol.anubis" /> | |
| 515 | + <Compile Include="xlib\net_services\CXM_net_services.anubis" /> | |
| 516 | + <Compile Include="xlib\net_services\get_file.anubis" /> | |
| 517 | + <Compile Include="xlib\net_services\send_file.anubis" /> | |
| 518 | + <Compile Include="xlib\net_services_protocols\ftp_client.anubis" /> | |
| 519 | + <Compile Include="xlib\net_services_protocols\logger_client.anubis" /> | |
| 520 | + <Compile Include="xlib\net_services_protocols\logger_server.anubis" /> | |
| 521 | + <Compile Include="xlib\net_services_protocols\logger_service_deprecated.anubis" /> | |
| 522 | + <Compile Include="xlib\net_services_protocols\logger_test.anubis" /> | |
| 523 | + <Compile Include="xlib\net_services_protocols\pkg_updater_protocol.anubis" /> | |
| 524 | + <Compile Include="xlib\os_tools\freebsd\rc_conf.anubis" /> | |
| 525 | + <Compile Include="xlib\os_tools\linux\config\network_interface_file.anubis" /> | |
| 526 | + <Compile Include="xlib\string\crlf.anubis" /> | |
| 527 | + <Compile Include="xlib\types\generated\file_ref.anubis" /> | |
| 528 | + <Compile Include="xlib\types\version.anubis" /> | |
| 529 | + <Compile Include="xlib\unit_test\test.anubis" /> | |
| 530 | + <Compile Include="xlib\unit_test\xml_rpc.unit_test.anubis" /> | |
| 531 | + <Compile Include="xlib\web\color\color.anubis" /> | |
| 532 | + <Compile Include="xlib\web\controllers_web_site.anubis" /> | |
| 533 | + <Compile Include="xlib\web\counter.anubis" /> | |
| 534 | + <Compile Include="xlib\web\CXM_common.anubis" /> | |
| 535 | + <Compile Include="xlib\web\CXM_cookies.anubis" /> | |
| 536 | + <Compile Include="xlib\web\CXM_dojo.anubis" /> | |
| 537 | + <Compile Include="xlib\web\CXM_dropzone.anubis" /> | |
| 538 | + <Compile Include="xlib\web\CXM_form.anubis" /> | |
| 539 | + <Compile Include="xlib\web\CXM_generic_form.anubis" /> | |
| 540 | + <Compile Include="xlib\web\CXM_generic_login.anubis" /> | |
| 541 | + <Compile Include="xlib\web\CXM_generic_table.anubis" /> | |
| 542 | + <Compile Include="xlib\web\CXM_html_tooltip.anubis" /> | |
| 543 | + <Compile Include="xlib\web\CXM_https_get.anubis" /> | |
| 544 | + <Compile Include="xlib\web\CXM_http_get.anubis" /> | |
| 545 | + <Compile Include="xlib\web\CXM_http_get_common.anubis" /> | |
| 546 | + <Compile Include="xlib\web\CXM_jquery.anubis" /> | |
| 547 | + <Compile Include="xlib\web\CXM_json.anubis" /> | |
| 548 | + <Compile Include="xlib\web\CXM_making_a_web_site.anubis" /> | |
| 549 | + <Compile Include="xlib\web\CXM_mime.anubis" /> | |
| 550 | + <Compile Include="xlib\web\CXM_multihost_http_server.anubis" /> | |
| 551 | + <Compile Include="xlib\web\CXM_page_message.anubis" /> | |
| 552 | + <Compile Include="xlib\web\CXM_style_tools.anubis" /> | |
| 553 | + <Compile Include="xlib\web\CXM_urllib.anubis" /> | |
| 554 | + <Compile Include="xlib\web\CXM_web_action.anubis" /> | |
| 555 | + <Compile Include="xlib\web\CXM_web_arg_encode.anubis" /> | |
| 556 | + <Compile Include="xlib\web\CXM_web_arg_utils.anubis" /> | |
| 557 | + <Compile Include="xlib\web\CXM_web_dump.anubis" /> | |
| 558 | + <Compile Include="xlib\web\CXM_web_session.anubis" /> | |
| 559 | + <Compile Include="xlib\web\CXM_widgets.anubis" /> | |
| 560 | + <Compile Include="xlib\web\CXM_xml_rpc.anubis" /> | |
| 561 | + <Compile Include="xlib\web\CXM_xml_rpc_parser.anubis" /> | |
| 562 | + <Compile Include="xlib\web\CXM_xml_rpc_types.anubis" /> | |
| 563 | + <Compile Include="xlib\web\fonts\awesome.anubis" /> | |
| 564 | + <Compile Include="xlib\web\jQuery\CXM_jquery_animate.anubis" /> | |
| 565 | + <Compile Include="xlib\web\jQuery\CXM_jquery_button.anubis" /> | |
| 566 | + <Compile Include="xlib\web\jQuery\CXM_jquery_datatable.anubis" /> | |
| 567 | + <Compile Include="xlib\web\jQuery\CXM_jquery_datatable_plugins.anubis" /> | |
| 568 | + <Compile Include="xlib\web\jQuery\CXM_jquery_datatable_server_side.anubis" /> | |
| 569 | + <Compile Include="xlib\web\jQuery\CXM_jquery_datatable_translation.anubis" /> | |
| 570 | + <Compile Include="xlib\web\jQuery\CXM_jquery_datatable_types.anubis" /> | |
| 571 | + <Compile Include="xlib\web\jQuery\CXM_jquery_dialog.anubis" /> | |
| 572 | + <Compile Include="xlib\web\jQuery\CXM_jquery_easing.anubis" /> | |
| 573 | + <Compile Include="xlib\web\jQuery\CXM_jquery_eudock.anubis" /> | |
| 574 | + <Compile Include="xlib\web\jQuery\CXM_jquery_eudock_types.anubis" /> | |
| 575 | + <Compile Include="xlib\web\jQuery\CXM_jquery_icons.anubis" /> | |
| 576 | + <Compile Include="xlib\web\jQuery\CXM_jquery_jqplot.anubis" /> | |
| 577 | + <Compile Include="xlib\web\jQuery\CXM_jquery_tabs.anubis" /> | |
| 578 | + <Compile Include="xlib\web\jQuery\CXM_jquery_tiptip.anubis" /> | |
| 579 | + <Compile Include="xlib\web\jQuery\CXM_jquery_toolbar.anubis" /> | |
| 580 | + <Compile Include="xlib\web\jQuery\CXM_jq_checkbox.anubis" /> | |
| 581 | + <Compile Include="xlib\web\jQuery\CXM_jq_form.anubis" /> | |
| 582 | + <Compile Include="xlib\web\jQuery\CXM_jq_radio.anubis" /> | |
| 583 | + <Compile Include="xlib\web\jQuery\jqgrid.anubis" /> | |
| 584 | + <Compile Include="xlib\web\jQuery\jq_flot.anubis" /> | |
| 585 | + <Compile Include="xlib\web\jQuery\ui-addon\datetimepicker.anubis" /> | |
| 586 | + <Compile Include="xlib\web\js_tools.anubis" /> | |
| 587 | + <Compile Include="xlib\web\load_content.anubis" /> | |
| 588 | + <Compile Include="xlib\web\piwik\CXM_piwik.anubis" /> | |
| 589 | + <Compile Include="xlib\web\plugin\plugin.anubis" /> | |
| 590 | + <Compile Include="xlib\web\types\controllers_web_site.anubis" /> | |
| 591 | + <Compile Include="xlib\web\types\making_a_web_site.anubis" /> | |
| 592 | + <Compile Include="xlib\web\types\web_action_name.anubis" /> | |
| 593 | + <Compile Include="xlib\web\types\web_session.anubis" /> | |
| 594 | + <Compile Include="xlib\web\widgets\button.anubis" /> | |
| 595 | + <Compile Include="xlib\web\widgets\css_helper.anubis" /> | |
| 596 | + <Compile Include="xlib\web\widgets\dashboard.anubis" /> | |
| 597 | + <Compile Include="xlib\web\widgets\fisheye_menu.anubis" /> | |
| 598 | + <Compile Include="xlib\web\widgets\icon.anubis" /> | |
| 599 | + <Compile Include="xlib\web\widgets\icons_set.anubis" /> | |
| 600 | + <Compile Include="xlib\web\widgets\left_menu.anubis" /> | |
| 601 | + <Compile Include="xlib\web\widgets\left_menu_html.anubis" /> | |
| 602 | + <Compile Include="xlib\web\widgets\menu.anubis" /> | |
| 603 | + <Compile Include="xlib\web\widgets\pager.anubis" /> | |
| 604 | + <Compile Include="xlib\web\widgets\specialized_elements.anubis" /> | |
| 605 | + <Compile Include="xlib\web_controllers\fs\fs_core.anubis" /> | |
| 606 | + <Compile Include="xlib\web_controllers\language\language_management.anubis" /> | |
| 607 | + <None Include="library\cipher\test_quick_base64.a2a" /> | |
| 608 | + <None Include="library\compile_all.inproj" /> | |
| 609 | + <None Include="library\doc_tools\cows.jpg" /> | |
| 610 | + <None Include="library\doc_tools\fNScTnBA4MH-qH_w0pRfArXeeKE8.png" /> | |
| 611 | + <None Include="library\doc_tools\fq22PnfBrYNx2fPr8NQyxy5tdO_A.png" /> | |
| 612 | + <None Include="library\doc_tools\maml3_tutorial.html" /> | |
| 613 | + <None Include="library\doc_tools\maml3_tutorial.maml" /> | |
| 614 | + <None Include="library\doc_tools\maml3_tutorial.maml.html" /> | |
| 615 | + <None Include="library\doc_tools\maml3_tutorial.maml.pdf" /> | |
| 616 | + <None Include="library\doc_tools\maml3_tutorial.pdf" /> | |
| 617 | + <None Include="library\doc_tools\tNScTnBA4MH-qH_w0pRfArXeeKE8.png" /> | |
| 618 | + <None Include="library\examples\determinism.anubis.c" /> | |
| 619 | + <None Include="library\examples\for_loop.anubis.c" /> | |
| 620 | + <None Include="library\examples\graphism\image_samples\cows.jpg" /> | |
| 621 | + <None Include="library\examples\graphism\image_samples\farm.jpg" /> | |
| 622 | + <None Include="library\examples\graphism\image_samples\fingers.jpg" /> | |
| 623 | + <None Include="library\examples\graphism\image_samples\flowers.jpg" /> | |
| 624 | + <None Include="library\examples\graphism\image_samples\mountain.jpg" /> | |
| 625 | + <None Include="library\examples\graphism\image_samples\torrent.jpg" /> | |
| 626 | + <None Include="library\examples\mathematics\runge_kutta\runge_kutta.apg" /> | |
| 627 | + <None Include="library\examples\network\public\bambou.gif" /> | |
| 628 | + <None Include="library\examples\network\public\bleuc.gif" /> | |
| 629 | + <None Include="library\examples\network\public\bleuccloud.gif" /> | |
| 630 | + <None Include="library\examples\network\public\boule.gif" /> | |
| 631 | + <None Include="library\examples\network\public\button_prev.gif" /> | |
| 632 | + <None Include="library\examples\network\public\cloud.gif" /> | |
| 633 | + <None Include="library\examples\network\public\gboule.gif" /> | |
| 634 | + <None Include="library\examples\network\public\gtete.gif" /> | |
| 635 | + <None Include="library\examples\network\public\noir25.gif" /> | |
| 636 | + <None Include="library\examples\network\public\noir25cloud.gif" /> | |
| 637 | + <None Include="library\examples\network\public\tete.gif" /> | |
| 638 | + <None Include="library\examples\OOCounter.anubis.cpp" /> | |
| 639 | + <None Include="library\graphism\image_samples\cows.jpg" /> | |
| 640 | + <None Include="library\graphism\image_samples\farm.jpg" /> | |
| 641 | + <None Include="library\graphism\image_samples\fingers.jpg" /> | |
| 642 | + <None Include="library\graphism\image_samples\flowers.jpg" /> | |
| 643 | + <None Include="library\graphism\image_samples\mountain.jpg" /> | |
| 644 | + <None Include="library\graphism\image_samples\torrent.jpg" /> | |
| 645 | + <None Include="library\install_released_files.bat" /> | |
| 646 | + <None Include="library\install_test.bat" /> | |
| 647 | + <None Include="library\lexical_analysis\lexer_maker_v2_example.lexer" /> | |
| 648 | + <None Include="library\lexical_analysis\test.xml" /> | |
| 649 | + <None Include="library\locale\ISO-639-1 and ISO-639-2.txt" /> | |
| 650 | + <None Include="library\locale\ISO-639-2_values_8bits.txt" /> | |
| 651 | + <None Include="library\syntactic_analysis\anubis_output.anubis.test" /> | |
| 652 | + <None Include="library\syntactic_analysis\calculator_example.apg" /> | |
| 653 | + <None Include="library\syntactic_analysis\README" /> | |
| 654 | + <None Include="library\system_fonts\courier_bold_o_10.sf" /> | |
| 655 | + <None Include="library\system_fonts\courier_bold_o_12.sf" /> | |
| 656 | + <None Include="library\system_fonts\courier_bold_o_14.sf" /> | |
| 657 | + <None Include="library\system_fonts\courier_bold_o_18.sf" /> | |
| 658 | + <None Include="library\system_fonts\courier_bold_o_24.sf" /> | |
| 659 | + <None Include="library\system_fonts\courier_bold_o_8.sf" /> | |
| 660 | + <None Include="library\system_fonts\courier_bold_r_10.sf" /> | |
| 661 | + <None Include="library\system_fonts\courier_bold_r_12.sf" /> | |
| 662 | + <None Include="library\system_fonts\courier_bold_r_14.sf" /> | |
| 663 | + <None Include="library\system_fonts\courier_bold_r_18.sf" /> | |
| 664 | + <None Include="library\system_fonts\courier_bold_r_24.sf" /> | |
| 665 | + <None Include="library\system_fonts\courier_bold_r_8.sf" /> | |
| 666 | + <None Include="library\system_fonts\courier_medium_o_10.sf" /> | |
| 667 | + <None Include="library\system_fonts\courier_medium_o_12.sf" /> | |
| 668 | + <None Include="library\system_fonts\courier_medium_o_14.sf" /> | |
| 669 | + <None Include="library\system_fonts\courier_medium_o_18.sf" /> | |
| 670 | + <None Include="library\system_fonts\courier_medium_o_24.sf" /> | |
| 671 | + <None Include="library\system_fonts\courier_medium_o_8.sf" /> | |
| 672 | + <None Include="library\system_fonts\courier_medium_r_10.sf" /> | |
| 673 | + <None Include="library\system_fonts\courier_medium_r_12.sf" /> | |
| 674 | + <None Include="library\system_fonts\courier_medium_r_14.sf" /> | |
| 675 | + <None Include="library\system_fonts\courier_medium_r_18.sf" /> | |
| 676 | + <None Include="library\system_fonts\courier_medium_r_24.sf" /> | |
| 677 | + <None Include="library\system_fonts\courier_medium_r_8.sf" /> | |
| 678 | + <None Include="library\system_fonts\helvetica_bold_o_10.sf" /> | |
| 679 | + <None Include="library\system_fonts\helvetica_bold_o_12.sf" /> | |
| 680 | + <None Include="library\system_fonts\helvetica_bold_o_14.sf" /> | |
| 681 | + <None Include="library\system_fonts\helvetica_bold_o_18.sf" /> | |
| 682 | + <None Include="library\system_fonts\helvetica_bold_o_24.sf" /> | |
| 683 | + <None Include="library\system_fonts\helvetica_bold_o_8.sf" /> | |
| 684 | + <None Include="library\system_fonts\helvetica_bold_r_10.sf" /> | |
| 685 | + <None Include="library\system_fonts\helvetica_bold_r_12.sf" /> | |
| 686 | + <None Include="library\system_fonts\helvetica_bold_r_14.sf" /> | |
| 687 | + <None Include="library\system_fonts\helvetica_bold_r_18.sf" /> | |
| 688 | + <None Include="library\system_fonts\helvetica_bold_r_24.sf" /> | |
| 689 | + <None Include="library\system_fonts\helvetica_bold_r_8.sf" /> | |
| 690 | + <None Include="library\system_fonts\helvetica_medium_o_10.sf" /> | |
| 691 | + <None Include="library\system_fonts\helvetica_medium_o_12.sf" /> | |
| 692 | + <None Include="library\system_fonts\helvetica_medium_o_14.sf" /> | |
| 693 | + <None Include="library\system_fonts\helvetica_medium_o_18.sf" /> | |
| 694 | + <None Include="library\system_fonts\helvetica_medium_o_24.sf" /> | |
| 695 | + <None Include="library\system_fonts\helvetica_medium_o_8.sf" /> | |
| 696 | + <None Include="library\system_fonts\helvetica_medium_r_10.sf" /> | |
| 697 | + <None Include="library\system_fonts\helvetica_medium_r_12.sf" /> | |
| 698 | + <None Include="library\system_fonts\helvetica_medium_r_14.sf" /> | |
| 699 | + <None Include="library\system_fonts\helvetica_medium_r_18.sf" /> | |
| 700 | + <None Include="library\system_fonts\helvetica_medium_r_24.sf" /> | |
| 701 | + <None Include="library\system_fonts\helvetica_medium_r_8.sf" /> | |
| 702 | + <None Include="library\system_fonts\times_bold_i_10.sf" /> | |
| 703 | + <None Include="library\system_fonts\times_bold_i_12.sf" /> | |
| 704 | + <None Include="library\system_fonts\times_bold_i_14.sf" /> | |
| 705 | + <None Include="library\system_fonts\times_bold_i_18.sf" /> | |
| 706 | + <None Include="library\system_fonts\times_bold_i_24.sf" /> | |
| 707 | + <None Include="library\system_fonts\times_bold_i_8.sf" /> | |
| 708 | + <None Include="library\system_fonts\times_bold_r_10.sf" /> | |
| 709 | + <None Include="library\system_fonts\times_bold_r_12.sf" /> | |
| 710 | + <None Include="library\system_fonts\times_bold_r_14.sf" /> | |
| 711 | + <None Include="library\system_fonts\times_bold_r_18.sf" /> | |
| 712 | + <None Include="library\system_fonts\times_bold_r_24.sf" /> | |
| 713 | + <None Include="library\system_fonts\times_bold_r_8.sf" /> | |
| 714 | + <None Include="library\system_fonts\times_medium_i_10.sf" /> | |
| 715 | + <None Include="library\system_fonts\times_medium_i_12.sf" /> | |
| 716 | + <None Include="library\system_fonts\times_medium_i_14.sf" /> | |
| 717 | + <None Include="library\system_fonts\times_medium_i_18.sf" /> | |
| 718 | + <None Include="library\system_fonts\times_medium_i_24.sf" /> | |
| 719 | + <None Include="library\system_fonts\times_medium_i_8.sf" /> | |
| 720 | + <None Include="library\system_fonts\times_medium_r_10.sf" /> | |
| 721 | + <None Include="library\system_fonts\times_medium_r_12.sf" /> | |
| 722 | + <None Include="library\system_fonts\times_medium_r_14.sf" /> | |
| 723 | + <None Include="library\system_fonts\times_medium_r_18.sf" /> | |
| 724 | + <None Include="library\system_fonts\times_medium_r_24.sf" /> | |
| 725 | + <None Include="library\system_fonts\times_medium_r_8.sf" /> | |
| 726 | + <None Include="library\test\Anubis UnitTest.aproj" /> | |
| 727 | + <None Include="library\test\Anubis UnitTest.ide" /> | |
| 728 | + <None Include="library\test\duplicate_letters.c" /> | |
| 729 | + <None Include="library\tools\maml.anubis.1" /> | |
| 730 | + <None Include="library\tools\safe_save_retrieve.anubis_back" /> | |
| 731 | + <None Include="library\web\spacer.gif" /> | |
| 732 | + <None Include="library\widgets3\alienor.jpg" /> | |
| 733 | + <None Include="library\widgets3\alienor_aquitaine.jpg" /> | |
| 734 | + <None Include="library\widgets3\anubis.jpg" /> | |
| 735 | + <None Include="library\widgets3\flowers.jpg" /> | |
| 736 | + <None Include="library\widgets3\gisant_alienor.jpg" /> | |
| 737 | + <None Include="library\widgets3\gisant_alienor2.jpg" /> | |
| 738 | + <None Include="library\widgets3\henri_2.jpg" /> | |
| 739 | + <None Include="library\widgets3\john_lackland.jpg" /> | |
| 740 | + <None Include="library\widgets3\old_sarum.jpg" /> | |
| 741 | + <None Include="library\widgets3\richard.jpg" /> | |
| 742 | + <None Include="library\widgets4\images\bidon.jpg" /> | |
| 743 | + <None Include="library\widgets4\images\checked.jpg" /> | |
| 744 | + <None Include="library\widgets4\images\cows.jpg" /> | |
| 745 | + <None Include="library\widgets4\images\farm.jpg" /> | |
| 746 | + <None Include="library\widgets4\images\fingers.jpg" /> | |
| 747 | + <None Include="library\widgets4\images\flowers.jpg" /> | |
| 748 | + <None Include="library\widgets4\images\mountain.jpg" /> | |
| 749 | + <None Include="library\widgets4\images\not_checked.jpg" /> | |
| 750 | + <None Include="library\widgets4\images\torrent.jpg" /> | |
| 751 | + <None Include="library\xml\xml_parser.apg" /> | |
| 752 | + <None Include="xlib\.git" /> | |
| 753 | + <None Include="xlib\.gitignore" /> | |
| 754 | + <None Include="xlib\examples.ide" /> | |
| 755 | + <None Include="xlib\minimal_web_site.aproj" /> | |
| 756 | + <None Include="xlib\obj\unit_test.aproj.FileListAbsolute.txt" /> | |
| 757 | + <None Include="xlib\unit_test.aproj" /> | |
| 758 | + <None Include="xlib\unit_test.ide" /> | |
| 759 | + <None Include="xlib\web\js\cxm_jquery_animate.js" /> | |
| 760 | + </ItemGroup> | |
| 761 | + <ItemGroup> | |
| 762 | + <Folder Include="hayamiki_lib" /> | |
| 763 | + <Folder Include="hayamiki_lib\controller" /> | |
| 764 | + <Folder Include="hayamiki_lib\ds_files" /> | |
| 765 | + <Folder Include="hayamiki_lib\model" /> | |
| 766 | + <Folder Include="hayamiki_lib\model\types" /> | |
| 767 | + <Folder Include="hayamiki_lib\types" /> | |
| 768 | + <Folder Include="hayamiki_lib\view" /> | |
| 769 | + <Folder Include="hayamiki_lib\view\types" /> | |
| 770 | + <Folder Include="library" /> | |
| 771 | + <Folder Include="library\a2a" /> | |
| 772 | + <Folder Include="library\a2a\C" /> | |
| 773 | + <Folder Include="library\a2a\generic" /> | |
| 774 | + <Folder Include="library\charset" /> | |
| 775 | + <Folder Include="library\cipher" /> | |
| 776 | + <Folder Include="library\converters" /> | |
| 777 | + <Folder Include="library\data_base" /> | |
| 778 | + <Folder Include="library\doc_tools" /> | |
| 779 | + <Folder Include="library\examples" /> | |
| 780 | + <Folder Include="library\examples\cryptography" /> | |
| 781 | + <Folder Include="library\examples\graphism" /> | |
| 782 | + <Folder Include="library\examples\graphism\image_samples" /> | |
| 783 | + <Folder Include="library\examples\lexical_analysis" /> | |
| 784 | + <Folder Include="library\examples\logic" /> | |
| 785 | + <Folder Include="library\examples\mathematics" /> | |
| 786 | + <Folder Include="library\examples\mathematics\runge_kutta" /> | |
| 787 | + <Folder Include="library\examples\network" /> | |
| 788 | + <Folder Include="library\examples\network\public" /> | |
| 789 | + <Folder Include="library\examples\system" /> | |
| 790 | + <Folder Include="library\graphism" /> | |
| 791 | + <Folder Include="library\graphism\image_samples" /> | |
| 792 | + <Folder Include="library\lexical_analysis" /> | |
| 793 | + <Folder Include="library\locale" /> | |
| 794 | + <Folder Include="library\mail" /> | |
| 795 | + <Folder Include="library\network" /> | |
| 796 | + <Folder Include="library\syntactic_analysis" /> | |
| 797 | + <Folder Include="library\system" /> | |
| 798 | + <Folder Include="library\system\parameter" /> | |
| 799 | + <Folder Include="library\system_colors" /> | |
| 800 | + <Folder Include="library\system_fonts" /> | |
| 801 | + <Folder Include="library\test" /> | |
| 802 | + <Folder Include="library\test\lexical_analysis" /> | |
| 803 | + <Folder Include="library\test\predefined" /> | |
| 804 | + <Folder Include="library\test\system" /> | |
| 805 | + <Folder Include="library\test\tools" /> | |
| 806 | + <Folder Include="library\tools" /> | |
| 807 | + <Folder Include="library\version2" /> | |
| 808 | + <Folder Include="library\vm" /> | |
| 809 | + <Folder Include="library\web" /> | |
| 810 | + <Folder Include="library\widgets3" /> | |
| 811 | + <Folder Include="library\widgets4" /> | |
| 812 | + <Folder Include="library\widgets4\images" /> | |
| 813 | + <Folder Include="library\xml" /> | |
| 814 | + <Folder Include="src" /> | |
| 815 | + <Folder Include="src\generation" /> | |
| 816 | + <Folder Include="src\app" /> | |
| 817 | + <Folder Include="src\utils" /> | |
| 818 | + <Folder Include="src\web_controller" /> | |
| 819 | + <Folder Include="xlib" /> | |
| 820 | + <Folder Include="xlib\asterisk" /> | |
| 821 | + <Folder Include="xlib\database" /> | |
| 822 | + <Folder Include="xlib\database\model" /> | |
| 823 | + <Folder Include="xlib\database\types" /> | |
| 824 | + <Folder Include="xlib\ds_files" /> | |
| 825 | + <Folder Include="xlib\extensions" /> | |
| 826 | + <Folder Include="xlib\file_processor_io" /> | |
| 827 | + <Folder Include="xlib\file_processor_io\yaml" /> | |
| 828 | + <Folder Include="xlib\generic" /> | |
| 829 | + <Folder Include="xlib\generic\types" /> | |
| 830 | + <Folder Include="xlib\mail" /> | |
| 831 | + <Folder Include="xlib\mail\lexers" /> | |
| 832 | + <Folder Include="xlib\mail\types" /> | |
| 833 | + <Folder Include="xlib\mail\types\generated" /> | |
| 834 | + <Folder Include="xlib\network" /> | |
| 835 | + <Folder Include="xlib\net_services" /> | |
| 836 | + <Folder Include="xlib\net_services_protocols" /> | |
| 837 | + <Folder Include="xlib\web_controllers" /> | |
| 838 | + <Folder Include="xlib\obj" /> | |
| 839 | + <Folder Include="xlib\os_tools" /> | |
| 840 | + <Folder Include="xlib\os_tools\freebsd" /> | |
| 841 | + <Folder Include="xlib\os_tools\linux" /> | |
| 842 | + <Folder Include="xlib\os_tools\linux\config" /> | |
| 843 | + <Folder Include="xlib\string" /> | |
| 844 | + <Folder Include="xlib\types" /> | |
| 845 | + <Folder Include="xlib\types\generated" /> | |
| 846 | + <Folder Include="xlib\unit_test" /> | |
| 847 | + <Folder Include="xlib\web" /> | |
| 848 | + <Folder Include="xlib\web\color" /> | |
| 849 | + <Folder Include="xlib\web\fonts" /> | |
| 850 | + <Folder Include="xlib\web\jQuery" /> | |
| 851 | + <Folder Include="xlib\web\jQuery\ui-addon" /> | |
| 852 | + <Folder Include="xlib\web\js" /> | |
| 853 | + <Folder Include="xlib\web\piwik" /> | |
| 854 | + <Folder Include="xlib\web\plugin" /> | |
| 855 | + <Folder Include="xlib\web\types" /> | |
| 856 | + <Folder Include="xlib\web\widgets" /> | |
| 857 | + <Folder Include="xlib\web_controllers\language" /> | |
| 858 | + <Folder Include="xlib\web_controllers\fs" /> | |
| 859 | + </ItemGroup> | |
| 860 | +</Project> | |
| 0 | 861 | \ No newline at end of file | ... | ... |
| 1 | + | |
| 2 | +Microsoft Visual Studio Solution File, Format Version 9.00 | |
| 3 | +# Visual Studio 2005 | |
| 4 | +# SharpDevelop 1.0.12.108 | |
| 5 | +Project("{B6712916-30DE-4a3e-A54C-2A79AC984AEE}") = "hayamiki_generator", "hayamiki_generator.aproj", "7E37A20A-56EA-4128-88F5-FE55B0F5CB45" | |
| 6 | +EndProject | |
| 7 | +Project("{B6712916-30DE-4a3e-A54C-2A79AC984AEE}") = "hayamiki_ds_types", "hayamiki_ds_types.aproj", "{06BE5572-9B4A-4F41-A01E-84C730A8F4E4}" | |
| 8 | +EndProject | |
| 9 | +Project("{B6712916-30DE-4a3e-A54C-2A79AC984AEE}") = "hayamiki_web_controller", "hayamiki_web_controller.aproj", "{90372B21-80FA-4EB8-B17C-072EB55713D7}" | |
| 10 | +EndProject | |
| 11 | +Global | |
| 12 | + GlobalSection(SolutionConfigurationPlatforms) = preSolution | |
| 13 | + Debug|Any CPU = Debug|Any CPU | |
| 14 | + Release|Any CPU = Release|Any CPU | |
| 15 | + EndGlobalSection | |
| 16 | + GlobalSection(ProjectConfigurationPlatforms) = postSolution | |
| 17 | + {89372B21-80FA-4EB8-B17C-072EB55713D6}.Debug|Any CPU.Build.0 = Debug|Any CPU | |
| 18 | + {89372B21-80FA-4EB8-B17C-072EB55713D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |
| 19 | + {89372B21-80FA-4EB8-B17C-072EB55713D6}.Release|Any CPU.Build.0 = Release|Any CPU | |
| 20 | + {89372B21-80FA-4EB8-B17C-072EB55713D6}.Release|Any CPU.ActiveCfg = Release|Any CPU | |
| 21 | + 7E37A20A-56EA-4128-88F5-FE55B0F5CB45.Debug|Any CPU.Build.0 = Debug|Any CPU | |
| 22 | + 7E37A20A-56EA-4128-88F5-FE55B0F5CB45.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |
| 23 | + 7E37A20A-56EA-4128-88F5-FE55B0F5CB45.Release|Any CPU.Build.0 = Release|Any CPU | |
| 24 | + 7E37A20A-56EA-4128-88F5-FE55B0F5CB45.Release|Any CPU.ActiveCfg = Release|Any CPU | |
| 25 | + {06BE5572-9B4A-4F41-A01E-84C730A8F4E4}.Debug|Any CPU.Build.0 = Debug|Any CPU | |
| 26 | + {06BE5572-9B4A-4F41-A01E-84C730A8F4E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |
| 27 | + {06BE5572-9B4A-4F41-A01E-84C730A8F4E4}.Release|Any CPU.Build.0 = Release|Any CPU | |
| 28 | + {06BE5572-9B4A-4F41-A01E-84C730A8F4E4}.Release|Any CPU.ActiveCfg = Release|Any CPU | |
| 29 | + {90372B21-80FA-4EB8-B17C-072EB55713D7}.Debug|Any CPU.Build.0 = Debug|Any CPU | |
| 30 | + {90372B21-80FA-4EB8-B17C-072EB55713D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |
| 31 | + {90372B21-80FA-4EB8-B17C-072EB55713D7}.Release|Any CPU.Build.0 = Release|Any CPU | |
| 32 | + {90372B21-80FA-4EB8-B17C-072EB55713D7}.Release|Any CPU.ActiveCfg = Release|Any CPU | |
| 33 | + EndGlobalSection | |
| 34 | +EndGlobal | ... | ... |
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 17/04/2020 | |
| 5 | + * Time: 10:34 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | + | |
| 10 | +transmit xlib/net_services_protocols/logger_client.anubis | |
| 11 | + | |
| 12 | + | |
| 13 | +public define String debug_log = "Debug". | |
| 14 | + | |
| 15 | +public define One | |
| 16 | + logError | |
| 17 | + ( | |
| 18 | + String logger_name, | |
| 19 | + String log_string | |
| 20 | + )= | |
| 21 | + logError("HK", logger_name, log_string) | |
| 22 | +. | ... | ... |
src/generation/create_table.anubis
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | * Date: 24/01/2016 |
| 5 | 5 | * Time: 18:13 |
| 6 | 6 | |
| 7 | -Hayamiki is Copyright © 2016-2019 by David RENÉ | |
| 7 | +Hayamiki is Copyright © 2016-2020 by David RENÉ | |
| 8 | 8 | All rights reserved. |
| 9 | 9 | |
| 10 | 10 | Redistribution and use in source and binary forms, with or without modification, |
| ... | ... | @@ -311,6 +311,7 @@ define String |
| 311 | 311 | public define Maybe(One) |
| 312 | 312 | generate_create_table |
| 313 | 313 | ( |
| 314 | + String app_name, | |
| 314 | 315 | List(HK_App) apps, //list of the table model description |
| 315 | 316 | String dest_dir, |
| 316 | 317 | String version, |
| ... | ... | @@ -340,8 +341,7 @@ public define Maybe(One) |
| 340 | 341 | */ |
| 341 | 342 | |
| 342 | 343 | read system/logger.anubis |
| 343 | -//read calexium_lib/net_services_protocols/logger_service.anubis | |
| 344 | -read calexium_lib/database/migration_common_sqlite3.anubis | |
| 344 | +read xlib/database/migration_common_sqlite3.anubis | |
| 345 | 345 | read data_base/sqlite_foreign_key.anubis |
| 346 | 346 | read data_base/db_types.anubis\n"+ |
| 347 | 347 | //call the generation of all tables |
| ... | ... | @@ -401,10 +401,9 @@ read system/files.anubis |
| 401 | 401 | read system/logger.anubis |
| 402 | 402 | read data_base/db_tools.anubis |
| 403 | 403 | |
| 404 | -read calexium_lib/database/db_utils.anubis | |
| 405 | -read calexium_lib/database/migration_common_sqlite3.anubis | |
| 406 | -read calexium_lib/database/migration_sqlite3.anubis | |
| 407 | -//read calexium_lib/net_services_protocols/logger_service.anubis | |
| 404 | +read xlib/database/db_utils.anubis | |
| 405 | +read xlib/database/migration_common_sqlite3.anubis | |
| 406 | +read xlib/database/migration_sqlite3.anubis | |
| 408 | 407 | read data_base/alter_table.anubis |
| 409 | 408 | |
| 410 | 409 | read types/app_types.anubis |
| ... | ... | @@ -452,7 +451,7 @@ public define Maybe(One) |
| 452 | 451 | . |
| 453 | 452 | |
| 454 | 453 | global define Migration |
| 455 | - migration_to_v"+version_str+" | |
| 454 | + "+app_name+"_dbm_to_v"+version_str+" | |
| 456 | 455 | = |
| 457 | 456 | migration(db_model_version, migrate_to_v"+version_str+", create_v"+version_str+"_tables, create_v"+version_str+"_indexes) |
| 458 | 457 | . |
| ... | ... | @@ -461,7 +460,7 @@ read hayamiki_lib/view/view_table_manager_types.anubis |
| 461 | 460 | read src/database/generated/vtm.anubis |
| 462 | 461 | |
| 463 | 462 | global define VTM |
| 464 | - vtm_v"+version_str+" | |
| 463 | + "+app_name+"_vtm_v"+version_str+" | |
| 465 | 464 | = |
| 466 | 465 | vtm( |
| 467 | 466 | db_model_version, | ... | ... |
src/generation/cxm_lib_menu.anubis
| ... | ... | @@ -81,8 +81,8 @@ public define Maybe(One) |
| 81 | 81 | * Time: "+_Int_to_ISO_8601_time(now)+" |
| 82 | 82 | */ |
| 83 | 83 | |
| 84 | -transmit calexium_lib/web/CXM_making_a_web_site.anubis | |
| 85 | -transmit calexium_lib/web/widgets/menu.anubis | |
| 84 | +transmit xlib/web/CXM_making_a_web_site.anubis | |
| 85 | +transmit xlib/web/widgets/menu.anubis | |
| 86 | 86 | |
| 87 | 87 | public define List(Menu_Item) |
| 88 | 88 | applications_cxm_lib_menu | ... | ... |
src/generation/fields.anubis
| ... | ... | @@ -51,12 +51,12 @@ public define String |
| 51 | 51 | ) = |
| 52 | 52 | if t is |
| 53 | 53 | { |
| 54 | - p_key then "extern_type(\"DB_id\", \"calexium_lib/database/db_types.anubis\")", | |
| 54 | + p_key then "extern_type(\"DB_id\", \"xlib/database/db_types.anubis\")", | |
| 55 | 55 | boolean_field then "bool", |
| 56 | - date_field(_) then "extern_type(\"DB_date\", \"calexium_lib/database/db_types.anubis\")", | |
| 57 | - time_field(_) then "extern_type(\"DB_time\", \"calexium_lib/database/db_types.anubis\")", | |
| 58 | - datetime_field(_) then "extern_type(\"DB_datetime\", \"calexium_lib/database/db_types.anubis\")", | |
| 59 | - foreign_key(_,_,_,_,_) then "extern_type(\"DB_id\", \"calexium_lib/database/db_types.anubis\")", | |
| 56 | + date_field(_) then "extern_type(\"DB_date\", \"xlib/database/db_types.anubis\")", | |
| 57 | + time_field(_) then "extern_type(\"DB_time\", \"xlib/database/db_types.anubis\")", | |
| 58 | + datetime_field(_) then "extern_type(\"DB_datetime\", \"xlib/database/db_types.anubis\")", | |
| 59 | + foreign_key(_,_,_,_,_) then "extern_type(\"DB_id\", \"xlib/database/db_types.anubis\")", | |
| 60 | 60 | integer_field(_) then "int", |
| 61 | 61 | float_field then "float", |
| 62 | 62 | char_field(_,_) then "string", | ... | ... |
src/generation/files.anubis
| ... | ... | @@ -261,6 +261,7 @@ define Maybe(One) |
| 261 | 261 | |
| 262 | 262 | with db_SHA1 = readString(ini, "DB_MODEL", "SHA1", "N/A"), |
| 263 | 263 | with version = readString(ini, "DB_MODEL", "Version", "0.0.0.0"), |
| 264 | + with app_name= readString(ini, "DB_MODEL", "app_name", ""), | |
| 264 | 265 | println("Saved DB model SHA1 = "+db_SHA1); |
| 265 | 266 | with current_db_SHA1 = to_ascii(sha1(serialize(db))), |
| 266 | 267 | println("Current DB model SHA1 = "+current_db_SHA1); |
| ... | ... | @@ -277,7 +278,7 @@ define Maybe(One) |
| 277 | 278 | println("Generating VTM for Database "+name); |
| 278 | 279 | make_vtm(apps, destination_dir); |
| 279 | 280 | println("Generating create for Database "+name); |
| 280 | - if generate_create_table(apps, destination_dir, version, current_db_SHA1) is failure then println("failure");failure else | |
| 281 | + if generate_create_table(app_name, apps, destination_dir, version, current_db_SHA1) is failure then println("failure");failure else | |
| 281 | 282 | println("Generating menu for Database "+name); |
| 282 | 283 | if generate_hk_menus(apps, destination_dir) is failure then println("failure");failure else |
| 283 | 284 | if generate_cxm_lib_menus(apps, destination_dir) is failure then println("failure");failure else | ... | ... |
src/generation/header.anubis
| ... | ... | @@ -52,16 +52,16 @@ public define Maybe(One) |
| 52 | 52 | */ |
| 53 | 53 | transmit tools/basis.anubis |
| 54 | 54 | |
| 55 | -transmit calexium_lib/web/CXM_making_a_web_site.anubis | |
| 56 | -transmit calexium_lib/web/CXM_common.anubis | |
| 57 | -transmit calexium_lib/web/CXM_web_dump.anubis | |
| 58 | -transmit calexium_lib/web/CXM_web_arg_utils.anubis | |
| 59 | -transmit calexium_lib/web/CXM_json.anubis | |
| 60 | -transmit calexium_lib/web/widgets/icons_set.anubis | |
| 55 | +transmit xlib/web/CXM_making_a_web_site.anubis | |
| 56 | +transmit xlib/web/CXM_common.anubis | |
| 57 | +transmit xlib/web/CXM_web_dump.anubis | |
| 58 | +transmit xlib/web/CXM_web_arg_utils.anubis | |
| 59 | +transmit xlib/web/CXM_json.anubis | |
| 60 | +transmit xlib/web/widgets/icons_set.anubis | |
| 61 | 61 | transmit data_base/sqlite.anubis |
| 62 | 62 | transmit data_base/db_tools.anubis |
| 63 | -transmit calexium_lib/database/db_utils.anubis | |
| 64 | -transmit calexium_lib/database/db_types.anubis | |
| 63 | +transmit xlib/database/db_utils.anubis | |
| 64 | +transmit xlib/database/db_types.anubis | |
| 65 | 65 | transmit hayamiki_lib/view/types/hk_form.anubis |
| 66 | 66 | transmit hayamiki_lib/view/types/hk_view.anubis |
| 67 | 67 | transmit hayamiki_lib/view/types/hk_filter.anubis |
| ... | ... | @@ -71,8 +71,6 @@ transmit system/logger.anubis |
| 71 | 71 | transmit system/datetime.anubis |
| 72 | 72 | transmit system/convert.anubis |
| 73 | 73 | transmit system/string.anubis |
| 74 | - | |
| 75 | -//transmit calexium_lib/net_services_protocols/logger_service.anubis | |
| 76 | 74 | transmit app/app_loggers.anubis |
| 77 | 75 | ") is failure then failure else |
| 78 | 76 | foreign_table_header(stream, columns) | ... | ... |
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 16/02/2017 | |
| 5 | + * Time: 00:39 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | +read system/logger.anubis | |
| 10 | +read xlib/web/controllers_web_site.anubis | |
| 11 | +read hayamiki.anubis | |
| 12 | +read hayamiki_lib/view/view_table_manager_types.anubis | |
| 13 | + | |
| 14 | + | |
| 15 | +public define WEB_Controller | |
| 16 | + get_hk_controller | |
| 17 | + ( | |
| 18 | + SQLite3DataBase db, | |
| 19 | + HK_Database hk_db, | |
| 20 | + VTM _vtm, | |
| 21 | + (LogLevel, String) -> One logger | |
| 22 | + ) | |
| 23 | + = | |
| 24 | + web_controller("hk_c", var(make_hk_actions(db, hk_db, _vtm, logger))) | |
| 25 | +. | |
| 26 | + | |
| 27 | +public define List(WEB_Controller) | |
| 28 | + plugin_get_controller | |
| 29 | + ( | |
| 30 | + SQLite3DataBase db, | |
| 31 | + HK_Database hk_db, | |
| 32 | + VTM _vtm, | |
| 33 | + (LogLevel, String) -> One logger | |
| 34 | + ) = | |
| 35 | + [get_hk_controller(db, hk_db, _vtm, logger)] | |
| 36 | +. | ... | ... |
src/web_controller/database/generated/fs_file.anubis
0 → 100644
| 1 | +/* | |
| 2 | + * Created by 早見木 (Hayamiki). | |
| 3 | + * Database generator written by フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 2020-04-11 | |
| 5 | + * Time: 10:13:41 | |
| 6 | + * | |
| 7 | + */ | |
| 8 | +transmit tools/basis.anubis | |
| 9 | + | |
| 10 | +transmit xlib/web/CXM_making_a_web_site.anubis | |
| 11 | +transmit xlib/web/CXM_common.anubis | |
| 12 | +transmit xlib/web/CXM_web_dump.anubis | |
| 13 | +transmit xlib/web/CXM_web_arg_utils.anubis | |
| 14 | +transmit xlib/web/CXM_json.anubis | |
| 15 | +transmit xlib/web/widgets/icons_set.anubis | |
| 16 | +transmit data_base/sqlite.anubis | |
| 17 | +transmit data_base/db_tools.anubis | |
| 18 | +transmit xlib/database/db_utils.anubis | |
| 19 | +transmit xlib/database/db_types.anubis | |
| 20 | +transmit hayamiki_lib/view/types/hk_form.anubis | |
| 21 | +transmit hayamiki_lib/view/types/hk_view.anubis | |
| 22 | +transmit hayamiki_lib/view/types/hk_filter.anubis | |
| 23 | +transmit hayamiki_lib/types/hayamiki.anubis | |
| 24 | +transmit hayamiki_lib/controller/hk_sql_utils.anubis | |
| 25 | +transmit system/logger.anubis | |
| 26 | +transmit system/datetime.anubis | |
| 27 | +transmit system/convert.anubis | |
| 28 | +transmit system/string.anubis | |
| 29 | +transmit app/app_loggers.anubis | |
| 30 | + | |
| 31 | + | |
| 32 | +transmit types/generated/fs_file.anubis | |
| 33 | + | |
| 34 | + | |
| 35 | +public define Fs_file | |
| 36 | + get_default_fs_file = | |
| 37 | + fs_file(none, db_datetime(""), db_datetime(""), "", "", (Int)0, (Int)0, "", "", "", "", "", "", "", ""). | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | +public define List(String) | |
| 42 | + fs_file_columns = | |
| 43 | + ["create_date", | |
| 44 | + "write_date", | |
| 45 | + "res_model", | |
| 46 | + "res_name", | |
| 47 | + "file_size", | |
| 48 | + "res_id", | |
| 49 | + "description", | |
| 50 | + "res_field", | |
| 51 | + "mimetype", | |
| 52 | + "name", | |
| 53 | + "url", | |
| 54 | + "checksum", | |
| 55 | + "datas_fname", | |
| 56 | + "path" ]. | |
| 57 | + | |
| 58 | +public define String | |
| 59 | + fs_file_select_fields = "fs_file.id, fs_file.create_date, fs_file.write_date, fs_file.res_model, fs_file.res_name, fs_file.file_size, fs_file.res_id, fs_file.description, fs_file.res_field, fs_file.mimetype, fs_file.name, fs_file.url, fs_file.checksum, fs_file.datas_fname, fs_file.path". | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | +public define Maybe(Fs_file) | |
| 64 | + extract_Fs_file_from_web_arg | |
| 65 | + ( | |
| 66 | + List(Web_arg) lwa, | |
| 67 | + String __prefix__ | |
| 68 | + )= | |
| 69 | + with id = get_DB_id(lwa, __prefix__+"id"), | |
| 70 | + with create_date = get_dummy_DB_datetime, | |
| 71 | + with write_date = get_dummy_DB_datetime, | |
| 72 | + if get_String(lwa, __prefix__+"res_model") is {failure then failure, success(res_model) then | |
| 73 | + if get_String(lwa, __prefix__+"res_name") is {failure then failure, success(res_name) then | |
| 74 | + if get_Int(lwa, __prefix__+"file_size") is {failure then failure, success(file_size) then | |
| 75 | + if get_Int(lwa, __prefix__+"res_id") is {failure then failure, success(res_id) then | |
| 76 | + if get_String(lwa, __prefix__+"description") is {failure then failure, success(description) then | |
| 77 | + if get_String(lwa, __prefix__+"res_field") is {failure then failure, success(res_field) then | |
| 78 | + if get_String(lwa, __prefix__+"mimetype") is {failure then failure, success(mimetype) then | |
| 79 | + if get_String(lwa, __prefix__+"name") is {failure then failure, success(name) then | |
| 80 | + if get_String(lwa, __prefix__+"url") is {failure then failure, success(url) then | |
| 81 | + if get_String(lwa, __prefix__+"checksum") is {failure then failure, success(checksum) then | |
| 82 | + if get_String(lwa, __prefix__+"datas_fname") is {failure then failure, success(datas_fname) then | |
| 83 | + if get_String(lwa, __prefix__+"path") is {failure then failure, success(path) then | |
| 84 | + success( | |
| 85 | + fs_file( | |
| 86 | + id, | |
| 87 | + create_date, | |
| 88 | + write_date, | |
| 89 | + res_model, | |
| 90 | + res_name, | |
| 91 | + file_size, | |
| 92 | + res_id, | |
| 93 | + description, | |
| 94 | + res_field, | |
| 95 | + mimetype, | |
| 96 | + name, | |
| 97 | + url, | |
| 98 | + checksum, | |
| 99 | + datas_fname, | |
| 100 | + path)) | |
| 101 | + }}}}}}}}}}}}. | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | +public define Fs_file | |
| 106 | + extract_Fs_file_from_web_arg_with_default | |
| 107 | + ( | |
| 108 | + List(Web_arg) lwa, | |
| 109 | + String __prefix__ | |
| 110 | + )= | |
| 111 | + fs_file( | |
| 112 | + get_DB_id(lwa, __prefix__+"id"), | |
| 113 | + get_dummy_DB_datetime, | |
| 114 | + get_dummy_DB_datetime, | |
| 115 | + get_String(lwa, __prefix__+"res_model", ""), | |
| 116 | + get_String(lwa, __prefix__+"res_name", ""), | |
| 117 | + get_Int(lwa, __prefix__+"file_size", (Int)0), | |
| 118 | + get_Int(lwa, __prefix__+"res_id", (Int)0), | |
| 119 | + get_String(lwa, __prefix__+"description", ""), | |
| 120 | + get_String(lwa, __prefix__+"res_field", ""), | |
| 121 | + get_String(lwa, __prefix__+"mimetype", ""), | |
| 122 | + get_String(lwa, __prefix__+"name", ""), | |
| 123 | + get_String(lwa, __prefix__+"url", ""), | |
| 124 | + get_String(lwa, __prefix__+"checksum", ""), | |
| 125 | + get_String(lwa, __prefix__+"datas_fname", ""), | |
| 126 | + get_String(lwa, __prefix__+"path", ""), | |
| 127 | +) | |
| 128 | +. | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | +public define List(SQLite3_update_field) | |
| 133 | + extract_Fs_file_update_fields_from_web_arg | |
| 134 | + ( | |
| 135 | + List(Web_arg) lwa, | |
| 136 | + String __prefix__ | |
| 137 | + )= | |
| 138 | + []+ | |
| 139 | + []+ | |
| 140 | + [field("write_date", bind_Datetime(":v_write_date", db_now))]+ | |
| 141 | + if get_String(lwa, __prefix__+"res_model") is {failure then [], success(res_model) then [field("res_model", bind_String(":v_res_model", res_model))] }+ | |
| 142 | + if get_String(lwa, __prefix__+"res_name") is {failure then [], success(res_name) then [field("res_name", bind_String(":v_res_name", res_name))] }+ | |
| 143 | + if get_Int(lwa, __prefix__+"file_size") is {failure then [], success(file_size) then [field("file_size", bind_Int(":v_file_size", file_size))] }+ | |
| 144 | + if get_Int(lwa, __prefix__+"res_id") is {failure then [], success(res_id) then [field("res_id", bind_Int(":v_res_id", res_id))] }+ | |
| 145 | + if get_String(lwa, __prefix__+"description") is {failure then [], success(description) then [field("description", bind_String(":v_description", description))] }+ | |
| 146 | + if get_String(lwa, __prefix__+"res_field") is {failure then [], success(res_field) then [field("res_field", bind_String(":v_res_field", res_field))] }+ | |
| 147 | + if get_String(lwa, __prefix__+"mimetype") is {failure then [], success(mimetype) then [field("mimetype", bind_String(":v_mimetype", mimetype))] }+ | |
| 148 | + if get_String(lwa, __prefix__+"name") is {failure then [], success(name) then [field("name", bind_String(":v_name", name))] }+ | |
| 149 | + if get_String(lwa, __prefix__+"url") is {failure then [], success(url) then [field("url", bind_String(":v_url", url))] }+ | |
| 150 | + if get_String(lwa, __prefix__+"checksum") is {failure then [], success(checksum) then [field("checksum", bind_String(":v_checksum", checksum))] }+ | |
| 151 | + if get_String(lwa, __prefix__+"datas_fname") is {failure then [], success(datas_fname) then [field("datas_fname", bind_String(":v_datas_fname", datas_fname))] }+ | |
| 152 | + if get_String(lwa, __prefix__+"path") is {failure then [], success(path) then [field("path", bind_String(":v_path", path))] } | |
| 153 | +. | |
| 154 | + | |
| 155 | + | |
| 156 | +public define Maybe(Fs_file) | |
| 157 | + extract_fs_file | |
| 158 | + ( | |
| 159 | + One -> SQLite3Row table_cursor | |
| 160 | + ) = | |
| 161 | + if table_cursor(unique) is | |
| 162 | + { | |
| 163 | + error(sql_error) then println(db_error(sql_error, "extract_fs_file")); failure, | |
| 164 | + no_more_row then failure, | |
| 165 | + row(cursor) then | |
| 166 | + success( | |
| 167 | + fs_file( | |
| 168 | + db_id((Int)db_integer(cursor)(0)) /* id */, | |
| 169 | + db_datetime(text(cursor)(1)) /* create_date */, | |
| 170 | + db_datetime(text(cursor)(2)) /* write_date */, | |
| 171 | + text(cursor)(3) /* res_model */, | |
| 172 | + text(cursor)(4) /* res_name */, | |
| 173 | + (Int)db_integer(cursor)(5) /* file_size */, | |
| 174 | + (Int)db_integer(cursor)(6) /* res_id */, | |
| 175 | + text(cursor)(7) /* description */, | |
| 176 | + text(cursor)(8) /* res_field */, | |
| 177 | + text(cursor)(9) /* mimetype */, | |
| 178 | + text(cursor)(10) /* name */, | |
| 179 | + text(cursor)(11) /* url */, | |
| 180 | + text(cursor)(12) /* checksum */, | |
| 181 | + text(cursor)(13) /* datas_fname */, | |
| 182 | + text(cursor)(14) /* path */ | |
| 183 | + )) | |
| 184 | + }. | |
| 185 | + | |
| 186 | + | |
| 187 | +public define String get_fs_file_show_string(SQLite3DataBase db, DB_id _idx). | |
| 188 | + | |
| 189 | +define (Int -> SQLite3Datum) -> JsonMember | |
| 190 | + get_extractor | |
| 191 | + ( | |
| 192 | + SQLite3DataBase db, | |
| 193 | + String component_name, | |
| 194 | + Bool resolve_fk | |
| 195 | + )= | |
| 196 | + if component_name ="id" then ((Int -> SQLite3Datum) cursor) |-> json_member("id", json_int((Int)db_integer(cursor)(0))) | |
| 197 | + else if component_name ="create_date" then ((Int -> SQLite3Datum) cursor) |-> json_member("create_date", json_string(text(cursor)(1))) | |
| 198 | + else if component_name ="write_date" then ((Int -> SQLite3Datum) cursor) |-> json_member("write_date", json_string(text(cursor)(2))) | |
| 199 | + else if component_name ="res_model" then ((Int -> SQLite3Datum) cursor) |-> json_member("res_model", json_string(text(cursor)(3))) | |
| 200 | + else if component_name ="res_name" then ((Int -> SQLite3Datum) cursor) |-> json_member("res_name", json_string(text(cursor)(4))) | |
| 201 | + else if component_name ="file_size" then ((Int -> SQLite3Datum) cursor) |-> json_member("file_size", json_int((Int)db_integer(cursor)(5))) | |
| 202 | + else if component_name ="res_id" then ((Int -> SQLite3Datum) cursor) |-> json_member("res_id", json_int((Int)db_integer(cursor)(6))) | |
| 203 | + else if component_name ="description" then ((Int -> SQLite3Datum) cursor) |-> json_member("description", json_string(text(cursor)(7))) | |
| 204 | + else if component_name ="res_field" then ((Int -> SQLite3Datum) cursor) |-> json_member("res_field", json_string(text(cursor)(8))) | |
| 205 | + else if component_name ="mimetype" then ((Int -> SQLite3Datum) cursor) |-> json_member("mimetype", json_string(text(cursor)(9))) | |
| 206 | + else if component_name ="name" then ((Int -> SQLite3Datum) cursor) |-> json_member("name", json_string(text(cursor)(10))) | |
| 207 | + else if component_name ="url" then ((Int -> SQLite3Datum) cursor) |-> json_member("url", json_string(text(cursor)(11))) | |
| 208 | + else if component_name ="checksum" then ((Int -> SQLite3Datum) cursor) |-> json_member("checksum", json_string(text(cursor)(12))) | |
| 209 | + else if component_name ="datas_fname" then ((Int -> SQLite3Datum) cursor) |-> json_member("datas_fname", json_string(text(cursor)(13))) | |
| 210 | + else if component_name ="path" then ((Int -> SQLite3Datum) cursor) |-> json_member("path", json_string(text(cursor)(14))) | |
| 211 | + else if component_name ="__HK_SHOW_STRING__" then ((Int -> SQLite3Datum) cursor) |-> json_member("__HK_SHOW_STRING__", json_string(get_fs_file_show_string(db, db_id((Int)db_integer(cursor)(0))))) | |
| 212 | + else ((Int -> SQLite3Datum) cursor) |-> json_member(component_name, json_null) | |
| 213 | +. | |
| 214 | + | |
| 215 | +public define List(((Int -> SQLite3Datum) -> JsonMember)) | |
| 216 | + make_fs_file_json_extractor | |
| 217 | + ( | |
| 218 | + SQLite3DataBase db, | |
| 219 | + List(String) columns, | |
| 220 | + Bool resolve_fk | |
| 221 | + )= | |
| 222 | + map((String column) |-> get_extractor(db, column, resolve_fk), columns) | |
| 223 | +. | |
| 224 | + | |
| 225 | + | |
| 226 | +public define List(Fs_file) | |
| 227 | + _get_all_fs_file | |
| 228 | + ( | |
| 229 | + One -> SQLite3Row table_cursor, | |
| 230 | + List(Fs_file) so_far | |
| 231 | + ) = | |
| 232 | + if extract_fs_file(table_cursor) is | |
| 233 | + { | |
| 234 | + failure then reverse(so_far), | |
| 235 | + success(data) then _get_all_fs_file(table_cursor, [data . so_far]) | |
| 236 | + }. | |
| 237 | + | |
| 238 | + | |
| 239 | +public define Maybe(One -> SQLite3Row) | |
| 240 | + get_all_fs_file_by_clause | |
| 241 | + ( | |
| 242 | + SQLite3DataBase db, | |
| 243 | + String clause | |
| 244 | + )= | |
| 245 | + with final_clause = if clause = "" then | |
| 246 | + "" | |
| 247 | + else | |
| 248 | + "WHERE "+clause, | |
| 249 | + | |
| 250 | + if sql_query_timeout(db, "SELECT \"id\", \"create_date\", \"write_date\", \"res_model\", \"res_name\", \"file_size\", \"res_id\", \"description\", \"res_field\", \"mimetype\", \"name\", \"url\", \"checksum\", \"datas_fname\", \"path\" FROM fs_file "+final_clause+";", [], "get_all_fs_file_by_clause") is | |
| 251 | + { | |
| 252 | + error(_) then failure, | |
| 253 | + ok(_, cursor, _) then success(cursor) | |
| 254 | + } | |
| 255 | +. | |
| 256 | + | |
| 257 | +public define List(Fs_file) | |
| 258 | + get_all_fs_file_by_clause_to_list_type | |
| 259 | + ( | |
| 260 | + SQLite3DataBase db, | |
| 261 | + String clause | |
| 262 | + )= | |
| 263 | + if get_all_fs_file_by_clause(db, clause) is | |
| 264 | + { | |
| 265 | + failure then [], | |
| 266 | + success(cursor) then _get_all_fs_file(cursor, []) | |
| 267 | + } | |
| 268 | +. | |
| 269 | +public define JsonValue | |
| 270 | + get_all_fs_file_by_clause_to_json | |
| 271 | + ( | |
| 272 | + SQLite3DataBase db, | |
| 273 | + List(String) columns, | |
| 274 | + Bool resolve_fk, | |
| 275 | + HK_Referer referer, | |
| 276 | + String filter, | |
| 277 | + String order_by | |
| 278 | + )= | |
| 279 | + with ref_clause = referer_to_sql_clause(referer, "fs_file", fs_file_columns), | |
| 280 | + with final_columns = if length(columns) = 0 then ["id". fs_file_columns] else columns, | |
| 281 | + | |
| 282 | + with _and_ = if length(ref_clause) > 0 & length(filter) > 0 then " AND " else "", | |
| 283 | + if get_all_fs_file_by_clause(db, ref_clause+_and_+filter+" "+order_by) is | |
| 284 | + { | |
| 285 | + failure then json_array([]), | |
| 286 | + success(cursor) then | |
| 287 | + json_array( | |
| 288 | + get_all_to_json(db, make_fs_file_json_extractor(db, final_columns, resolve_fk), cursor, []) | |
| 289 | + ) | |
| 290 | + } | |
| 291 | +. | |
| 292 | + | |
| 293 | + | |
| 294 | +public define Maybe(Fs_file) | |
| 295 | + get_fs_file_by_clause | |
| 296 | + ( | |
| 297 | + SQLite3DataBase db, | |
| 298 | + String clause | |
| 299 | + )= | |
| 300 | + if sql_query_timeout(db, "SELECT \"id\", \"create_date\", \"write_date\", \"res_model\", \"res_name\", \"file_size\", \"res_id\", \"description\", \"res_field\", \"mimetype\", \"name\", \"url\", \"checksum\", \"datas_fname\", \"path\" FROM fs_file WHERE "+clause+";", [], "get_fs_file_by_clause") is | |
| 301 | + { | |
| 302 | + error(_) then failure, | |
| 303 | + ok(_, cursor, _) then extract_fs_file(cursor) | |
| 304 | + }. | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | +public define Maybe(Fs_file) | |
| 309 | + get_mb_fs_file | |
| 310 | + ( | |
| 311 | + SQLite3DataBase db, | |
| 312 | + String idx | |
| 313 | + )= | |
| 314 | + get_fs_file_by_clause(db, " id = "+idx). | |
| 315 | + | |
| 316 | +public define Maybe(Fs_file) | |
| 317 | + get_mb_fs_file | |
| 318 | + ( | |
| 319 | + SQLite3DataBase db, | |
| 320 | + Int idx | |
| 321 | + )= | |
| 322 | + get_fs_file_by_clause(db, " id = "+to_decimal(idx)). | |
| 323 | + | |
| 324 | +public define Maybe(Fs_file) | |
| 325 | + get_mb_fs_file | |
| 326 | + ( | |
| 327 | + SQLite3DataBase db, | |
| 328 | + DB_id idx | |
| 329 | + )= | |
| 330 | + if idx is | |
| 331 | + { | |
| 332 | + none then failure, | |
| 333 | + db_id(_idx) then get_mb_fs_file(db, _idx) | |
| 334 | + }. | |
| 335 | + | |
| 336 | +public define Fs_file | |
| 337 | + get_fs_file | |
| 338 | + ( | |
| 339 | + SQLite3DataBase db, | |
| 340 | + DB_id idx | |
| 341 | + )= | |
| 342 | + if idx is | |
| 343 | + { | |
| 344 | + none then get_default_fs_file, | |
| 345 | + db_id(_idx) then | |
| 346 | + if get_fs_file_by_clause(db, " id = "+to_decimal(_idx)) is | |
| 347 | + { | |
| 348 | + failure then get_default_fs_file, | |
| 349 | + success(r) then r | |
| 350 | + } | |
| 351 | + }. | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | +public define JsonValue | |
| 356 | + get_one_fs_file_to_json | |
| 357 | + ( | |
| 358 | + SQLite3DataBase db, | |
| 359 | + List(String) columns, | |
| 360 | + Bool resolve_fk, | |
| 361 | + DB_id idx | |
| 362 | + )= | |
| 363 | + with final_columns = if length(columns) = 0 then ["id", "__HK_SHOW_STRING__". fs_file_columns] else columns, | |
| 364 | + with error = json_object(map((String col_name) |-> json_member(col_name, json_null), final_columns)), | |
| 365 | + | |
| 366 | + if idx is | |
| 367 | + { | |
| 368 | + none then error, | |
| 369 | + db_id(_idx) then | |
| 370 | + if get_all_fs_file_by_clause(db, "id="+to_decimal(_idx)) is | |
| 371 | + { | |
| 372 | + failure then error, | |
| 373 | + success(cursor) then | |
| 374 | + if extract_cursor_to_json(db, make_fs_file_json_extractor(db, final_columns, resolve_fk), cursor) is | |
| 375 | + { | |
| 376 | + failure then error, | |
| 377 | + success(result) then result | |
| 378 | + } | |
| 379 | + } | |
| 380 | + } | |
| 381 | +. | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | +public define Maybe(Int) | |
| 386 | + update_fs_file | |
| 387 | + ( | |
| 388 | + SQLite3DataBase db, | |
| 389 | + Fs_file fs_file | |
| 390 | + )= | |
| 391 | + if fs_file.id is | |
| 392 | + { | |
| 393 | + none then | |
| 394 | + if sql_query_timeout(db, | |
| 395 | + "INSERT INTO fs_file | |
| 396 | + (\"create_date\", \"write_date\", \"res_model\", \"res_name\", \"file_size\", \"res_id\", \"description\", \"res_field\", \"mimetype\", \"name\", \"url\", \"checksum\", \"datas_fname\", \"path\") | |
| 397 | + VALUES | |
| 398 | + (:v_create_date, :v_write_date, :v_res_model, :v_res_name, :v_file_size, :v_res_id, :v_description, :v_res_field, :v_mimetype, :v_name, :v_url, :v_checksum, :v_datas_fname, :v_path);", | |
| 399 | + [ | |
| 400 | + bind_Datetime(":v_create_date", db_now), | |
| 401 | + bind_Datetime(":v_write_date", db_now), | |
| 402 | + bind_String_or_NULL(":v_res_model", fs_file.res_model), | |
| 403 | + bind_String_or_NULL(":v_res_name", fs_file.res_name), | |
| 404 | + bind_Int(":v_file_size", fs_file.file_size), | |
| 405 | + bind_Int(":v_res_id", fs_file.res_id), | |
| 406 | + bind_String_or_NULL(":v_description", fs_file.description), | |
| 407 | + bind_String_or_NULL(":v_res_field", fs_file.res_field), | |
| 408 | + bind_String_or_NULL(":v_mimetype", fs_file.mimetype), | |
| 409 | + bind_String(":v_name", fs_file.name), | |
| 410 | + bind_String_or_NULL(":v_url", fs_file.url), | |
| 411 | + bind_String_or_NULL(":v_checksum", fs_file.checksum), | |
| 412 | + bind_String_or_NULL(":v_datas_fname", fs_file.datas_fname), | |
| 413 | + bind_String_or_NULL(":v_path", fs_file.path)], | |
| 414 | + "update_fs_file (INSERT)") is | |
| 415 | + { | |
| 416 | + error(sql_error) then | |
| 417 | + //logError(debug_log, db_error(sql_error, table_name)); | |
| 418 | + failure, | |
| 419 | + ok(_, cursor, _) then | |
| 420 | + if sql_query_scalar(db, "SELECT last_insert_rowid()") is | |
| 421 | + { | |
| 422 | + error(_) then failure, | |
| 423 | + ok(datum) then | |
| 424 | + with r = if datum is integer(n) then n else 0, | |
| 425 | + success(r) | |
| 426 | + } | |
| 427 | + }, | |
| 428 | + db_id(idx) then | |
| 429 | + if sql_query_timeout(db, | |
| 430 | + "UPDATE fs_file SET | |
| 431 | + \"write_date\" = :v_write_date, \"res_model\" = :v_res_model, \"res_name\" = :v_res_name, \"file_size\" = :v_file_size, \"res_id\" = :v_res_id, \"description\" = :v_description, \"res_field\" = :v_res_field, \"mimetype\" = :v_mimetype, \"name\" = :v_name, \"url\" = :v_url, \"checksum\" = :v_checksum, \"datas_fname\" = :v_datas_fname, \"path\" = :v_path | |
| 432 | + WHERE id = "+idx+";", | |
| 433 | + [ | |
| 434 | + bind_Datetime(":v_write_date", db_now), | |
| 435 | + bind_String_or_NULL(":v_res_model", fs_file.res_model), | |
| 436 | + bind_String_or_NULL(":v_res_name", fs_file.res_name), | |
| 437 | + bind_Int(":v_file_size", fs_file.file_size), | |
| 438 | + bind_Int(":v_res_id", fs_file.res_id), | |
| 439 | + bind_String_or_NULL(":v_description", fs_file.description), | |
| 440 | + bind_String_or_NULL(":v_res_field", fs_file.res_field), | |
| 441 | + bind_String_or_NULL(":v_mimetype", fs_file.mimetype), | |
| 442 | + bind_String(":v_name", fs_file.name), | |
| 443 | + bind_String_or_NULL(":v_url", fs_file.url), | |
| 444 | + bind_String_or_NULL(":v_checksum", fs_file.checksum), | |
| 445 | + bind_String_or_NULL(":v_datas_fname", fs_file.datas_fname), | |
| 446 | + bind_String_or_NULL(":v_path", fs_file.path)], | |
| 447 | + "update_fs_file (UPDATE)") is { | |
| 448 | + error(sql_error) then | |
| 449 | + logError(debug_log, db_error(sql_error, "update_fs_file")); failure, | |
| 450 | + ok(_, _, _) then success(idx) } | |
| 451 | + }. | |
| 452 | + | |
| 453 | +public define Maybe(Int) | |
| 454 | + update_fs_file_from_type | |
| 455 | + ( | |
| 456 | + SQLite3DataBase db, | |
| 457 | + List(Web_arg) lwa | |
| 458 | + )= | |
| 459 | + if extract_Fs_file_from_web_arg(lwa, "") is | |
| 460 | + { | |
| 461 | + failure then logError(debug_log, "update_fs_file extract_Fs_file_from_web_arg is failure"); failure, | |
| 462 | + success(fs_file) then update_fs_file(db, fs_file) | |
| 463 | + }. | |
| 464 | + | |
| 465 | +public define Maybe(Int) | |
| 466 | + update_fs_file_from_fields | |
| 467 | + ( | |
| 468 | + SQLite3DataBase db, | |
| 469 | + List(Web_arg) lwa | |
| 470 | + )= | |
| 471 | + insert_or_update(db, "fs_file", get_DB_id(lwa, "id"), extract_Fs_file_update_fields_from_web_arg(lwa, "")) | |
| 472 | +. | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | +public define String | |
| 477 | + get_fs_file_show_string | |
| 478 | + ( | |
| 479 | + SQLite3DataBase db, | |
| 480 | + DB_id _idx | |
| 481 | + )= | |
| 482 | + if _idx is | |
| 483 | + { | |
| 484 | + none then default_select, | |
| 485 | + db_id(idx) then | |
| 486 | + if get_mb_fs_file(db, idx) is | |
| 487 | + { | |
| 488 | + failure then default_select, | |
| 489 | + success(obj) then obj.name | |
| 490 | + } | |
| 491 | + }. | |
| 492 | + | |
| 493 | +define List((List(CoreAttrs), WebArgValue, String)) | |
| 494 | + _get_selector_fs_file | |
| 495 | + ( | |
| 496 | + SQLite3DataBase db, | |
| 497 | + List(Fs_file) list, | |
| 498 | + List((List(CoreAttrs), WebArgValue, String)) so_far | |
| 499 | + )= | |
| 500 | + if list is | |
| 501 | + { | |
| 502 | + [] then [selector_default_entry . reverse(so_far)], | |
| 503 | + [ h . t ] then | |
| 504 | + if h.id is | |
| 505 | + { | |
| 506 | + none then [selector_default_entry], | |
| 507 | + db_id(_id) then _get_selector_fs_file(db, t, [([], wav(to_String(_id)), get_fs_file_show_string(db, h.id)) . so_far]) | |
| 508 | + } | |
| 509 | + }. | |
| 510 | + | |
| 511 | +public define List((List(CoreAttrs), WebArgValue, String)) | |
| 512 | + get_selector_fs_file | |
| 513 | + ( | |
| 514 | + SQLite3DataBase db, | |
| 515 | + HK_Referer referer, | |
| 516 | + String filter | |
| 517 | + )= | |
| 518 | + with clause = referer_to_sql_clause(referer, "fs_file", fs_file_columns), | |
| 519 | + | |
| 520 | + with _and_ = if length(clause) > 0 & length(filter) > 0 then " AND " else "", | |
| 521 | + _get_selector_fs_file(db, get_all_fs_file_by_clause_to_list_type(db, clause+_and_+filter), []). | |
| 522 | + | |
| 523 | +public define List((String, List(HK_Filter))) | |
| 524 | + get_all_fs_file_view_name | |
| 525 | + ( | |
| 526 | + One dummy | |
| 527 | + )= | |
| 528 | + [ | |
| 529 | + ("default", []) | |
| 530 | + ] | |
| 531 | +. | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | +define VT_view | |
| 536 | + _get_viewable_fs_file_default | |
| 537 | + = | |
| 538 | + with header = vt_view_row_header([ | |
| 539 | + text("CREATE_DATE"), | |
| 540 | + text("WRITE_DATE"), | |
| 541 | + text("RES_MODEL"), | |
| 542 | + text("RES_NAME"), | |
| 543 | + text("FILE_SIZE"), | |
| 544 | + text("RES_ID"), | |
| 545 | + text("DESCRIPTION"), | |
| 546 | + text("RES_FIELD"), | |
| 547 | + text("MIMETYPE"), | |
| 548 | + text("NAME"), | |
| 549 | + text("URL"), | |
| 550 | + text("CHECKSUM"), | |
| 551 | + text("DATAS_FNAME"), | |
| 552 | + text("PATH") | |
| 553 | + ]), | |
| 554 | + with model = vt_view_model([ | |
| 555 | + primary_key, | |
| 556 | + datetime("CREATE_DATE", "create_date", no_help_text), | |
| 557 | + datetime("WRITE_DATE", "write_date", no_help_text), | |
| 558 | + text("RES_MODEL", "res_model", no_help_text), | |
| 559 | + text("RES_NAME", "res_name", no_help_text), | |
| 560 | + integer("FILE_SIZE", "file_size", no_help_text), | |
| 561 | + integer("RES_ID", "res_id", no_help_text), | |
| 562 | + text_area("DESCRIPTION", "description", no_help_text), | |
| 563 | + text("RES_FIELD", "res_field", no_help_text), | |
| 564 | + text("MIMETYPE", "mimetype", no_help_text), | |
| 565 | + text("NAME", "name", no_help_text), | |
| 566 | + text("URL", "url", no_help_text), | |
| 567 | + text("CHECKSUM", "checksum", no_help_text), | |
| 568 | + text("DATAS_FNAME", "datas_fname", no_help_text), | |
| 569 | + text("PATH", "path", no_help_text) | |
| 570 | + ]), | |
| 571 | + vt_view( | |
| 572 | + "fs_file", //Name of the database table | |
| 573 | + "default", //Name of the view | |
| 574 | + model, | |
| 575 | + header | |
| 576 | + ) | |
| 577 | +. | |
| 578 | + | |
| 579 | +public define VT_view | |
| 580 | + get_viewable_fs_file | |
| 581 | + ( | |
| 582 | + String view, | |
| 583 | + )= | |
| 584 | + if view = "default" then | |
| 585 | + _get_viewable_fs_file_default | |
| 586 | + else | |
| 587 | + _get_viewable_fs_file_default | |
| 588 | +. | |
| 589 | + | |
| 590 | + | |
| 591 | +define HK_Form | |
| 592 | + _get_editable_fs_file_default | |
| 593 | + ( | |
| 594 | + Fs_file fs_file, | |
| 595 | + SQLite3DataBase db | |
| 596 | + )= | |
| 597 | + with edit_entries = (List(HK_Form_Entry)) | |
| 598 | + [ | |
| 599 | + hidden("id", to_String(fs_file.id)), | |
| 600 | + primary_key(to_String(fs_file.id)), | |
| 601 | + information("CREATE_DATE", "create_date", fs_file.create_date.datetime, 18, no_help_text), | |
| 602 | + information("WRITE_DATE", "write_date", fs_file.write_date.datetime, 18, no_help_text), | |
| 603 | + text("RES_MODEL", "res_model", fs_file.res_model, no_help_text), | |
| 604 | + text("RES_NAME", "res_name", fs_file.res_name, no_help_text), | |
| 605 | + integer("FILE_SIZE", "file_size", fs_file.file_size, no_help_text), | |
| 606 | + integer("RES_ID", "res_id", fs_file.res_id, no_help_text), | |
| 607 | + text_area("DESCRIPTION", "description", fs_file.description, none, no_help_text), | |
| 608 | + text("RES_FIELD", "res_field", fs_file.res_field, no_help_text), | |
| 609 | + text("MIMETYPE", "mimetype", fs_file.mimetype, no_help_text), | |
| 610 | + text("NAME", "name", fs_file.name, no_help_text), | |
| 611 | + text("URL", "url", fs_file.url, no_help_text), | |
| 612 | + text("CHECKSUM", "checksum", fs_file.checksum, no_help_text), | |
| 613 | + text("DATAS_FNAME", "datas_fname", fs_file.datas_fname, no_help_text), | |
| 614 | + text("PATH", "path", fs_file.path, no_help_text) | |
| 615 | + ], | |
| 616 | + hk_form_in_list("fs_file", "default", edit_entries, []). | |
| 617 | + | |
| 618 | +public define HK_Form | |
| 619 | + get_editable_fs_file | |
| 620 | + ( | |
| 621 | + SQLite3DataBase db, | |
| 622 | + HK_Form_action action, | |
| 623 | + String editor_view | |
| 624 | + )= | |
| 625 | + with fs_file = if action is | |
| 626 | + { | |
| 627 | + new_entry then get_default_fs_file | |
| 628 | + edit_entry(idx) then get_fs_file(db, idx) | |
| 629 | + }, | |
| 630 | + if editor_view = "default" then | |
| 631 | + _get_editable_fs_file_default(fs_file, db) | |
| 632 | + else | |
| 633 | + _get_editable_fs_file_default(fs_file, db) | |
| 634 | +. | ... | ... |
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 16/02/2017 | |
| 5 | + * Time: 00:40 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | +//read types/app_types.anubis | |
| 10 | +read system/logger.anubis | |
| 11 | + | |
| 12 | +read hayamiki_lib/view/types/hk_form.anubis | |
| 13 | +read hayamiki_lib/view/types/hk_view.anubis | |
| 14 | +read hayamiki_lib/view/view_table_manager_types.anubis | |
| 15 | +read hayamiki_lib/view/view_table_manager.anubis | |
| 16 | +read hayamiki_lib/view/view_apps_renderer.anubis | |
| 17 | +transmit hayamiki_lib/view/web_action.anubis | |
| 18 | +transmit hayamiki_lib/view/view_table_renderer.anubis | |
| 19 | +transmit hayamiki_lib/view/view_editor_renderer.anubis | |
| 20 | +transmit hayamiki_lib/view/view_rows_import.anubis | |
| 21 | +transmit hayamiki_lib/types/hayamiki.anubis | |
| 22 | +transmit hayamiki_lib/model/utils.anubis | |
| 23 | +transmit hayamiki_lib/controller/hk_rows_import.anubis | |
| 24 | +transmit hayamiki_lib/controller/hk_sql_utils.anubis | |
| 25 | +transmit hayamiki_lib/controller/hk_delete.anubis | |
| 26 | + | |
| 27 | +read system/string.anubis | |
| 28 | +read locale/L3.anubis | |
| 29 | +read tools/basis.anubis | |
| 30 | + | |
| 31 | +read system/convert.anubis | |
| 32 | + | |
| 33 | +//read utils.anubis | |
| 34 | +read locale/L3LanguageInfo.anubis | |
| 35 | +read xlib/web/CXM_common.anubis | |
| 36 | +read xlib/web/CXM_web_arg_utils.anubis | |
| 37 | +read xlib/web/controllers_web_site.anubis | |
| 38 | +read xlib/web/CXM_multihost_http_server.anubis | |
| 39 | +read xlib/web/CXM_form.anubis | |
| 40 | +read xlib/web/CXM_json.anubis | |
| 41 | +read xlib/web/CXM_web_dump.anubis | |
| 42 | +read xlib/web/widgets/left_menu.anubis | |
| 43 | +//read database/users.anubis | |
| 44 | + | |
| 45 | + | |
| 46 | +read xlib/web/widgets/css_helper.anubis | |
| 47 | +read xlib/web/CXM_page_message.anubis | |
| 48 | + | |
| 49 | +//read app/app_constants.anubis | |
| 50 | +//read config/app_config.anubis | |
| 51 | + | |
| 52 | +read hayamiki_lib/controller/hk_controller.anubis | |
| 53 | + | |
| 54 | +//read database/vtm_init.anubis | |
| 55 | + | |
| 56 | +read xlib/web_controllers/language/language_management.anubis | |
| 57 | +//read web_controllers/access_and_rights.anubis | |
| 58 | +//read web_controllers/root/web_action.anubis | |
| 59 | +read hkc_files_management.anubis | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | +public define WEB_Controller_Result | |
| 64 | + compute_ajax_edit_table_entry_page | |
| 65 | + ( | |
| 66 | + SQLite3DataBase db, | |
| 67 | + (String) -> String _T, | |
| 68 | + String lang, | |
| 69 | + List(Web_arg) lwa, | |
| 70 | + String table, | |
| 71 | + String edit_view_name, | |
| 72 | + HK_Form_action action, | |
| 73 | + VTM vtm, | |
| 74 | + String clause, | |
| 75 | + String fk_clause, | |
| 76 | + HK_Referer referer | |
| 77 | + ) = | |
| 78 | + | |
| 79 | + with dialog_id = get_String(lwa, "dialog_id", "edit_table_dlg_ajax"), | |
| 80 | +// println("compute_ajax_edit_table_entry_page: table["+table+"] edit_view_name ["+edit_view_name+"] dialog_id ["+dialog_id+"]"); | |
| 81 | +// println("clause ["+clause+"] fk_clause["+fk_clause+"]"); | |
| 82 | + | |
| 83 | + | |
| 84 | + if edit_table_content(db, _T, lang, /*web_site_directory,*/ lwa, /*dialog_id,*/ table, edit_view_name, action, vtm, /*clause,*/ fk_clause, referer) is | |
| 85 | + { | |
| 86 | + failure then | |
| 87 | + redirect_to_previous, //compute_page_error(tb, http_ok, error("TABLE_EDITOR_DOESNT_EXIST")), | |
| 88 | + success(content) then | |
| 89 | + | |
| 90 | + with additional_script = | |
| 91 | +"$('#"+dialog_id+" .datepicker').datetimepicker({lang:'"+lang+"',timepicker:false}); | |
| 92 | + $('#"+dialog_id+" .datetimepicker').datetimepicker({lang:'"+lang+"', format:'Y-m-d H:i'}); | |
| 93 | + $('#"+dialog_id+" .timepicker').datetimepicker({lang:'"+lang+"',datepicker:false,format:'H:i',step:5}); | |
| 94 | + $( \"input[type=submit], button\" ).button();", | |
| 95 | + | |
| 96 | +// ajax(json(http_ok, to_html_ajax_content(content, cinfo, additional_script))) | |
| 97 | + ajax(failure, content, additional_script) | |
| 98 | + }. | |
| 99 | + | |
| 100 | + public define HTTP_Answer | |
| 101 | + compute_view_table_page | |
| 102 | + ( | |
| 103 | + Admin_Tool_Box tb, | |
| 104 | + Page_message errMsg, | |
| 105 | + String table, | |
| 106 | + String view_name, | |
| 107 | + String action_name, | |
| 108 | + VTM vtm | |
| 109 | + ) = | |
| 110 | + since tb is admin_tool_box( lang, lwa, _T, _, db ), | |
| 111 | + if view_table_content( db, _T, lang, web_site_directory, table, view_name, action_name, vtm) is | |
| 112 | + { | |
| 113 | + failure then compute_page_error(tb, http_ok, error_translate("TABLE_DOESNT_EXIST")), | |
| 114 | + success(content) then generic_space_page(tb, "", errMsg, content, admin_fisheye_menu, "admin_menu", left_menu(admin_left_menu,"")) | |
| 115 | + }. | |
| 116 | + | |
| 117 | +define (WEB_Session) -> WEB_Controller_Result | |
| 118 | + ajax_edit_table | |
| 119 | + ( | |
| 120 | + SQLite3DataBase db, | |
| 121 | + VTM _vtm | |
| 122 | + )= | |
| 123 | + ( | |
| 124 | + WEB_Session _session | |
| 125 | + ) |-> | |
| 126 | + with _T = make_translate_function(_session), | |
| 127 | + lwa = *_session.web_request.lwa, | |
| 128 | + lang = _session.language, | |
| 129 | + | |
| 130 | + if web_arg_value(lwa, "table_name") is // table name | |
| 131 | + { | |
| 132 | + not_found then redirect_to_previous, | |
| 133 | + found(table_name) then | |
| 134 | + //get the name of editor to use | |
| 135 | + with view_name = get_String(lwa, "view_name", "default"), | |
| 136 | + with clause = get_String(lwa, "clause", ""), | |
| 137 | + with fk_clause = get_String(lwa, "fk_filter", ""), | |
| 138 | + with referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 139 | + with db_id = get_DB_id(lwa, "id"), | |
| 140 | + if db_id is // primary key | |
| 141 | + { | |
| 142 | + none then | |
| 143 | + compute_ajax_edit_table_entry_page(db, _T, lang, lwa, table_name, view_name, new_entry, _vtm, clause, fk_clause, referer), | |
| 144 | + db_id(id) then | |
| 145 | + compute_ajax_edit_table_entry_page(db, _T, lang, lwa, table_name, view_name, edit_entry(db_id), _vtm, clause, fk_clause, referer) | |
| 146 | + } | |
| 147 | + } | |
| 148 | +. | |
| 149 | + | |
| 150 | +define (WEB_Session) -> WEB_Controller_Result | |
| 151 | + grid_view_json | |
| 152 | + ( | |
| 153 | + SQLite3DataBase db, | |
| 154 | + VTM _vtm | |
| 155 | + )= | |
| 156 | + ( | |
| 157 | + WEB_Session _session | |
| 158 | + ) |-> | |
| 159 | + with _T = make_translate_function(_session), | |
| 160 | + lwa = *_session.web_request.lwa, | |
| 161 | + lang = _session.language, | |
| 162 | + with error_result = ajax(json(http_ok, | |
| 163 | + json_object([ | |
| 164 | + json_member("page", json_int(0)), | |
| 165 | + json_member("total", json_int(0)), | |
| 166 | + json_member("records", json_int(0)), | |
| 167 | + json_member("rows",json_array([])) | |
| 168 | + ]) | |
| 169 | + )), | |
| 170 | + | |
| 171 | + if get_String(lwa, "table_name") is // table name | |
| 172 | + { | |
| 173 | + failure then redirect_to_previous, | |
| 174 | + success(table_name) then | |
| 175 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 176 | + { | |
| 177 | + failure then | |
| 178 | + println("Can't get "+table_name+" hk_controller"); | |
| 179 | + error_result, | |
| 180 | + success(controller) then | |
| 181 | + //get the name of editor to use | |
| 182 | + with view_name = get_String(lwa, "view_name", "default"), | |
| 183 | + _filter_name = get_String(lwa, "filter_name", ""), | |
| 184 | + search = get_String(lwa, "_search", "false"), | |
| 185 | + limit = get_Int(lwa, "rows", 0), | |
| 186 | + page = get_Int(lwa, "page", 1), | |
| 187 | + sord = get_String(lwa, "sord", "asc"), | |
| 188 | + sidx = get_String(lwa, "sidx", "id"), | |
| 189 | + _clause = get_String(lwa, "clause", "1 = 1"), | |
| 190 | + referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 191 | + | |
| 192 | + if vtm_get_view(table_name, _vtm.view_list) is | |
| 193 | + { | |
| 194 | + failure then redirect_to_previous, | |
| 195 | + success(vtm_v) then | |
| 196 | + | |
| 197 | + with _filter = get_filter_from_name(vtm_v, view_name, _filter_name), | |
| 198 | + println("_filter name: "+_filter.filter_name); | |
| 199 | + println("_filter query: "+_filter.filter_string); | |
| 200 | + with clause = if _filter.filter_string = "" then //filter_string is empty, hence | |
| 201 | + if _clause = "" then //check if clause is empty | |
| 202 | + "" | |
| 203 | + else //return only clause because filter_strinf is empty | |
| 204 | + _clause | |
| 205 | + else if _clause = "" then //if clause is empty return only the filter_string | |
| 206 | + _filter.filter_string | |
| 207 | + else //in that case the filter_string and clause are not empty | |
| 208 | + "("+_filter.filter_string+") AND "+_clause, | |
| 209 | + | |
| 210 | + println("grid_view_json final clause : ["+clause+"])"); | |
| 211 | + with number = controller.get_count(db, if clause = "" then "" else "WHERE "+clause), | |
| 212 | + | |
| 213 | + with total_page = if number/limit is success(result) then since result is (pages, fraction), pages + if fraction > 0 then 1 else 0 else 1, | |
| 214 | + with new_page = if total_page < page then total_page else page, | |
| 215 | + with new_sidx = if sidx = "" then "id" else sidx, | |
| 216 | + with start = limit * new_page - limit, | |
| 217 | + ajax(json(http_ok, | |
| 218 | + json_object([ | |
| 219 | + json_member("page", json_int(new_page)), | |
| 220 | + json_member("total", json_int(total_page)), | |
| 221 | + json_member("records", json_int(number)), | |
| 222 | + json_member("query_date", json_string(get_current_datetime_ISO)), | |
| 223 | + json_member("rows", controller.get_rows_json(db, [], true, referer, clause, " ORDER BY "+new_sidx+" "+sord+" LIMIT "+start+", "+limit)) | |
| 224 | + ]) | |
| 225 | + )) | |
| 226 | + }}} | |
| 227 | +. | |
| 228 | + | |
| 229 | +define (WEB_Session) -> WEB_Controller_Result | |
| 230 | + combo_search | |
| 231 | + ( | |
| 232 | + SQLite3DataBase db, | |
| 233 | + VTM _vtm | |
| 234 | + )= | |
| 235 | + ( | |
| 236 | + WEB_Session _session | |
| 237 | + ) |-> | |
| 238 | + with _T = make_translate_function(_session), | |
| 239 | + lwa = *_session.web_request.lwa, | |
| 240 | + lang = _session.language, | |
| 241 | + println("COMBO SEARCH"); | |
| 242 | + | |
| 243 | + //construct the error result | |
| 244 | + with error_result = ajax(json(http_ok, | |
| 245 | + json_object([ | |
| 246 | + json_member("cnt_whole", json_int(0)), | |
| 247 | + json_member("result",json_array([])) | |
| 248 | + ]) | |
| 249 | + )), | |
| 250 | + | |
| 251 | + if get_String(lwa, "db_table") is // table name | |
| 252 | + { | |
| 253 | + failure then | |
| 254 | + println("db_table argument not found"); | |
| 255 | + error_result, | |
| 256 | + success(table_name) then | |
| 257 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 258 | + { | |
| 259 | + failure then | |
| 260 | + println("Can't get "+table_name+" hk_controller"); | |
| 261 | + error_result, | |
| 262 | + success(controller) then | |
| 263 | + | |
| 264 | + //get the page to return | |
| 265 | + if get_Int(lwa, "page_num") is | |
| 266 | + { | |
| 267 | + failure then //initial value because without paging | |
| 268 | + with pkey_name = get_String(lwa, "pkey_name", "id"), | |
| 269 | + pkey_val = get_DB_id(lwa, "pkey_val"), | |
| 270 | + ajax(json(http_ok, controller.get_one_json(db, [], true, pkey_val))), | |
| 271 | + | |
| 272 | + success(page) then | |
| 273 | + with | |
| 274 | + search_words = get_String_list(lwa, "q_word[]"), | |
| 275 | + search_fields = get_String_list(lwa, "search_field[]"), | |
| 276 | + active_filters = get_String_list(lwa, "active_filter[]"), //active filter format is "column_name,id" | |
| 277 | + limit = get_Int(lwa, "per_page", 10), //limit | |
| 278 | + and_or = get_String(lwa, "and_or", "OR"), | |
| 279 | + sidx = get_String(lwa, "sidx", "id"), | |
| 280 | + referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 281 | + //TODO add active filters here | |
| 282 | + | |
| 283 | + //active_filters = | |
| 284 | + with active_filter_clause = | |
| 285 | + join(" AND ", | |
| 286 | + map_select((String tuple ) |-> //here we get the tuple "column_name,id" | |
| 287 | + //slipt by the ',' and gather the column_name and the id | |
| 288 | + with splited = split_by_token(tuple, ','), | |
| 289 | + if splited is | |
| 290 | + { | |
| 291 | + [] then failure, | |
| 292 | + [ column_name . t] then | |
| 293 | + if t is | |
| 294 | + { | |
| 295 | + [] then failure, | |
| 296 | + [id . _] then success(column_name+" = "+id) | |
| 297 | + } | |
| 298 | + } | |
| 299 | + , active_filters)), | |
| 300 | + | |
| 301 | + show_string = "__SHOW_STRING__":search_fields, | |
| 302 | + | |
| 303 | + //construct the search clause based of the given words and fields | |
| 304 | + with _search_clause = | |
| 305 | + join(" "+and_or+" ", | |
| 306 | + map((String word) | |
| 307 | + |-> | |
| 308 | + //here construct like map with the searched word with all fields | |
| 309 | + "("+join(" OR ", map_select((String field) |-> if field = "__HK_SHOW_STRING__" /* if __HK_SHOW_STRING__ then exclude from search */ then failure else success(field+" LIKE '%"+word+"%'"), search_fields)) + ")" | |
| 310 | + ,search_words)), | |
| 311 | + | |
| 312 | + //finaly construct the full search clause with by concates the words clause and active filters clause | |
| 313 | + with search_clause = if length(active_filter_clause) > 0 then _search_clause + " AND ("+active_filter_clause+") " else _search_clause, | |
| 314 | + | |
| 315 | + println("combo_search final clause : ["+search_clause+"])"); | |
| 316 | + with number = controller.get_count(db, if search_clause = "" then "" else "WHERE "+search_clause), | |
| 317 | + //OFFSET | |
| 318 | + with offset = (page-1) * limit, | |
| 319 | + //ORDER BY | |
| 320 | + //order_by = join(", ", l_order_by), | |
| 321 | + with total_page = if number/limit is success(result) then since result is (pages, fraction), pages + if fraction > 0 then 1 else 0 else 1, | |
| 322 | + with new_page = if total_page < page then total_page else page, | |
| 323 | +// with new_sidx = sidx, | |
| 324 | +// with start = limit * new_page - limit, | |
| 325 | + ajax(json(http_ok, | |
| 326 | + json_object([ | |
| 327 | + json_member("cnt_whole", json_int(number)), | |
| 328 | + json_member("result", controller.get_rows_json(db, ["id" . search_fields], true, referer, search_clause, " LIMIT "+offset+", "+limit)) | |
| 329 | + ]) | |
| 330 | + )) | |
| 331 | + }}} | |
| 332 | +. | |
| 333 | + | |
| 334 | +define (WEB_Session) -> WEB_Controller_Result | |
| 335 | + edit_table | |
| 336 | + ( | |
| 337 | + SQLite3DataBase db, | |
| 338 | + VTM _vtm | |
| 339 | + )= | |
| 340 | + ( | |
| 341 | + WEB_Session _session | |
| 342 | + ) |-> | |
| 343 | + with _T = make_translate_function(_session), | |
| 344 | + lwa = *_session.web_request.lwa, | |
| 345 | + | |
| 346 | + if get_String(lwa, "table_name") is // table name | |
| 347 | + { | |
| 348 | + failure then redirect_to_previous, | |
| 349 | + success(table_name) then | |
| 350 | + //get the name of editor to use | |
| 351 | + with view_name = get_String(lwa, "view_name", "default"), | |
| 352 | +// with dialog_id = get_String(lwa, "dialog_id", ""), | |
| 353 | + with clause = get_String(lwa, "clause", ""), | |
| 354 | + with fk_clause = get_String(lwa, "fk_filter", ""), | |
| 355 | + with referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 356 | + with id = get_DB_id(lwa, "id"), // primary key | |
| 357 | + | |
| 358 | + if id is | |
| 359 | + { | |
| 360 | + none then | |
| 361 | + if edit_table_content(db, _T, _session.language, /*web_site_directory,*/ lwa, /*dialog_id,*/ table_name, view_name, new_entry, _vtm, /*clause,*/ fk_clause, referer) is | |
| 362 | + { | |
| 363 | + failure then redirect_to_previous, | |
| 364 | + success(p_content) then | |
| 365 | + //http_answer(generic_desktop_page(db, _session, product_name, no_left_menu, p_content)) | |
| 366 | + renderer_content(p_content) | |
| 367 | + }, | |
| 368 | + | |
| 369 | + // state(lang, lwa, logged(account, edit_table_entry(table_name, view_name, new_entry), no_message)), | |
| 370 | + db_id(_) then | |
| 371 | + if edit_table_content(db, _T, _session.language, /*web_site_directory,*/ lwa, /*dialog_id,*/ table_name, view_name, edit_entry(id), _vtm, /*clause,*/ fk_clause, referer) is | |
| 372 | + { | |
| 373 | + failure then redirect_to_previous, | |
| 374 | + success(p_content) then | |
| 375 | + set_Page_Message(_session.fields, no_message); | |
| 376 | + //http_answer(generic_desktop_page(db, _session, product_name, no_left_menu, p_content)) | |
| 377 | + renderer_content(_session, p_content) | |
| 378 | + } | |
| 379 | + } | |
| 380 | + } | |
| 381 | +. | |
| 382 | + | |
| 383 | +define (WEB_Session) -> WEB_Controller_Result | |
| 384 | + view_editor | |
| 385 | + ( | |
| 386 | + SQLite3DataBase db, | |
| 387 | + VTM _vtm, | |
| 388 | + Bool change_view_name, | |
| 389 | + Bool change_filter | |
| 390 | + )= | |
| 391 | + ( | |
| 392 | + WEB_Session _session | |
| 393 | + ) |-> | |
| 394 | + with _T = make_translate_function(_session), | |
| 395 | + lwa = *_session.web_request.lwa, | |
| 396 | + | |
| 397 | + if get_String(lwa, "table_name") is // table name | |
| 398 | + { | |
| 399 | + failure then redirect_to_previous, | |
| 400 | + success(table_name) then | |
| 401 | + if vtm_get_view(table_name, _vtm.view_list) is | |
| 402 | + { | |
| 403 | + failure then redirect_to_previous, | |
| 404 | + success(vtm_v) then | |
| 405 | + with view_name = get_String(lwa, "view_name", "default"), | |
| 406 | + with | |
| 407 | + current_filter = get_String(_session.fields, "current_filter", ""), | |
| 408 | + with filter_name = if change_view_name then | |
| 409 | + with _f = get_default_filter(vtm_v, view_name), | |
| 410 | + _f.filter_name | |
| 411 | + else | |
| 412 | + get_String(lwa, "filter_name", ""), | |
| 413 | + | |
| 414 | + if view_table_content( db, _T, _session.language, /*web_site_directory,*/ table_name, view_name, "edit_table", filter_name, "", no_referer, "", _vtm) is | |
| 415 | + { | |
| 416 | + failure then | |
| 417 | + set_Page_Message(_session.fields, error_translate("TABLE_DOESNT_EXIST")); | |
| 418 | + redirect_to_previous(_session.fields), //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 419 | + success(p_content) then | |
| 420 | + //set_Page_Message(_session.fields, no_message); | |
| 421 | +// replace_String(_session.fields, "current_table", table_name); | |
| 422 | +// replace_String(_session.fields, "current_view", view_name); | |
| 423 | +// replace_String(_session.fields, "current_filter", filter_name); | |
| 424 | +// http_answer(generic_desktop_page(db, _session, product_name, no_left_menu, p_content)) | |
| 425 | + renderer_content(_session, p_content) | |
| 426 | + } | |
| 427 | + } | |
| 428 | + } | |
| 429 | +. | |
| 430 | + | |
| 431 | +define (WEB_Session) -> WEB_Controller_Result | |
| 432 | + delete_row | |
| 433 | + ( | |
| 434 | + SQLite3DataBase db, | |
| 435 | + VTM _vtm, | |
| 436 | + (LogLevel, String) -> One logger | |
| 437 | + )= | |
| 438 | + ( | |
| 439 | + WEB_Session _session | |
| 440 | + ) |-> | |
| 441 | + if hk_delete_row(*_session.web_request.lwa, db) is | |
| 442 | + { | |
| 443 | + error(error_str) then | |
| 444 | + set_Page_Message(_session.fields, error_translate(error_str)); | |
| 445 | + redirect_to_previous(_session.fields), | |
| 446 | + ok(ok_str) then | |
| 447 | + logger(logInfo, "delete ok"); | |
| 448 | + set_Page_Message(_session.fields, ok_translate(ok_str)); | |
| 449 | + redirect_to_previous(_session.fields), | |
| 450 | + }. | |
| 451 | + | |
| 452 | +define (WEB_Session) -> WEB_Controller_Result | |
| 453 | + save_row | |
| 454 | + ( | |
| 455 | + SQLite3DataBase db, | |
| 456 | + VTM _vtm, | |
| 457 | + (LogLevel, String) -> One logger | |
| 458 | + )= | |
| 459 | + ( | |
| 460 | + WEB_Session _session | |
| 461 | + ) |-> | |
| 462 | + with _T = make_translate_function(_session), | |
| 463 | + lwa = *_session.web_request.lwa, | |
| 464 | + | |
| 465 | + with table_name = get_String(lwa, "table_name", ""), // table name | |
| 466 | + with sub_dialog = get_Bool(lwa, "sub_dialog"), | |
| 467 | + | |
| 468 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 469 | + { | |
| 470 | + failure then logger(logError, "can't get writer for "+table_name);redirect_to_previous, | |
| 471 | + success(controller) then | |
| 472 | + if controller.write_from_fields(db, lwa) is | |
| 473 | + { | |
| 474 | + failure then | |
| 475 | + logger(logError, "can't write into "+table_name+" with current args "+dump_web_arg_values(lwa)); | |
| 476 | + set_Page_Message(_session.fields, error("Table writer: Error during insert or update")); | |
| 477 | + redirect_to_previous(_session.fields), | |
| 478 | + success(_) then | |
| 479 | + logger(logInfo, "write into "+table_name+"OK"); | |
| 480 | + //with view_name = get_String(lwa, "view_name", "default"), | |
| 481 | + if sub_dialog then | |
| 482 | + ajax(json(http_ok, json_object([json_member("success", json_bool(true))]))) | |
| 483 | + else | |
| 484 | + set_Page_Message(_session.fields, no_message); | |
| 485 | + redirect_to_previous(_session.fields), | |
| 486 | + //redirect(_session, "hk_c", "view_table") | |
| 487 | + } | |
| 488 | + } | |
| 489 | +. | |
| 490 | +define (WEB_Session) -> WEB_Controller_Result | |
| 491 | + get_rows_json | |
| 492 | + ( | |
| 493 | + SQLite3DataBase db, | |
| 494 | + VTM _vtm | |
| 495 | + )= | |
| 496 | + ( | |
| 497 | + WEB_Session _session | |
| 498 | + ) |-> | |
| 499 | + with _T = make_translate_function(_session), | |
| 500 | + lwa = *_session.web_request.lwa, | |
| 501 | + lang = _session.language, | |
| 502 | + with error_result = ajax(json(http_ok, | |
| 503 | + json_object([ | |
| 504 | + json_member("page_number", json_int(0)), | |
| 505 | + json_member("total_page", json_int(0)), | |
| 506 | + json_member("total_rows", json_int(0)), | |
| 507 | + json_member("rows", json_array([])) | |
| 508 | + ]) | |
| 509 | + )), | |
| 510 | + | |
| 511 | + if get_String(lwa, "table_name") is // table name | |
| 512 | + { | |
| 513 | + failure then redirect_to_previous, | |
| 514 | + success(table_name) then | |
| 515 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 516 | + { | |
| 517 | + failure then | |
| 518 | + println("Can't get "+table_name+" hk_controller"); | |
| 519 | + error_result, | |
| 520 | + success(controller) then | |
| 521 | + //get the name of editor to use | |
| 522 | + with select_fields = get_String_list(lwa, "select_fields"), | |
| 523 | +// with view_name = get_String(lwa, "view_name", "default"), | |
| 524 | +// _filter_name = get_String(lwa, "filter_name", ""), | |
| 525 | + search = get_String(lwa, "_search", "false"), | |
| 526 | + limit = get_Int(lwa, "rows", 0), | |
| 527 | + page = get_Int(lwa, "page", 1), | |
| 528 | + sord = get_String(lwa, "sord", "asc"), | |
| 529 | + sidx = get_String(lwa, "sidx", "id"), | |
| 530 | + clause = get_String(lwa, "clause", "1 = 1"), | |
| 531 | + referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 532 | + | |
| 533 | +// with _filter = get_filter_from_name(vtm_v, view_name, _filter_name), | |
| 534 | +// println("_filter name: "+_filter.filter_name); | |
| 535 | +// println("_filter query: "+_filter.filter_string); | |
| 536 | +// with clause = if _filter.filter_string = "" then "" else if _clause = "" then _filter.filter_string else "("+_filter.filter_string+") AND "+_clause, | |
| 537 | + println("get_rows_json final clause : ["+clause+"])"); | |
| 538 | + with number = controller.get_count(db, if clause = "" then "" else "WHERE "+clause), | |
| 539 | + | |
| 540 | + with total_page = if number/limit is success(result) then since result is (pages, fraction), pages + if fraction > 0 then 1 else 0 else 1, | |
| 541 | + with new_page = if total_page < page then total_page else page, | |
| 542 | + with new_sidx = if sidx = "" then "id" else sidx, | |
| 543 | + with start = limit * new_page - limit, | |
| 544 | + with limit_str = if limit = 0 then "" else " LIMIT "+start+", "+limit, | |
| 545 | + ajax(json(http_ok, | |
| 546 | + json_object([ | |
| 547 | + json_member("page_number",json_int(new_page)), | |
| 548 | + json_member("total_page", json_int(total_page)), | |
| 549 | + json_member("total_rows", json_int(number)), | |
| 550 | + json_member("query_date", json_string(get_current_datetime_ISO)), | |
| 551 | + json_member("rows", controller.get_rows_json(db, select_fields, false, referer, clause, " ORDER BY "+new_sidx+" "+sord+limit_str)) | |
| 552 | + ]) | |
| 553 | + )) | |
| 554 | + }} | |
| 555 | +. | |
| 556 | + | |
| 557 | +public define Maybe(Int) | |
| 558 | + update_row | |
| 559 | + ( | |
| 560 | + SQLite3DataBase db, | |
| 561 | + VTM _vtm, | |
| 562 | + List(Web_arg) _lwa | |
| 563 | + )= | |
| 564 | + | |
| 565 | + with table_name = get_String(_lwa, "table_name", ""), // table name | |
| 566 | + | |
| 567 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 568 | + { | |
| 569 | + failure then println("can't get writer for "+table_name);failure, | |
| 570 | + success(controller) then | |
| 571 | + //forget(map((HK_Trigger trigger) |-> println("call trigger before update "+trigger.trigger_name+" ON table "+table_name); trigger.trigger_call_back(db, _session), *controller.triggers.before_update)); | |
| 572 | + | |
| 573 | + if controller.write_from_fields(db, _lwa) is | |
| 574 | + { | |
| 575 | + failure then failure, | |
| 576 | + success(inserted_idx) then | |
| 577 | + //replace_Int(_session.fields, "hk_last_insert_idx", inserted_idx); | |
| 578 | + //forget(map((HK_Trigger trigger) |-> println("call trigger after update "+trigger.trigger_name+" ON table "+table_name); trigger.trigger_call_back(db, _session), *controller.triggers.after_update)); | |
| 579 | + success(inserted_idx) | |
| 580 | + } | |
| 581 | + } | |
| 582 | +. | |
| 583 | + | |
| 584 | + | |
| 585 | +define (WEB_Session) -> WEB_Controller_Result | |
| 586 | + update_row | |
| 587 | + ( | |
| 588 | + SQLite3DataBase db, | |
| 589 | + VTM _vtm, | |
| 590 | + (LogLevel, String) -> One logger | |
| 591 | + )= | |
| 592 | + ( | |
| 593 | + WEB_Session _session | |
| 594 | + ) |-> | |
| 595 | + with _T = make_translate_function(_session), | |
| 596 | + _lwa = *_session.web_request.lwa, | |
| 597 | + | |
| 598 | + with table_name = get_String(_lwa, "table_name", ""), // table name | |
| 599 | + with sub_dialog = get_Bool(_lwa, "sub_dialog"), | |
| 600 | + | |
| 601 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 602 | + { | |
| 603 | + failure then logger(logError, "can't get writer for "+table_name);redirect_to_previous, | |
| 604 | + success(controller) then | |
| 605 | + forget(map((HK_Trigger trigger) |-> logger(logInfo, "call trigger before update "+trigger.trigger_name+" ON table "+table_name); trigger.trigger_call_back(db, _session), *controller.triggers.before_update)); | |
| 606 | + | |
| 607 | + if controller.write_from_fields(db, *_session.web_request.lwa) is | |
| 608 | + { | |
| 609 | + failure then | |
| 610 | + logger(logError, "can't write_from_fields for table "+table_name+"\n with following arguments "+dump_web_arg_values(*_session.web_request.lwa)); | |
| 611 | + set_Page_Message(_session.fields, error("Table writer: Error during insert or update")); | |
| 612 | + redirect_to_previous(_session.fields), | |
| 613 | + success(inserted_idx) then | |
| 614 | + replace_Int(_session.fields, "hk_last_insert_idx", inserted_idx); | |
| 615 | + forget(map((HK_Trigger trigger) |-> logger(logInfo, "call trigger after update "+trigger.trigger_name+" ON table "+table_name); trigger.trigger_call_back(db, _session), *controller.triggers.after_update)); | |
| 616 | + | |
| 617 | + logger(logInfo, "write OK"); | |
| 618 | + if sub_dialog then | |
| 619 | + ajax(json(http_ok, json_object([json_member("success", json_bool(true)), json_member("idx", json_int(inserted_idx))]))) | |
| 620 | + else | |
| 621 | + //with view_name = get_String(lwa, "view_name", "default"), | |
| 622 | + set_Page_Message(_session.fields, no_message); | |
| 623 | + redirect_to_previous(_session.fields), | |
| 624 | + //redirect(_session, "hk_c", "view_table") | |
| 625 | + } | |
| 626 | + } | |
| 627 | +. | |
| 628 | + | |
| 629 | +define (WEB_Session) -> WEB_Controller_Result | |
| 630 | + get_selector | |
| 631 | + ( | |
| 632 | + SQLite3DataBase db, | |
| 633 | + VTM _vtm | |
| 634 | + )= | |
| 635 | + ( | |
| 636 | + WEB_Session _session | |
| 637 | + ) |-> | |
| 638 | + with _T = make_translate_function(_session), | |
| 639 | + lwa = *_session.web_request.lwa, | |
| 640 | + | |
| 641 | + with table_name = get_String(lwa, "table_name", ""), // table name | |
| 642 | + with sub_dialog = get_Bool(lwa, "sub_dialog"), | |
| 643 | + with fk_filter = get_String(lwa, "fk_filter", ""), | |
| 644 | + with selected = get_String(lwa, "selected", ""), | |
| 645 | + with referer = get_HK_Referer_from_web_arg(lwa, ""), | |
| 646 | + | |
| 647 | + if get_hk_controller(_vtm.hk_controllers, table_name) is | |
| 648 | + { | |
| 649 | + failure then println("can't get writer for "+table_name);redirect_to_previous, | |
| 650 | + success(controller) then | |
| 651 | + | |
| 652 | + ajax(json(http_ok, to_html_ajax_content(format_choices(controller.get_selector(db, referer, fk_filter), init(selected)), ""))) | |
| 653 | + | |
| 654 | + } | |
| 655 | +. | |
| 656 | + | |
| 657 | +define (WEB_Session) -> WEB_Controller_Result | |
| 658 | + show_apps | |
| 659 | + ( | |
| 660 | + SQLite3DataBase db, | |
| 661 | + HK_Database hk_db | |
| 662 | + )= | |
| 663 | + ( | |
| 664 | + WEB_Session _session | |
| 665 | + ) |-> | |
| 666 | + with _T = make_translate_function(_session), | |
| 667 | + lwa = _session.web_request.lwa, | |
| 668 | + web_site_directory = get_web_site_directory(_session), | |
| 669 | + if show_apps_content( db, hk_db, _T, _session.language, web_site_directory) is | |
| 670 | + { | |
| 671 | + failure then | |
| 672 | + set_Page_Message(_session.fields, error_translate("HK_APPS_ERROR")); | |
| 673 | + redirect_to_previous(_session.fields), //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 674 | + success(p_content) then | |
| 675 | + //set_Page_Message(_session.fields, no_message); | |
| 676 | + renderer_content(_session, p_content) | |
| 677 | + } | |
| 678 | +. | |
| 679 | + | |
| 680 | +define (WEB_Session) -> WEB_Controller_Result | |
| 681 | + grid_action | |
| 682 | + ( | |
| 683 | + SQLite3DataBase db, | |
| 684 | + VTM _vtm, | |
| 685 | + (LogLevel, String) -> One logger | |
| 686 | + )= | |
| 687 | + ( | |
| 688 | + WEB_Session _session | |
| 689 | + ) |-> | |
| 690 | + with lwa = *_session.web_request.lwa, | |
| 691 | + with oper = get_String(lwa, "oper", "N/A"), | |
| 692 | + | |
| 693 | + if oper = "del" then | |
| 694 | + logger(logInfo, "grid: DEL operation requested"); | |
| 695 | + delete_row(db, _vtm, logger)(_session) | |
| 696 | + else if oper = "edit" then | |
| 697 | + logger(logInfo, "grid: EDIT operation requested"); | |
| 698 | + update_row(db, _vtm, logger)(_session) | |
| 699 | + else if oper = "add" then | |
| 700 | + logger(logInfo, "grid: ADD operation requested"); | |
| 701 | + update_row(db, _vtm, logger)(_session) | |
| 702 | + else | |
| 703 | + set_Page_Message(_session.fields, error_translate("GRID_OPERATION_NOT_FOUND")); | |
| 704 | + redirect_to_previous(_session.fields) //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 705 | +. | |
| 706 | + | |
| 707 | +define (WEB_Session) -> WEB_Controller_Result | |
| 708 | + crud_action | |
| 709 | + ( | |
| 710 | + SQLite3DataBase db, | |
| 711 | + VTM _vtm, | |
| 712 | + (LogLevel, String) -> One logger | |
| 713 | + )= | |
| 714 | + ( | |
| 715 | + WEB_Session _session | |
| 716 | + ) |-> | |
| 717 | + with lwa = *_session.web_request.lwa, | |
| 718 | + with oper = get_String(lwa, "oper", "N/A"), | |
| 719 | + | |
| 720 | + if oper = "create" then | |
| 721 | + logger(logInfo, "crud: CREATE operation requested"); | |
| 722 | + update_row(db, _vtm, logger)(_session) | |
| 723 | + else if oper = "read" then | |
| 724 | + logger(logInfo, "crud: READ operation requested"); | |
| 725 | + get_rows_json(db, _vtm)(_session) | |
| 726 | + else if oper = "update" then | |
| 727 | + logger(logInfo, "crud: UPDATE operation requested"); | |
| 728 | + update_row(db, _vtm, logger)(_session) | |
| 729 | + else if oper = "delete" then | |
| 730 | + logger(logInfo, "crud: DELETE operation requested"); | |
| 731 | + delete_row(db, _vtm, logger)(_session) | |
| 732 | + else | |
| 733 | + set_Page_Message(_session.fields, error_translate("CRUD OPERATION_NOT_FOUND")); | |
| 734 | + redirect_to_previous(_session.fields) //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 735 | +. | |
| 736 | + | |
| 737 | +define (WEB_Session) -> WEB_Controller_Result | |
| 738 | + import_rows_dropzone_view | |
| 739 | + ( | |
| 740 | + SQLite3DataBase db | |
| 741 | + )= | |
| 742 | + ( | |
| 743 | + WEB_Session _session | |
| 744 | + ) |-> | |
| 745 | + with _T = make_translate_function(_session), | |
| 746 | + lwa = *_session.web_request.lwa, | |
| 747 | + | |
| 748 | + if get_String(lwa, "table_name") is | |
| 749 | + { | |
| 750 | + failure then | |
| 751 | + set_Page_Message(_session.fields, error_translate("HK_TABLE_NAME_NOT_FOUND")); | |
| 752 | + redirect_to_previous(_session.fields), //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 753 | + success(table_name) then | |
| 754 | +// http_answer(generic_desktop_page(db, _session, product_name, import_zone(table_name, _T))) | |
| 755 | + renderer_content(import_zone(table_name, _T)) | |
| 756 | + } | |
| 757 | +. | |
| 758 | + | |
| 759 | +define (WEB_Session) -> WEB_Controller_Result | |
| 760 | + hkc_import_choose_col | |
| 761 | + ( | |
| 762 | + SQLite3DataBase db, | |
| 763 | + HK_Database hk_db | |
| 764 | + )= | |
| 765 | + ( | |
| 766 | + WEB_Session _session | |
| 767 | + ) |-> | |
| 768 | + with _T = make_translate_function(_session), | |
| 769 | + lwa = *_session.web_request.lwa, | |
| 770 | + separator = get_String(lwa, "csv_sep", ";"), | |
| 771 | + cancel_web_action_name = get_WEB_Action_Name(lwa, "cancel_ctrl", "cancel_action"), | |
| 772 | + file_name = get_String(_session.fields, "upl_file", ""), | |
| 773 | + if get_String(lwa, "table_name") is | |
| 774 | + { | |
| 775 | + failure then | |
| 776 | + set_Page_Message(_session.fields, error_translate("HK_TABLE_NAME_NOT_FOUND")); | |
| 777 | + redirect_to_previous(_session.fields), //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 778 | + success(table_name) then | |
| 779 | + | |
| 780 | + if get_table(hk_db, table_name) is | |
| 781 | + { | |
| 782 | + failure then | |
| 783 | + set_Page_Message(_session.fields, error_translate("HK_TABLE_NAME_DOESNT_EXISTS")); | |
| 784 | + redirect_to_previous(_session.fields), //compute_page_error(tb, http_ok, error("TABLE_DOESNT_EXIST")), | |
| 785 | + success(table) then | |
| 786 | +// http_answer( | |
| 787 | +// generic_desktop_page(db, _session, product_name, | |
| 788 | +// import_choose_col(table_name, get_columns_name_and_TAG(table), separator, file_name, show_dashboard, _T) | |
| 789 | +// ) | |
| 790 | + renderer_content(_session, import_choose_col(table_name, get_columns_name_and_TAG(table), separator, file_name, cancel_web_action_name, _T)) | |
| 791 | + } | |
| 792 | + } | |
| 793 | +. | |
| 794 | + | |
| 795 | +define (WEB_Session) -> WEB_Controller_Result | |
| 796 | + hkc_import_file | |
| 797 | + ( | |
| 798 | + (LogLevel, String) -> One logger | |
| 799 | + )= | |
| 800 | + ( | |
| 801 | + WEB_Session _session | |
| 802 | + ) | |
| 803 | + |-> | |
| 804 | + with _T = make_translate_function(_session), | |
| 805 | + lwa = *_session.web_request.lwa, | |
| 806 | + //with separator = get_String(lwa, "csv_sep", ";"), | |
| 807 | + if file_upload_value(lwa,"file") is | |
| 808 | + { | |
| 809 | + failure then | |
| 810 | + set_Page_Message(_session.fields, error_translate("HK_UPLOAD_FILE_NAME_NOT_FOUND")); | |
| 811 | + redirect_to_previous(_session.fields), | |
| 812 | + success(upl_file) then | |
| 813 | + since upl_file is (filename, temp_filepath), | |
| 814 | + logger(logInfo, "filename="+filename+" / temp_filepath="+temp_filepath); | |
| 815 | + set_Page_Message(_session.fields, ok_translate("HK_UPLOAD_FILE_NAME_OK")); | |
| 816 | + replace_String(_session.fields, "upl_file", temp_filepath); | |
| 817 | + redirect_to_previous(_session.fields) | |
| 818 | + } | |
| 819 | +. | |
| 820 | + | |
| 821 | +define (WEB_Session) -> WEB_Controller_Result | |
| 822 | + hkc_import_execute | |
| 823 | + ( | |
| 824 | + SQLite3DataBase db, | |
| 825 | + HK_Database hk_db | |
| 826 | + )= | |
| 827 | + ( | |
| 828 | + WEB_Session _session | |
| 829 | + ) |-> | |
| 830 | + with _T = make_translate_function(_session), | |
| 831 | + forget(hkc_import_execute(_session, db, hk_db)); | |
| 832 | + redirect_to_previous | |
| 833 | +. | |
| 834 | + | |
| 835 | + | |
| 836 | +define Bool | |
| 837 | + allow_public | |
| 838 | + ( | |
| 839 | + WEB_Session _session | |
| 840 | + )= | |
| 841 | + true | |
| 842 | +. | |
| 843 | + | |
| 844 | +public define List(WEB_Action) | |
| 845 | + make_hk_actions | |
| 846 | + ( | |
| 847 | + SQLite3DataBase db, | |
| 848 | + HK_Database hk_db, | |
| 849 | + VTM _vtm, | |
| 850 | + (LogLevel, String) -> One logger | |
| 851 | + )= | |
| 852 | + with hk_logger = (LogLevel level, String text) |-> logger(level, "[Hayamiki] "+text), | |
| 853 | + | |
| 854 | + [ | |
| 855 | + //action lors de la demande de création d'un user dans un domaine | |
| 856 | + //do_change_language, | |
| 857 | + web_action(hkc_edit_table, https, allow_public, edit_table(db, _vtm)), | |
| 858 | + web_action(hkc_ajax_edit_table, https, allow_public, ajax_edit_table(db, _vtm)), | |
| 859 | + web_action(hkc_view_editor, https, allow_public, view_editor(db, _vtm, false, false)), | |
| 860 | + web_action(hkc_grid_view, https, allow_public, grid_view_json(db, _vtm)), | |
| 861 | + web_action(hkc_grid_action, https, allow_public, grid_action(db, _vtm, hk_logger)), | |
| 862 | + web_action(hkc_query, https, allow_public, crud_action(db, _vtm, hk_logger)), | |
| 863 | + | |
| 864 | + web_action(hkc_combo_search, https, allow_public, combo_search(db, _vtm)), | |
| 865 | + web_action(hkc_selector, https, allow_public, get_selector(db, _vtm)), //get dropdown HMTL content | |
| 866 | + web_action(hkc_list_view, https, allow_public, view_editor(db, _vtm, false, false)), | |
| 867 | + web_action(hkc_list_view_name, https, allow_public, view_editor(db, _vtm, true, false)), | |
| 868 | + web_action(hkc_list_view_filter, https, allow_public, view_editor(db, _vtm, false, true)), | |
| 869 | + web_action(hkc_save_row, https, allow_public, save_row(db, _vtm, hk_logger)), | |
| 870 | + web_action(hkc_update_row, https, allow_public, update_row(db, _vtm, hk_logger)), | |
| 871 | + web_action(hkc_cancel, https, allow_public, (WEB_Session _) |-> redirect_to_previous), | |
| 872 | + web_action(hkc_delete_row, https, allow_public, delete_row(db, _vtm, hk_logger)), | |
| 873 | + web_action(hkc_show_apps, https, allow_public, show_apps(db, hk_db)), | |
| 874 | + web_action(hkc_import_dropzone, https, allow_public, import_rows_dropzone_view(db)), | |
| 875 | + web_action(hkc_import_file, https, allow_public, hkc_import_file(hk_logger)), | |
| 876 | + web_action(hkc_import_choose_col, https, allow_public, hkc_import_choose_col(db, hk_db)), | |
| 877 | + web_action(hkc_import_execute, https, allow_public, hkc_import_execute(db, hk_db)), | |
| 878 | + | |
| 879 | + web_action(hkc_file_upload, https, allow_public, hkc_upload(db)), | |
| 880 | + web_action(hkc_file_download, https, allow_public, hkc_download(db)), | |
| 881 | + ] | |
| 882 | +. | |
| 883 | + | |
| 884 | + | ... | ... |
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 18/01/2020 | |
| 5 | + * Time: 21:02 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | +read tools/basis.anubis | |
| 10 | +read system/logger.anubis | |
| 11 | +read xlib/web/plugin/plugin.anubis | |
| 12 | +read xlib/web/types/making_a_web_site.anubis | |
| 13 | +read xlib/web/types/web_session.anubis | |
| 14 | +read controller.anubis | |
| 15 | + | |
| 16 | +define Maybe(HTML_Partial_Content) | |
| 17 | + plugin_get_typed_content | |
| 18 | + ( | |
| 19 | + SQLite3DataBase db, | |
| 20 | + WEB_Session _session, | |
| 21 | + String type | |
| 22 | + )= | |
| 23 | + println("plugin_get_typed_content for HYAMIKI type "+type); | |
| 24 | + if type = "LEFT_MENU" then failure | |
| 25 | + else if type = "TOOLBAR" then failure | |
| 26 | + else if type = "CONTROL_PANEL" then failure | |
| 27 | + else | |
| 28 | + failure | |
| 29 | +. | |
| 30 | + | |
| 31 | +global define WEB_Plugin | |
| 32 | + hayamiki_web_plugin_lib | |
| 33 | + = | |
| 34 | + web_plugin( | |
| 35 | + "HAYAMIKI", | |
| 36 | + "BASE", | |
| 37 | + plugin_get_controller, | |
| 38 | + plugin_get_typed_content | |
| 39 | + ) | |
| 40 | +. | ... | ... |
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 20/08/2019 | |
| 5 | + * Time: 16:47 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | +read system/files.anubis | |
| 10 | +read xlib/web/controllers_web_site.anubis | |
| 11 | +read database/generated/fs_file.anubis | |
| 12 | +read xlib/web_controllers/language/language_management.anubis | |
| 13 | +read xlib/web_controllers/fs/fs_core.anubis | |
| 14 | +read xlib/web/CXM_json.anubis | |
| 15 | + | |
| 16 | +define DB_id | |
| 17 | + get_new_hkc_id_from_fs | |
| 18 | + ( | |
| 19 | + SQLite3DataBase db | |
| 20 | + ) | |
| 21 | + = | |
| 22 | + if get_fs_file_by_clause(db, "res_model = 'hkc' ORDER BY res_id DESC") is | |
| 23 | + { | |
| 24 | + failure then db_id(0), | |
| 25 | + success(fs_file) then db_id(fs_file.res_id + 1) | |
| 26 | + } | |
| 27 | +. | |
| 28 | + | |
| 29 | +public define (WEB_Session) -> WEB_Controller_Result | |
| 30 | + hkc_upload | |
| 31 | + ( | |
| 32 | + SQLite3DataBase db | |
| 33 | + )= | |
| 34 | + ( | |
| 35 | + WEB_Session _session | |
| 36 | + )|-> | |
| 37 | + with _T = make_translate_function(_session), | |
| 38 | + lwa = *_session.web_request.lwa, | |
| 39 | + if file_upload_value(lwa,"upload") is | |
| 40 | + { | |
| 41 | + failure then | |
| 42 | + //set_Page_Message(_session.fields, error_translate("HK_UPLOAD_FILE_NAME_NOT_FOUND")); | |
| 43 | + ajax(json(http_ok, json_object([json_member("uploaded", json_int(0)), | |
| 44 | + json_member("error", json_object([json_member("message", json_string("File not found"))]))]))), | |
| 45 | + success(upl_file) then | |
| 46 | + //uploaded filename and temporary location of this file | |
| 47 | + since upl_file is (filename, temp_filepath), | |
| 48 | + println("filename="+filename+" / temp_filepath="+temp_filepath); | |
| 49 | + with hkc_file_id = get_new_hkc_id_from_fs(db), | |
| 50 | + with root_dir = app_fs+"hkc/"+to_fs_folder(hkc_file_id), | |
| 51 | + make_directories(root_dir); | |
| 52 | + | |
| 53 | +// with end_dir = current_dir + extract_dir(upload_full_path), | |
| 54 | + with final_filename = root_dir + filename, | |
| 55 | + | |
| 56 | + if move_file(temp_filepath, final_filename) then | |
| 57 | + //if the file is image create thumbnail | |
| 58 | +// since get_MIME_from_filename(final_filename) is mime(mime_type, subtype, _), | |
| 59 | +// (if mime_type = "image" then | |
| 60 | +// create_thumbnail(root_dir + end_dir, filename, "64x64"); | |
| 61 | +// create_thumbnail(root_dir + end_dir, filename, "128x128") | |
| 62 | +// else | |
| 63 | +// unique); | |
| 64 | + set_file(db, "hkc", hkc_file_id, filename, "file", filename, "hkc/"+to_fs_folder(hkc_file_id)); | |
| 65 | + ajax(json(http_ok, json_object([json_member("uploaded", json_int(1)), | |
| 66 | + json_member("fileName", json_string(filename)), | |
| 67 | + json_member("url", json_string("?aws_controller=hk_c&aws_action=download&file="+hkc_file_id))]))) | |
| 68 | + else | |
| 69 | + println("move_file error from ["+temp_filepath+"] to ["+final_filename+"]"); | |
| 70 | + ajax(json(http_ok, json_object([json_member("uploaded", json_int(0)), | |
| 71 | + json_member("error", json_object([json_member("message", json_string("move_file error from temporary location"))]))]))), | |
| 72 | + | |
| 73 | + } | |
| 74 | +. | |
| 75 | + | |
| 76 | +public define (WEB_Session) -> WEB_Controller_Result | |
| 77 | + hkc_download | |
| 78 | + ( | |
| 79 | + SQLite3DataBase db, | |
| 80 | + )= | |
| 81 | + ( | |
| 82 | + WEB_Session _session | |
| 83 | + ) |-> | |
| 84 | + with _T = make_translate_function(_session), | |
| 85 | + web_site_public_dir = get_String(_session.fields, "AWS_WEB_SITE_PUBLIC_DIR", ""), | |
| 86 | + lwa = *_session.web_request.lwa, | |
| 87 | + file_id = get_DB_id(lwa, "file"), | |
| 88 | + | |
| 89 | + if get_file(db, "hkc", file_id, "file") is | |
| 90 | + { | |
| 91 | + failure then send_file(web_site_public_dir+"img/missing-file.png", inline), | |
| 92 | + success(file) then send_file(file, inline) | |
| 93 | + } | |
| 94 | +. | ... | ... |
| 1 | +/* | |
| 2 | + * Created by 伝作 (Densaku). | |
| 3 | + * Types & Messages generator written by フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 2020-04-11 | |
| 5 | + * Time: 10:14:04 | |
| 6 | + * | |
| 7 | + */ | |
| 8 | + | |
| 9 | +transmit system/muscle.anubis | |
| 10 | +transmit system/convert.anubis | |
| 11 | +transmit tools/basis.anubis | |
| 12 | + | |
| 13 | +transmit xlib/database/db_types.anubis | |
| 14 | +transmit xlib/database/db_types.anubis | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | +public type Fs_file: | |
| 19 | + fs_file( | |
| 20 | + DB_id id, | |
| 21 | + DB_datetime create_date, | |
| 22 | + DB_datetime write_date, | |
| 23 | + String res_model, | |
| 24 | + String res_name, | |
| 25 | + Int file_size, | |
| 26 | + Int res_id, | |
| 27 | + String description, | |
| 28 | + String res_field, | |
| 29 | + String mimetype, | |
| 30 | + String name, | |
| 31 | + String url, | |
| 32 | + String checksum, | |
| 33 | + String datas_fname, | |
| 34 | + String path | |
| 35 | + ) | |
| 36 | +. | |
| 37 | + | |
| 38 | + Fs_file message format | |
| 39 | + ====================== | |
| 40 | + | |
| 41 | + | |
| 42 | +public define Message | |
| 43 | + to_Message | |
| 44 | + ( | |
| 45 | + Fs_file _fs_file | |
| 46 | + )= | |
| 47 | + with _fs_file_message = message((Word32)0), // | |
| 48 | + forget(add_string(_fs_file_message, "__TYPE__", "Fs_file")); | |
| 49 | + if _fs_file is | |
| 50 | + { | |
| 51 | + //Alternative fs_file | |
| 52 | + fs_file(_id, _create_date, _write_date, _res_model, _res_name, _file_size, _res_id, _description, _res_field, _mimetype, _name, _url, _checksum, _datas_fname, _path) then | |
| 53 | + forget(add_string(_fs_file_message, "__TYPE_ALT__", "fs_file")); | |
| 54 | + // [type = DB_id] fs_file.id | |
| 55 | + forget(add_message(_fs_file_message, "id", to_Message(_id))); | |
| 56 | + // [type = DB_datetime] fs_file.create_date | |
| 57 | + forget(add_message(_fs_file_message, "create_date", to_Message(_create_date))); | |
| 58 | + // [type = DB_datetime] fs_file.write_date | |
| 59 | + forget(add_message(_fs_file_message, "write_date", to_Message(_write_date))); | |
| 60 | + // [type = String] fs_file.res_model | |
| 61 | + forget(add_string(_fs_file_message, "res_model", _res_model)); | |
| 62 | + // [type = String] fs_file.res_name | |
| 63 | + forget(add_string(_fs_file_message, "res_name", _res_name)); | |
| 64 | + // [type = Int] fs_file.file_size | |
| 65 | + forget(add_string(_fs_file_message, "file_size", to_String(_file_size))); | |
| 66 | + // [type = Int] fs_file.res_id | |
| 67 | + forget(add_string(_fs_file_message, "res_id", to_String(_res_id))); | |
| 68 | + // [type = String] fs_file.description | |
| 69 | + forget(add_string(_fs_file_message, "description", _description)); | |
| 70 | + // [type = String] fs_file.res_field | |
| 71 | + forget(add_string(_fs_file_message, "res_field", _res_field)); | |
| 72 | + // [type = String] fs_file.mimetype | |
| 73 | + forget(add_string(_fs_file_message, "mimetype", _mimetype)); | |
| 74 | + // [type = String] fs_file.name | |
| 75 | + forget(add_string(_fs_file_message, "name", _name)); | |
| 76 | + // [type = String] fs_file.url | |
| 77 | + forget(add_string(_fs_file_message, "url", _url)); | |
| 78 | + // [type = String] fs_file.checksum | |
| 79 | + forget(add_string(_fs_file_message, "checksum", _checksum)); | |
| 80 | + // [type = String] fs_file.datas_fname | |
| 81 | + forget(add_string(_fs_file_message, "datas_fname", _datas_fname)); | |
| 82 | + // [type = String] fs_file.path | |
| 83 | + forget(add_string(_fs_file_message, "path", _path)), | |
| 84 | + | |
| 85 | + }; | |
| 86 | + _fs_file_message | |
| 87 | +. | |
| 88 | + | |
| 89 | +public define Maybe(Fs_file) | |
| 90 | + from_Message | |
| 91 | + ( | |
| 92 | + Message _fs_file_message | |
| 93 | + )= | |
| 94 | + if find_string(_fs_file_message, "__TYPE__") is {failure then failure, success(__type__) then | |
| 95 | + if find_string(_fs_file_message, "__TYPE_ALT__") is {failure then failure, success(__type_alt__) then | |
| 96 | + if __type__ = "Fs_file" then | |
| 97 | + //Alternative fs_file | |
| 98 | + if __type_alt__ = "fs_file" then //Alternative fs_file | |
| 99 | + // [type = DB_id] fs_file.id | |
| 100 | + if find_message(_fs_file_message, "id") is {failure then failure, success(_id__msg) then | |
| 101 | + if (Maybe(DB_id))from_Message(_id__msg) is {failure then failure, success(_id_) then | |
| 102 | + // [type = DB_datetime] fs_file.create_date | |
| 103 | + if find_message(_fs_file_message, "create_date") is {failure then failure, success(_create_date__msg) then | |
| 104 | + if (Maybe(DB_datetime))from_Message(_create_date__msg) is {failure then failure, success(_create_date_) then | |
| 105 | + // [type = DB_datetime] fs_file.write_date | |
| 106 | + if find_message(_fs_file_message, "write_date") is {failure then failure, success(_write_date__msg) then | |
| 107 | + if (Maybe(DB_datetime))from_Message(_write_date__msg) is {failure then failure, success(_write_date_) then | |
| 108 | + // [type = String] fs_file.res_model | |
| 109 | + if find_string(_fs_file_message, "res_model") is {failure then failure, success(_res_model_) then | |
| 110 | + // [type = String] fs_file.res_name | |
| 111 | + if find_string(_fs_file_message, "res_name") is {failure then failure, success(_res_name_) then | |
| 112 | + // [type = Int] fs_file.file_size | |
| 113 | + if find_string(_fs_file_message, "file_size") is {failure then failure, success(__file_size_) then | |
| 114 | + if decimal_scan(__file_size_) is { failure then failure, success(_file_size_) then | |
| 115 | + // [type = Int] fs_file.res_id | |
| 116 | + if find_string(_fs_file_message, "res_id") is {failure then failure, success(__res_id_) then | |
| 117 | + if decimal_scan(__res_id_) is { failure then failure, success(_res_id_) then | |
| 118 | + // [type = String] fs_file.description | |
| 119 | + if find_string(_fs_file_message, "description") is {failure then failure, success(_description_) then | |
| 120 | + // [type = String] fs_file.res_field | |
| 121 | + if find_string(_fs_file_message, "res_field") is {failure then failure, success(_res_field_) then | |
| 122 | + // [type = String] fs_file.mimetype | |
| 123 | + if find_string(_fs_file_message, "mimetype") is {failure then failure, success(_mimetype_) then | |
| 124 | + // [type = String] fs_file.name | |
| 125 | + if find_string(_fs_file_message, "name") is {failure then failure, success(_name_) then | |
| 126 | + // [type = String] fs_file.url | |
| 127 | + if find_string(_fs_file_message, "url") is {failure then failure, success(_url_) then | |
| 128 | + // [type = String] fs_file.checksum | |
| 129 | + if find_string(_fs_file_message, "checksum") is {failure then failure, success(_checksum_) then | |
| 130 | + // [type = String] fs_file.datas_fname | |
| 131 | + if find_string(_fs_file_message, "datas_fname") is {failure then failure, success(_datas_fname_) then | |
| 132 | + // [type = String] fs_file.path | |
| 133 | + if find_string(_fs_file_message, "path") is {failure then failure, success(_path_) then | |
| 134 | + | |
| 135 | + success(fs_file(_id_, _create_date_, _write_date_, _res_model_, _res_name_, _file_size_, _res_id_, _description_, _res_field_, _mimetype_, _name_, _url_, _checksum_, _datas_fname_, _path_)) | |
| 136 | + }}}}}}}}}}}}}}}}}}}} | |
| 137 | + else | |
| 138 | + failure //No valid Alternative found ! | |
| 139 | + else | |
| 140 | + failure //Type not found in message ! | |
| 141 | + }} | |
| 142 | +. | |
| 143 | + | ... | ... |