Guestbook-module: foutmeldingen en onbereikbaar via admin

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by Rolf »

Ik heb het voor elkaar geloof ik! Eén bestand op de server vervangen en een template bestand er bij plaatsen en ik kan vanuit de Admin de content voor het GBook Import bestand maken. Ga het eerst nog een paar keer testen en zal het dan op het forum plaatsen!

ps. het werkt ook nog :)
Ik zal even binnen het dev-team overleggen hoe ik dit het beste kan aanpakken...

ps2 ik kan wellicht beter in een UDT gieten, dan hoef je niet te "hacken"...

@Jos, bedankt voor je mooie GBook CSV import!!!
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by Rolf »

Ik heb een bugreport gemaakt voor de developer van de Guestbook module.
http://dev.cmsmadesimple.org/bug/view/10516

Daarnaast heb ik nu een UDT waarmee je zonder te hacken de content van de Guestbook module kunt exporteren naar een Import bestand voor de GBook module.

Wordt vervolgd!
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by mev »

Wow wat goed Rolf!

'k Kijk geduldig uit naar de work-around :)
Grtjs, willemijn
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by timdebuurman »

Alvast erg bedankt voor de moeite die je doet., Rolf.

Als ik nu wel de Guestbook nog werkend en wel heb en zo'n export wil maken?

IK heb geprobeerd om de code die gemaakt had in een template van de Guestbook te zetten.
De output op ht scherm was inderdaad zoals verwacht.

Nu kan ik die data wel kopiëren en plakken in bijvoorbeeld kladblok.
Dan opslaan als een .csv of .xml bestand, maar bij het importeren pakt hij m dan niet.

gr Tim
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by Rolf »

Deze UDT plaatst de inhoud van de Guestbook module in Gbook import formaat. Je kunt het sjabloon naar eigen wens aanpassen in de code. Kopieer de gegenereerde content in een .csv bestand en je kunt het importeren in Gbook.

Code: Select all

$id = isset($params['id']) ? $params['id'] : '1';

$db = cmsms()->GetDb();
$query = "SELECT * FROM ".cms_db_prefix()."module_guestbook WHERE approved='1' AND guestbook=" . $id . " ORDER BY date ASC";
$result = $db->Execute($query);

$entries = Array();

while ($result && $row = $result->FetchRow()) 
{
	$i = count($entries);
	$entries[$i]['sender'] = $row['sender'];
	$entries[$i]['e_mail'] = $row['e_mail'];
	$entries[$i]['homepage'] = $row['homepage'];
	$entries[$i]['country'] = $row['country'];
	$entries[$i]['location'] = $row['location'];
	$entries[$i]['message'] = $row['message'];
	$entries[$i]['date'] = $row['date'];
	$entries[$i]['ip_address'] = $row['ip_address'];
}

$smarty->assign('entries', $entries);

$smarty_data = '{foreach from=$entries item=entry}
{strip}
"{$entry.sender}{if !empty($entry.location)} - {$entry.location}{/if}{if !empty($entry.country)} {$entry.country}{/if}";"{$entry.e_mail}";"";"{$entry.message|strip_tags|escape}{if !empty($entry.homepage)}&nbsp;(website: &nbsp;{$entry.homepage}){/if}";"{$entry.ip_address}";"{$entry.date|date_format:"%Y-%m-%d %T"}"<br />
{/strip}
{/foreach}';

$smarty->display('eval:'.$smarty_data);
Plaats in een verborgen pagina {export_guestbook} of bijv. {export_guestbook id=2}

De Guestbook module slaat line-breaks niet op, in de export zijn deze dus weg. Zelf vind ik het niet zo'n probleem geloof ik... Wellicht dat iemand de UDT nog wat kan verbeteren?
Hoe dan ook het werkt wél en zonder de module te hacken! Je loopt dus nooit risico dat je content verliest.

grt. Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by timdebuurman »

Vandaag pas toegepast.
Werkt goed zo.

Enige is dat ik het bestand moest opslaan als .xml om te kunnen importeren.
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by Rolf »

Ik heb hem nu zelf ook toegepast op mijn eigen website met 100+ gastenboek reacties en het werkte perfect.
Hieronder de laatste versie van de UDT. Line breaks worden vertaald in de tekst als <br />. Je zult deze wel even handmatig moeten aanpassen in de reacties... Maar verder alles perfect!

@timdebuurman Het werkt wél met .csv, máár als je vanuit de GBook module een exportbestand wil opzoeken staat in de Windows popup standaard het bestandstype XML geselecteerd... Het duurde bij mij ook even voordat ik dat door had. Zet je deze op "Alle bestanden" dan kun je het bestand wel vinden en importeren.

Groet, Rolf

Code: Select all

$id = isset($params['id']) ? $params['id'] : '1';

$db = cmsms()->GetDb();
$query = "SELECT * FROM ".cms_db_prefix()."module_guestbook WHERE approved='1' AND guestbook=" . $id . " ORDER BY date ASC";
$result = $db->Execute($query);

$entries = Array();

while ($result && $row = $result->FetchRow()) 
{
	$i = count($entries);
	$entries[$i]['sender'] = $row['sender'];
	$entries[$i]['e_mail'] = $row['e_mail'];
	$entries[$i]['homepage'] = $row['homepage'];
	$entries[$i]['country'] = $row['country'];
	$entries[$i]['location'] = $row['location'];
	$entries[$i]['message'] = $row['message'];
	$entries[$i]['date'] = $row['date'];
	$entries[$i]['ip_address'] = $row['ip_address'];
}

$smarty->assign('entries', $entries);

$smarty_data = '{foreach from=$entries item=entry}
"{$entry.sender}{if !empty($entry.location)} - {$entry.location}{/if}{if !empty($entry.country)} {$entry.country}{/if}";"{$entry.e_mail}";"";"{$entry.message|strip_tags|nl2br|escape}{if !empty($entry.homepage)}&nbsp;(website: &nbsp;{$entry.homepage}){/if}";"{$entry.ip_address}";"{$entry.date|date_format:"%Y-%m-%d %T"}"<br />
{/foreach}';

$smarty->display('eval:'.$smarty_data);
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Guestbook-module: foutmeldingen en onbereikbaar via admi

Post by Rolf »

Ik heb op mijn blog een tutorial gemaakt van de bovenstaande methode om Guestbook posts over te brengen naar de Gbook module

"Moving posts from Guestbook to the Gbook module"
http://www.cmscanbesimple.org/blog/movi ... ook-module
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
Post Reply

Return to “Dutch - Nederlands”