From: Ariel A. B. U. <ar...@co...> - 2021-02-23 17:01:14
|
Hi! Nice to see we are using again this list. Un saludo, Colnodo - Uso estratégico de Internet para el desarrollo *M.Sc. Ariel A. Barbosa U.* Director de Proyectos de Tecnología Escuela de Seguridad Digital Tel: 57-1 232 4246 ext. 4301 | 57-315 258 5596 Diagonal 40A (Antigua Av. 39) No. 14-75 Bogotá, Colombia ar...@co... <mailto:ar...@co...> | PGP: 0x9C11CB866ECC0C8C | Twitter @arielbarbosa <https://twitter.com/arielbarbosa> @colnodo <https://twitter.com/colnodo> www.colnodo.apc.org <https://www.colnodo.apc.org> - Uso Estratégico de Internet para el Desarrollo Miembro de la Asociación para el Progreso de las Comunicaciones -APC- www.apc.org <https://www.apc.org> El 23/02/21 a las 9:26 a. m., Bako Mihaly escribió: > Hi Honza, > > Thank you very much for the answer. > > You don't need to spend time on MLX right now, I can live with the > trick I found, if needed. > > Would like to get a documentation for site module and multilanguage > support, hopefully some time will be available. > > Do not understand how parameter handling is going on in the SEO way, I > have seen that {go} is giving you the actual URL, the other variables > were empty in my case. > > We will see. > > I am happy we are in contact. > > Have a sunny day! > > Misi > > La 2021-02-23 02:21, Honza Malik a scris: >> Hola Misi, >> >> >> nice to see you here! >> >> >> > Hi Honza, Ariel, I hope you are doing well during these difficult >> times >> >> >> We are OK with our family, I hope you all too. >> >> >> > Tried to migrate AA site from php 5.5 to 7.2. >> >> > Did svn update to the last revision and updated the database. >> >> >> Great - the last AA in SVN support PHP >= 7.2 >> >> > I have encountered the new site module approach, did not >> understand how >> >> > it works, how can you migrate sites using the "old way", and could >> not >> >> > find any documentation about it. >> >> >> The "new" approach to Site Module is there from commit 2009-08-17 >> in SVN - >> >> >> / Site Module now you can use without any control-file, so you do >> not/ >> >> / need any PHP scripting at all. All you need is to select/ >> >> / AA_Router_Seo in "Router" field in Site Setting and specify/ >> >> / the slices, which are used within the Site Module. This means, >> that/ >> >> / AA_Router_Seo is now stabilized and standardized. See also new/ >> >> / possibilities useful here - {xid}, {xid:path}, {xid:1}, {go} >> and tree/ >> >> / posibilities of {item}/ >> >> >> It works well for the new sites and we use it from that time. The >> documentation is not in good shape for it, but if you are interested, >> I will prepare some example. >> >> >> On the other hand, we are trying to be as backward compatible as >> possible, so the old sites should work in new AA as well. We still >> run some sites based on that older approach with the most current AA. >> >> >> The rewrite of the site from old to new approach is not trivial >> and I would go for it only in the case of redesign of the whole site. >> >> >> > For the time being I had to stick to the old ways - start feeling >> like >> >> > in some old, burned out gunman character from a western movie :-) >> - here >> >> > is my experience, if anybody needs it: >> >> > >> >> > location: apc-aa/modules/site/sites >> >> > file: >> >> > >> >> > Found that the ereg() function used here is out of php 7, found >> >> > suggestion of using preg_match() instead. >> >> >> Right - ereg is gone in php7. One of the advantage of the new >> sitemodule is, that you do not need external php script, so all php >> code is managed and updated be AA. >> >> >> > # previous php 5.5 version >> >> > >> >> > if( ereg( >> >> > >> "^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-]) >> >> > ([a-zA-Z_]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)", $apc, $vars )) >> >> > >> >> > >> list($old_state,$old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t,$old >> >> > _x) = $vars; >> >> > >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > >> >> > The problem is that preg_match() is creating two dimensional >> array, and >> >> > the syntax is a bit different. Need to use differently the list >> >> > function, 2 versions below: >> >> > >> >> > (need to be adapted to the state variable structure used) >> >> > >> >> > # ======================================================= >> >> > # replacement for PHP 7+ >> >> > # v. 1 >> >> > >> >> > if( preg_match( >> >> > >> '"^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-] >> >> > )([a-zA-Z_-]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)"', $apc, $vars, >> >> > PREG_OFFSET_CAPTURE )) { >> >> > >> >> > >> list($old_state,$old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t,$old >> >> > _x) = $vars; >> >> > $old_state = $vars[0][0]; >> >> > $old_w = $vars[1][0]; >> >> > $old_s = $vars[2][0]; >> >> > $old_f = $vars[3][0]; >> >> > $old_l = $vars[4][0]; >> >> > $old_a = $vars[5][0]; >> >> > $old_r = $vars[6][0]; >> >> > $old_p = $vars[7][0]; >> >> > $old_t = $vars[8][0]; >> >> > $old_x = $vars[9][0]; >> >> > } >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > # ======================================================= >> >> > # replacement for PHP 7+ >> >> > # v. 2 >> >> > >> >> > if( preg_match( >> >> > >> '"^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-] >> >> > )([a-zA-Z_-]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)"', $apc, $vars, >> >> > PREG_OFFSET_CAPTURE )) >> >> > >> >> > list( list($old_state, ),list($old_w, ),list($old_s, >> ),list($old_f, >> >> > ),list($old_l, ),list($old_a, ),list($old_r, ),list($old_p, >> >> > ),list($old_t, ),list($old_x, ) ) = $vars; >> >> > >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > # ======================================================= >> >> > This second one looks more sophisticated & PHP like, however I >> feel like >> >> > it is to complicated structure to be efficient, I don't know the >> inner >> >> > workings of PHP, can not decide which one is faster on execution. >> >> > >> >> > Anyway probably there was some sick mind coming up with this >> syntax of >> >> > the list function, to use blank space for parameters to skip >> (embedded >> >> > list structure). Looks like broken code to me. I still prefer C as a >> >> > programming language :-) . >> >> >> There are two examples of this older sitemodule approach in the >> >> /modules/site/sites/ directory. The examples are addapted to PHP 7,2 >> and should be OK. >> >> >> One approach is in site_ecn_as_example.php3: >> >> >> if ( preg_match( >> "/^([a-zA-Z0-9_])([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z_]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)/", >> $apc, $vars )) { >> >> >> list($old_state,$old_w,$old_s,$old_f,$old_r,$old_p,$old_t,$old_x) = >> $vars; >> >> } else { >> >> list($old_w,$old_s,$old_f,$old_r,$old_p,$old_t) = ['z', 'z', >> 'v', 'x', '-', '-']; >> >> } >> >> >> Another - site_greenpages.php3 - uses the built-in function >> ModW_str2arr() >> >> >> $apc_varnames = "tpmiuvw"; //TODO replace with "tpmih*" >> >> $apc_reg = >> "^([-pe])([-]|[0-9]+)([hbsfcCt])([-]|[0-9]+)([hbsfcCt][-0-9]+)*"; >> >> $apc_init = '--h-s-'; >> >> $apc_state = ModW_str2arr($apc_varnames, $apc, $apc_init, $apc_reg); >> >> >> >> > ------------------------------------------------------- >> >> > the MLX / add / edit item form problem: >> >> > >> >> > I am using MLX for multiple languages. The "Edit <language>" tab >> works >> >> > on existing items. However if I want to add another item on ther >> >> > language, and select "Add <language>" tab, it is generating a >> blank Add >> >> > item form of another slice, perhaps the first slice of the database. >> >> > >> >> > Also when I select the last button (abort or cancel, mine is in >> >> > romanian) also jumps back to the other slice item list (not always >> >> > though). If I coming out of the form with the "Update" (first) >> button, >> >> > it behaves normally. Today just logged in again, fresh start, and >> went >> >> > in, this time left the form normally with Cancel button. Strange. >> >> > >> >> > I noticed that the link ends in the & character when you hover >> above the >> >> > Add <language> link - like some parameter is missing. Found that if I >> >> > add module ID at the end, the Add form is generated but blank, the >> data >> >> > from the corresponding item on another language is not copied, and >> >> > language field is filled with random values, like Norwegian, >> Japanese, >> >> > Russian, etc. which I never use. >> >> > >> >> > example: >> >> > >> >> > Original link: >> >> > >> https://site.ro/aa/admin/itemedit.php3?encap=false&add=1&mlxl=HU&mlxid=4e5b4 >> >> > d4073eb2e9f937d5cf72934d819& >> >> > >> >> > Altered link generating the blank page: >> >> > >> https://site.ro/aa/admin/itemedit.php3?encap=false&add=1&mlxl=HU&mlxid=4e5b4 >> >> > d4073eb2e9f937d5cf72934d819&module_id=fd49721e08b3ad1ffca8211b1dbdee1b >> >> > >> >> > After added new item - need to care about the language selection >> field, >> >> > otherwise strange things are happening - things are back to >> normal, you >> >> > can edit and save normally, MLX does its job and item is properly >> >> > displayed in the site. >> >> >> Well MLX. I must say we are not using MLX extension on any of our >> sites, so it is quite difficult for me to test it. There is already >> another translation approach in current AA which we use. The MLX >> extension is still in AA and we are trying to update is to newer PHP, >> but it is no longer maintained by Michael Moritz and not much tested. >> I can take a look on it if you give me access to your AA and AA files >> in the server... >> >> >> Best, >> >> Honza >> >> >> >> Dne pondělí 22. února 2021 14:04:46 CET, Bako Mihaly napsal(a): >> >> > // apparently I'm off the list, resubscribed with mi...@ng... >> >> > >> >> > Hi guys! >> >> > >> >> > Have not seen much talk on this list, hopefully I am still on it. >> >> > >> >> > Hi Honza, Ariel, I hope you are doing well during these difficult >> times >> >> > - Cc:-d this to you as well just in case. >> >> > >> >> > Tried to migrate AA site from php 5.5 to 7.2. >> >> > >> >> > Did svn update to the last revision and updated the database. >> >> > >> >> > I have encountered the new site module approach, did not >> understand how >> >> > it works, how can you migrate sites using the "old way", and could >> not >> >> > find any documentation about it. >> >> > >> >> > For the time being I had to stick to the old ways - start feeling >> like >> >> > in some old, burned out gunman character from a western movie :-) >> - here >> >> > is my experience, if anybody needs it: >> >> > >> >> > location: apc-aa/modules/site/sites >> >> > file: >> >> > >> >> > Found that the ereg() function used here is out of php 7, found >> >> > suggestion of using preg_match() instead. >> >> > >> >> > # previous php 5.5 version >> >> > >> >> > if( ereg( >> >> > >> "^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-]) >> >> > ([a-zA-Z_]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)", $apc, $vars )) >> >> > >> >> > >> list($old_state,$old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t,$old >> >> > _x) = $vars; >> >> > >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > >> >> > The problem is that preg_match() is creating two dimensional >> array, and >> >> > the syntax is a bit different. Need to use differently the list >> >> > function, 2 versions below: >> >> > >> >> > (need to be adapted to the state variable structure used) >> >> > >> >> > # ======================================================= >> >> > # replacement for PHP 7+ >> >> > # v. 1 >> >> > >> >> > if( preg_match( >> >> > >> '"^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-] >> >> > )([a-zA-Z_-]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)"', $apc, $vars, >> >> > PREG_OFFSET_CAPTURE )) { >> >> > >> >> > >> list($old_state,$old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t,$old >> >> > _x) = $vars; >> >> > $old_state = $vars[0][0]; >> >> > $old_w = $vars[1][0]; >> >> > $old_s = $vars[2][0]; >> >> > $old_f = $vars[3][0]; >> >> > $old_l = $vars[4][0]; >> >> > $old_a = $vars[5][0]; >> >> > $old_r = $vars[6][0]; >> >> > $old_p = $vars[7][0]; >> >> > $old_t = $vars[8][0]; >> >> > $old_x = $vars[9][0]; >> >> > } >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > # ======================================================= >> >> > # replacement for PHP 7+ >> >> > # v. 2 >> >> > >> >> > if( preg_match( >> >> > >> '"^([a-zA-Z0-9_])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-])([a-zA-Z0-9_-] >> >> > )([a-zA-Z_-]+)([-]|[0-9]+)([a-zA-Z_-])([0-9]*)"', $apc, $vars, >> >> > PREG_OFFSET_CAPTURE )) >> >> > >> >> > list( list($old_state, ),list($old_w, ),list($old_s, >> ),list($old_f, >> >> > ),list($old_l, ),list($old_a, ),list($old_r, ),list($old_p, >> >> > ),list($old_t, ),list($old_x, ) ) = $vars; >> >> > >> >> > else >> >> > list($old_w,$old_s,$old_f,$old_l,$old_a,$old_r,$old_p,$old_t) = >> >> > array( 'i', '-', '-', 'r', 0, '-', '-', '-'); >> >> > >> >> > # ======================================================= >> >> > >> >> > This second one looks more sophisticated & PHP like, however I >> feel like >> >> > it is to complicated structure to be efficient, I don't know the >> inner >> >> > workings of PHP, can not decide which one is faster on execution. >> >> > >> >> > Anyway probably there was some sick mind coming up with this >> syntax of >> >> > the list function, to use blank space for parameters to skip >> (embedded >> >> > list structure). Looks like broken code to me. I still prefer C as a >> >> > programming language :-) . >> >> > >> >> > ------------------------------------------------------- >> >> > the MLX / add / edit item form problem: >> >> > >> >> > I am using MLX for multiple languages. The "Edit <language>" tab >> works >> >> > on existing items. However if I want to add another item on ther >> >> > language, and select "Add <language>" tab, it is generating a >> blank Add >> >> > item form of another slice, perhaps the first slice of the database. >> >> > >> >> > Also when I select the last button (abort or cancel, mine is in >> >> > romanian) also jumps back to the other slice item list (not always >> >> > though). If I coming out of the form with the "Update" (first) >> button, >> >> > it behaves normally. Today just logged in again, fresh start, and >> went >> >> > in, this time left the form normally with Cancel button. Strange. >> >> > >> >> > I noticed that the link ends in the & character when you hover >> above the >> >> > Add <language> link - like some parameter is missing. Found that if I >> >> > add module ID at the end, the Add form is generated but blank, the >> data >> >> > from the corresponding item on another language is not copied, and >> >> > language field is filled with random values, like Norwegian, >> Japanese, >> >> > Russian, etc. which I never use. >> >> > >> >> > example: >> >> > >> >> > Original link: >> >> > >> https://site.ro/aa/admin/itemedit.php3?encap=false&add=1&mlxl=HU&mlxid=4e5b4 >> >> > d4073eb2e9f937d5cf72934d819& >> >> > >> >> > Altered link generating the blank page: >> >> > >> https://site.ro/aa/admin/itemedit.php3?encap=false&add=1&mlxl=HU&mlxid=4e5b4 >> >> > d4073eb2e9f937d5cf72934d819&module_id=fd49721e08b3ad1ffca8211b1dbdee1b >> >> > >> >> > After added new item - need to care about the language selection >> field, >> >> > otherwise strange things are happening - things are back to >> normal, you >> >> > can edit and save normally, MLX does its job and item is properly >> >> > displayed in the site. >> >> > >> >> > This is my 2c. >> >> > >> >> > Have a nice day! >> >> > >> >> > Best, >> >> > >> >> > Misi >> >> > Strawberrynet Romania >> >> > >> >> > >> >> > >> >> > _______________________________________________ >> >> > "Did you get answers to your ActionApps-related queries? If yes, >> please >> >> > help the ActionApps community by uploading the answers onto >> appropriate >> >> > space in the ActionApps documentation wiki. See the *How to >> contribute* >> >> > section today http://actionapps.org/en/How_To_Contribute" >> >> > _______________________________________________ >> >> > apc-aa-general mailing list >> >> > apc...@li... >> >> > https://lists.sourceforge.net/lists/listinfo/apc-aa-general >> >> >> > |