From dda686903079bfbbc8b68bf52f7e416892f28b1b Mon Sep 17 00:00:00 2001 From: Thomas Spohr Date: Sun, 24 Aug 2025 10:08:36 +0200 Subject: [PATCH] Mit deutscher Sprache --- .DS_Store | Bin 10244 -> 14340 bytes com_eis/.DS_Store | Bin 8196 -> 10244 bytes com_eis/Archiv.zip | Bin 6377310 -> 6375756 bytes com_eis/{install => administrator}/.DS_Store | Bin 6148 -> 6148 bytes .../{ => administrator}/language/.DS_Store | Bin 6148 -> 6148 bytes .../language/de-DE/de-DE.com_eis.ini | 0 .../language/de-DE/de-DE.com_eis.sys.ini | 0 .../language/en-GB/en-GB.com_eis.ini | 0 .../language/en-GB/en-GB.com_eis.sys.ini | 0 .../{ => administrator}/services/provider.php | 0 .../sql/install.mysql.utf8.sql} | 0 .../sql}/uninstall.mysql.utf8.sql | 0 com_eis/administrator/sql/updates/1.1.2.sql | 61 +++++++++++++++++ com_eis/{ => administrator}/src/.DS_Store | Bin .../src/Controller/ConfigController.php | 0 .../src/Controller/DisplayController.php | 0 .../src/Extension/EISComponent.php | 0 .../src/Helper/TreeHelper.php | 0 .../{ => administrator}/src/View/.DS_Store | Bin .../src/View/Config/HtmlView.php | 0 .../src/View/Main/HtmlView.php | 0 com_eis/{ => administrator}/tmpl/.DS_Store | Bin .../tmpl/config/default.php | 0 .../{ => administrator}/tmpl/main/default.php | 0 com_eis/eis.xml | 63 +++++++++--------- com_eis/install/sql/.DS_Store | Bin 6148 -> 0 bytes com_eis/media/.DS_Store | Bin 6148 -> 6148 bytes com_eis/media/pdfjs/.DS_Store | Bin 6148 -> 6148 bytes com_eis/media/pdfjs/web/.DS_Store | Bin 6148 -> 6148 bytes com_eis/sql/install/mysql/install.mysql.sql | 8 --- 30 files changed, 92 insertions(+), 40 deletions(-) rename com_eis/{install => administrator}/.DS_Store (74%) rename com_eis/{ => administrator}/language/.DS_Store (92%) rename com_eis/{ => administrator}/language/de-DE/de-DE.com_eis.ini (100%) rename com_eis/{ => administrator}/language/de-DE/de-DE.com_eis.sys.ini (100%) rename com_eis/{ => administrator}/language/en-GB/en-GB.com_eis.ini (100%) rename com_eis/{ => administrator}/language/en-GB/en-GB.com_eis.sys.ini (100%) rename com_eis/{ => administrator}/services/provider.php (100%) rename com_eis/{install/sql/mysql/install.utf8.sql => administrator/sql/install.mysql.utf8.sql} (100%) rename com_eis/{install/sql/mysql => administrator/sql}/uninstall.mysql.utf8.sql (100%) create mode 100644 com_eis/administrator/sql/updates/1.1.2.sql rename com_eis/{ => administrator}/src/.DS_Store (100%) rename com_eis/{ => administrator}/src/Controller/ConfigController.php (100%) rename com_eis/{ => administrator}/src/Controller/DisplayController.php (100%) rename com_eis/{ => administrator}/src/Extension/EISComponent.php (100%) rename com_eis/{ => administrator}/src/Helper/TreeHelper.php (100%) rename com_eis/{ => administrator}/src/View/.DS_Store (100%) rename com_eis/{ => administrator}/src/View/Config/HtmlView.php (100%) rename com_eis/{ => administrator}/src/View/Main/HtmlView.php (100%) rename com_eis/{ => administrator}/tmpl/.DS_Store (100%) rename com_eis/{ => administrator}/tmpl/config/default.php (100%) rename com_eis/{ => administrator}/tmpl/main/default.php (100%) delete mode 100644 com_eis/install/sql/.DS_Store delete mode 100644 com_eis/sql/install/mysql/install.mysql.sql diff --git a/.DS_Store b/.DS_Store index d20a3d2f1155e6f9f7495dc8d35df230560ffefd..a61c8b089dd63489ef6dda9c96186328c5bff1d0 100644 GIT binary patch delta 660 zcmZn(Xem%&U|?W$DortDU@!nOIe-{M3-ADmHUv!j z&ydQH$xvL7F|km2vVjVVB}f4a5VJERGvp&HFbq!4&n*DTFfi_zz`#(FoA2V1l#`zX z6yT82=KZs=(3yQRI|mB~BiCkm@nA;&bc7BDhLn?&FG$O8E|KtK6G7HFv%Mv0z4mcO zpsWl~A_Z22>Y?gBRhl91{i+eV45r>@EF;%j9px+n;!}IvxOkrr~RWsY$wD%w4g=y zHC$B@FkVuTWrz)rXf{b!ki&opfE!4-A}4~4h3}as^Q-7`f+G0<5Hn1+;gO!4pu)~- a0p=B`Ok`pxp8Q5yVRNg<8YWA!JpcepWS&0& delta 163 zcmZoEXbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~3gIoZI3MH0wo-~?hupg03VDnlki zaZ-74K~m1 diff --git a/com_eis/.DS_Store b/com_eis/.DS_Store index 804a2152ae27820ae75579db3b5a8bb937205b30..5423f059159d2be687ac9db54a70d52e5c409937 100644 GIT binary patch literal 10244 zcmeHNYitx%6u#fIlvx?sH<^3( z-g~}#?)~PRy*+o!7{jUot)8(cV@#%pOI4w2jKatHb3u{(o=TD+JYyC!n8RF_XXy*H zgN}fKfPsL4fPsL4fPpK40XnmJktYZl)Bytl0|5gg4Dj!VC_P*zd^sef_tim_mjaM1 zr*5y%XUYRSOw^YNUk(ZBL1|8rJ-~;;Pcb0iG#=&ZBon?I5>mh!1f0RQ3_nAGXPt0S zPn{tlWKahT1Polr0MFegQns$K9Odq%`Mb+(mN$Fr+p~7AUjR=`yo9z>Xv&y&hOx5t zOuuP3ZajVhQd#-9it%#jnhDCpa966kN7<4xvbNQ3?9#WYl}?{M*i6l~yk0Q$!LF=r z4&*Fnt6G&!o7n*~?dpxD$(5UH!!>NHJLT#-+~P!|hEhF_op+nO$+oKM zfTM5JX)dFnCuv5Ss+wEd(9frFHtBhXWGoRE8x0+}c4}l!ZQbIfD-x@lTkjsORI92L zW%87+g5ek$Q}0eYS>4hMtG9E|(A>TrL(?tS*kZHIOkL7%<$OYD|`ejqvPPNLJt7qR}E-ZH>>Uc_ZQQ?0K@hnfEv4b*e?T5?-*7 z0O<~g2=bR1uMdS(r(?Te`A}uat#U}!I?Z%OH^pqq@&@W!-&GJh_d6%wA%{}*zH_u0 z$2Z%Qlx6kPd%5A3wBv5**R7EyHLa879;Yvz*EbAWdcKHgk!A12Qa^{R)(qFqdu-e_ zI~?xjQ#ERuuFQ{tO4Xa?d^p?mwNDMe~OuP`rVu|_UW9+DN(EH?Z z9GX;A@FhP;!mNfZql2S^Z6hb%&7Nj^*gNbnJHn2!uh~g@3Qlpc*qV z2X$D4IO?$+4OoGdSdR{LViPjh4ih=paPbfx#v|B`$MFoF#dCN8ui$m;#Xh`&19%UI z@IF4mXZRe)a2zM`6Hei0oW`Fxi@&5QX@)dMnk&^vi=?=;Sh`tSBdwL%q;4rA^-6tW z2aI}*@xk}awLILen>2aK)acy#i*8wV zd*g^x3Lh@IZD}}o5ilxlya@2TFv>7)?Rcbp4M5vaxRRLApBmWR3a4N5Gc zj-wzF%^IaPqE=7;(Is{QfjMg9=Q5iU?|P6PA&mufaMrqXn(x>nU_&GqylS zFZysldA^GR2C);n@F*T5zkd=>;d#7>m+&(7;5G98eb`UFe-LlsZG3>kID(`2(2Ig$ ze1{+K<9UAFI@+&s`r>|_vy(~T*GztM*B?)8T=+@jr4ZU>BKrGEjyZh67kH6KE41e= z)3$m^i^u9XIy!YaKn<2IJuWe?Ztv*P(w%%;5q@z00&gcJ_?&%iET z?T~Gk>7~{gYdBsyR%*NE*N+dqdZTB11Y2r(tnpI2jCpps?Vtn<1PlZW1PlZW1Pokd z43vrWM*02!>VN+I|0>&6u-t%wfPu?l0OiT{o+FDQUDo6F)E>%Mrk zRRvUm|55>dKP0GZQ)f%D_SJ#LZUJDM=(Yvd*auil;%w?{Db_+UrtBV!gBrKRFan1^ z;c(d0*;1^)$q1Z`%WT{Z#n|k?B{rN)Dpp%nKoy7;Xrb#e?b47Y^upi2=OYQe^D2(W zi*|cEE4Ja`uiZiG#`IxbRPQ&UMmv03P-WZ1Fc>oflOYXg4|YI(IZ>!$uHUbV@i{%~ zzkBdWI7MUS#hlf7aUrjic`Z;*ed+JIJiO1MJ|f6J{e}e4 zWrF-;+6RL!t|kEsT6j|z<8zrb*1mteWw}IS`Haqs3wX)Px(QypczRCVr+Z((XXf*H z-2QR=@$HJ`;rZwHrOqGbeZqP)koS3Y-c&su=H}ev=R|MyoI0F8inS0l!4Cm^p8a8n>ja^UNu4dlq6b9}0;~+$r~-dg FffLWR0}22D diff --git a/com_eis/Archiv.zip b/com_eis/Archiv.zip index cdaf0cdf55fd823dc150e3a6b36c19a204d4066b..7dcf0a22e9a1fdca6c76c834bd03ac985aa9f39b 100644 GIT binary patch delta 19818 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

k^}*0ys$qS%BYp5mFz#KE5?cyEOVL* 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 delta 18520 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 KD>R7$?*9RVHZUpx diff --git a/com_eis/install/.DS_Store b/com_eis/administrator/.DS_Store similarity index 74% rename from com_eis/install/.DS_Store rename to com_eis/administrator/.DS_Store index 2ea210a743cf4fb26d25f30bd1ec901b7dd29a28..43d88e8035c1a8179aa467757381580a8e99bbee 100644 GIT binary patch literal 6148 zcmeHKJxc>Y5S=veU7}Im;5{%>AVm4zv z%Rr^)7}60nsnKc{%CT&5hytR(UsHhhZiZUex2M>-q5WIyw7aI*)j?8DyW@G)R;S9b zm&$H_wDGi;oLB!&*w^zGkcSi6RxYD+IoA<+qx#^ zYIlOVe#(p1#pfiYP}do?qSY+sf=IZAi|fm~(x$G#jteu#qfx%?FTNhtqI`!3mJg9I z-(&9i{&s!Lr=!72)->mMYZ1dlegXi~aBIW2z9WGSJAkf5-yl3NWrhOH zP-UMO$_$6!v3agV-=G;zN;6{~%dG4RMQL{U9i2|fH7LC(APPhkNSU8mzW?{XfB#1Z z$uChr6!=#PsI*u1idd4pTVspkyVgOgps{hDZ%_|GXRl-Z!B_DLnl{87{s6ibeS`48 PCJ*u~2NHo+3XB0|Nsi1A_pAVQ_MOZo$MtT}GD4HmnjhQvE;~W`<&h zLWZ2&d>5Cboctu92nP^vP?A0Fh%B3eCOdfos}!TdWVHm^QO>@N)pI1PXj- Up3E;|$jC6+hDUmHjK~UR02pZ@6aWAK diff --git a/com_eis/language/.DS_Store b/com_eis/administrator/language/.DS_Store similarity index 92% rename from com_eis/language/.DS_Store rename to com_eis/administrator/language/.DS_Store index 58951d748ce268b4725106c2d4532e1c1feb37c8..706556ea67e22b3f0c8fb07f4c524186e9cf96df 100644 GIT binary patch delta 201 zcmZoMXfc=|#>B)qu~2NHo+38~0|Nsi1A_nqgX_eojf)pBGS-8HSQ%0nQWnt|Eniih>Me8<-RrHuEr6 ivuB`mu~2NHo+3930|Nsi1A_nqgVV&Qjf^atdzh+OH#RgdZf57;=K!kP YEXe$wc{0C diff --git a/com_eis/language/de-DE/de-DE.com_eis.ini b/com_eis/administrator/language/de-DE/de-DE.com_eis.ini similarity index 100% rename from com_eis/language/de-DE/de-DE.com_eis.ini rename to com_eis/administrator/language/de-DE/de-DE.com_eis.ini diff --git a/com_eis/language/de-DE/de-DE.com_eis.sys.ini b/com_eis/administrator/language/de-DE/de-DE.com_eis.sys.ini similarity index 100% rename from com_eis/language/de-DE/de-DE.com_eis.sys.ini rename to com_eis/administrator/language/de-DE/de-DE.com_eis.sys.ini diff --git a/com_eis/language/en-GB/en-GB.com_eis.ini b/com_eis/administrator/language/en-GB/en-GB.com_eis.ini similarity index 100% rename from com_eis/language/en-GB/en-GB.com_eis.ini rename to com_eis/administrator/language/en-GB/en-GB.com_eis.ini diff --git a/com_eis/language/en-GB/en-GB.com_eis.sys.ini b/com_eis/administrator/language/en-GB/en-GB.com_eis.sys.ini similarity index 100% rename from com_eis/language/en-GB/en-GB.com_eis.sys.ini rename to com_eis/administrator/language/en-GB/en-GB.com_eis.sys.ini diff --git a/com_eis/services/provider.php b/com_eis/administrator/services/provider.php similarity index 100% rename from com_eis/services/provider.php rename to com_eis/administrator/services/provider.php diff --git a/com_eis/install/sql/mysql/install.utf8.sql b/com_eis/administrator/sql/install.mysql.utf8.sql similarity index 100% rename from com_eis/install/sql/mysql/install.utf8.sql rename to com_eis/administrator/sql/install.mysql.utf8.sql diff --git a/com_eis/install/sql/mysql/uninstall.mysql.utf8.sql b/com_eis/administrator/sql/uninstall.mysql.utf8.sql similarity index 100% rename from com_eis/install/sql/mysql/uninstall.mysql.utf8.sql rename to com_eis/administrator/sql/uninstall.mysql.utf8.sql diff --git a/com_eis/administrator/sql/updates/1.1.2.sql b/com_eis/administrator/sql/updates/1.1.2.sql new file mode 100644 index 0000000..55cbf1f --- /dev/null +++ b/com_eis/administrator/sql/updates/1.1.2.sql @@ -0,0 +1,61 @@ +-- UTF-8, kein BOM +-- EIS – Schema-Update 1.1.1 +-- Ziel: fehlende Tabellen anlegen, fehlende Spalten/Indizes ergänzen. + +-- ========================================================== +-- 1) Einstellungen (neu in 1.1.1) +-- ========================================================== +CREATE TABLE IF NOT EXISTS `#__eis_settings` ( + `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, + `param` VARCHAR(191) NOT NULL, + `value` TEXT NULL, + `created` DATETIME NULL DEFAULT NULL, + `modified` DATETIME NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uniq_param` (`param`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +INSERT IGNORE INTO `#__eis_settings` (`param`, `value`, `created`, `modified`) +VALUES ('document_root', '', NOW(), NOW()); + +-- ========================================================== +-- 2) Dokumente (Bestand absichern) +-- Falls ältere Installationen die Tabelle nicht haben. +-- ========================================================== +CREATE TABLE IF NOT EXISTS `#__eis_documents` ( + `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + `path` TEXT NOT NULL, + `parent_id` INT UNSIGNED DEFAULT NULL, + `is_folder` TINYINT(1) NOT NULL DEFAULT 0, + `title` VARCHAR(255) DEFAULT NULL, + `description` TEXT DEFAULT NULL, + `ordering` INT NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- Falls es Altbestände ohne neue Spalten gab, Spalten idempotent ergänzen +ALTER TABLE `#__eis_documents` + ADD COLUMN IF NOT EXISTS `title` VARCHAR(255) DEFAULT NULL, + ADD COLUMN IF NOT EXISTS `description` TEXT DEFAULT NULL, + ADD COLUMN IF NOT EXISTS `ordering` INT NOT NULL DEFAULT 0, + MODIFY COLUMN `is_folder` TINYINT(1) NOT NULL DEFAULT 0; + +-- Nützliche Indizes (idempotent) +CREATE INDEX IF NOT EXISTS `idx_eis_docs_parent` ON `#__eis_documents` (`parent_id`); +CREATE INDEX IF NOT EXISTS `idx_eis_docs_ordering` ON `#__eis_documents` (`ordering`); +CREATE INDEX IF NOT EXISTS `idx_eis_docs_name` ON `#__eis_documents` (`name`); + +-- Optional: Selbst-Referenz als FK (nur wenn du ON DELETE CASCADE willst) +-- Achtung: MySQL verlangt gleiche Kollation/Engine; Namen idempotent prüfen: +-- (MySQL kennt kein "ADD CONSTRAINT IF NOT EXISTS", daher defensiv erst droppen) +-- SET @fk_exists := ( +-- SELECT COUNT(*) +-- FROM information_schema.REFERENTIAL_CONSTRAINTS +-- WHERE CONSTRAINT_SCHEMA = DATABASE() +-- AND CONSTRAINT_NAME = 'fk_eis_docs_parent' +-- ); +-- SET @sql := IF(@fk_exists = 0, +-- 'ALTER TABLE `#__eis_documents` ADD CONSTRAINT `fk_eis_docs_parent` FOREIGN KEY (`parent_id`) REFERENCES `#__eis_documents`(`id`) ON DELETE CASCADE;', +-- 'SELECT 1'); +-- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; diff --git a/com_eis/src/.DS_Store b/com_eis/administrator/src/.DS_Store similarity index 100% rename from com_eis/src/.DS_Store rename to com_eis/administrator/src/.DS_Store diff --git a/com_eis/src/Controller/ConfigController.php b/com_eis/administrator/src/Controller/ConfigController.php similarity index 100% rename from com_eis/src/Controller/ConfigController.php rename to com_eis/administrator/src/Controller/ConfigController.php diff --git a/com_eis/src/Controller/DisplayController.php b/com_eis/administrator/src/Controller/DisplayController.php similarity index 100% rename from com_eis/src/Controller/DisplayController.php rename to com_eis/administrator/src/Controller/DisplayController.php diff --git a/com_eis/src/Extension/EISComponent.php b/com_eis/administrator/src/Extension/EISComponent.php similarity index 100% rename from com_eis/src/Extension/EISComponent.php rename to com_eis/administrator/src/Extension/EISComponent.php diff --git a/com_eis/src/Helper/TreeHelper.php b/com_eis/administrator/src/Helper/TreeHelper.php similarity index 100% rename from com_eis/src/Helper/TreeHelper.php rename to com_eis/administrator/src/Helper/TreeHelper.php diff --git a/com_eis/src/View/.DS_Store b/com_eis/administrator/src/View/.DS_Store similarity index 100% rename from com_eis/src/View/.DS_Store rename to com_eis/administrator/src/View/.DS_Store diff --git a/com_eis/src/View/Config/HtmlView.php b/com_eis/administrator/src/View/Config/HtmlView.php similarity index 100% rename from com_eis/src/View/Config/HtmlView.php rename to com_eis/administrator/src/View/Config/HtmlView.php diff --git a/com_eis/src/View/Main/HtmlView.php b/com_eis/administrator/src/View/Main/HtmlView.php similarity index 100% rename from com_eis/src/View/Main/HtmlView.php rename to com_eis/administrator/src/View/Main/HtmlView.php diff --git a/com_eis/tmpl/.DS_Store b/com_eis/administrator/tmpl/.DS_Store similarity index 100% rename from com_eis/tmpl/.DS_Store rename to com_eis/administrator/tmpl/.DS_Store diff --git a/com_eis/tmpl/config/default.php b/com_eis/administrator/tmpl/config/default.php similarity index 100% rename from com_eis/tmpl/config/default.php rename to com_eis/administrator/tmpl/config/default.php diff --git a/com_eis/tmpl/main/default.php b/com_eis/administrator/tmpl/main/default.php similarity index 100% rename from com_eis/tmpl/main/default.php rename to com_eis/administrator/tmpl/main/default.php diff --git a/com_eis/eis.xml b/com_eis/eis.xml index 8764c6d..3c71870 100644 --- a/com_eis/eis.xml +++ b/com_eis/eis.xml @@ -1,52 +1,51 @@ - - - - - install/sql/mysql/install.utf8.sql - - - - - install/sql/mysql/uninstall.mysql.utf8.sql - - + com_eis - 2025-09-18 - Thomas Spohr powert by OpenAI - 1.0.1 - EIS Komponente + 1.1.3 EIS\Component\EIS - - - src - - - + + + src + +

COM_EIS_MENU COM_EIS_MAIN COM_EIS_CONFIG - - - sql + src tmpl - install + sql language services - + en-GB.com_eis.ini en-GB.com_eis.sys.ini - - - de-DE.com_eis.ini - de-DE.com_eis.sys.ini - + + de-DE.com_eis.ini + de-DE.com_eis.sys.ini + + + + + + sql/install.mysql.utf8.sql + + + + + sql/uninstall.mysql.utf8.sql + + + + sql/updates/mysql + + + pdfjs diff --git a/com_eis/install/sql/.DS_Store b/com_eis/install/sql/.DS_Store deleted file mode 100644 index 8c581de5dcd8053840263534ef36610762d6470b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~O-chn5QVE^gaJ2Mx)J&cxj`Go6XXIR26QpQM8t)=-ik}{B3{C4`KqfFCl0s^ zBCnwP^-opL%m>rmB_g_d*eyjCBGRCksx>Ceh9{?H;XH?GU8C!6mh0=G-%l*_H;3%q zPome+c(xzfcH0eGj5eE>r`NZO_sc_%-7g;d+wX)D!f7Nx0wh2JBydy$ zIJ3=~GgsCmKmsK2MZorlgkqXQi)-CFP}LLwYS-v$Xj?8}F)1{M7FW!`)I*^js*z%- zhhsd2Uk)v<9xfWmhsKjXlNYT|$NH(di)L5WBtQaV0w>;G*!h2jUuH7NABV6<0wnOy z2m2`E;@g*7GoSUqq)K6iHv1z6C2nzvvd6A2LP9J2~7Y1 delta 33 pcmZoMXffEJ#>m33>B#ZPT8web496dAp2%3nHnD+iGdss$egMgg3+(^^ diff --git a/com_eis/media/pdfjs/.DS_Store b/com_eis/media/pdfjs/.DS_Store index e358251edd2199e226b8c0965869af076957e7dd..6f9bd6ec544c0923ca04aca09e2b4e09bcc30224 100644 GIT binary patch delta 94 zcmZoMXffE($!M|k0|O8+Gn6x=G9=}s8wMxm=N5p37#f{D5Hh*>E-pzq`AI+#4psll h>B}b{WRzruu`;FT}PFbq!4&n*Dz0fKL delta 136 zcmZoMXffEJ&dAL3sbI1eqZDiHpN^`flRX(_p{#61IVRx)le-zE0~kPng&~t683>DW r^Icq$a`KaaVjK(%4O13tA9qBRPr)l+kTEf4{bmKGB-YLB9Dn%%iuNVM diff --git a/com_eis/sql/install/mysql/install.mysql.sql b/com_eis/sql/install/mysql/install.mysql.sql deleted file mode 100644 index 518d930..0000000 --- a/com_eis/sql/install/mysql/install.mysql.sql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE TABLE IF NOT EXISTS `#__eis_documents` ( - `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `name` VARCHAR(255) NOT NULL, - `path` TEXT NOT NULL, - `parent_id` INT UNSIGNED DEFAULT NULL, - `is_folder` TINYINT(1) DEFAULT 0, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; \ No newline at end of file