object_actions: _edit: ~ send: { params: { onclick : "if(confirm('Are you sure?')){return true;}else{return false;}" } }
Thursday, April 21, 2011
Display Confirm Message before a Custom Object Action with Admin Generator in Symfony
Labels:
admin-generator,
generator,
symfony
Form Validation Errors At Top of the Page in Symfony
-
<?php foreach($form->getWidgetSchema()->getPositions() as $widgetName): ?>
<?php if($form[$widgetName]->hasError()): ?>
- <?php echo $form[$widgetName]->renderLabelName().': '.__($form[$widgetName]->getError()->getMessageFormat()); ?> <?php endif; ?> <?php endforeach; ?>
Monday, April 18, 2011
Show HTML Tags Instead of Entities in Flash Messages in Symfony
Use this instead:
$sf_user->getFlash('msg', ESC_RAW);
Send Email with Gmail SMTP in Symfony
Put this to the fatories.yml:
mailer: param: transport: class: Swift_SmtpTransport param: host: smtp.gmail.com port: 465 encryption: ssl username: "...@gmail.com" password: "..."
Thursday, April 7, 2011
Mime Type Problem when Uploading DOC, DOCX, ODT Files in Symfony
If you create a DOC file with OpenOffice, its mimetype will be application/octet-stream, that can be anything binary data. Of course, you can't allow this mimetype at uploading.
If you try to upload DOCX and ODT files, symfony will recognise them as a ZIP archive. To corrrect this and the OpenOffice DOC mimetype problem, add the 'mime_type_guessers' option to sfValidatorFile:
If you try to upload DOCX and ODT files, symfony will recognise them as a ZIP archive. To corrrect this and the OpenOffice DOC mimetype problem, add the 'mime_type_guessers' option to sfValidatorFile:
$this->setValidator('filename', new sfValidatorFile(array( 'max_size' => ..., 'path' => ..., 'mime_type_guessers' => array('guessFromFileinfo'), 'required' => ..., ...
Convert RTF to TEXT with PHP and Linux
I always use UnRTF to get text from RTF files. The simplest way to convert the rtf file to html, then use the strip_tags method.
exec("unrtf test.rtf", $output); echo strip_tags(implode('', $output));However UnRTF is not fully compatible with UTF-8, it has problems with accents, ex. with the Hungarian accents, thus, I had to correct the Hungarian accents this way:
$from = array("Û", "û", "õ", "Õ"); $to = array("Ű", "ű", "ő", "Ő"); exec("unrtf test.rtf", $output); echo strip_tags(str_replace($from, $to, html_entity_decode(implode('', $output), ENT_QUOTES, 'UTF-8')));
Convert ODT to TEXT with PHP
Shorter way (requires odt2txt installed and shell_exec enabled):
echo shell_exec("odt2txt --encoding=utf8 test.odt");Longer way (requires PHP 5.2+ and ZIP extension enabled):
function odt2text($filename) { return readZippedXML($filename, "content.xml"); } function readZippedXML($archiveFile, $dataFile) { // Create new ZIP archive $zip = new ZipArchive; // Open received archive file if (true === $zip->open($archiveFile)) { // If done, search for the data file in the archive if (($index = $zip->locateName($dataFile)) !== false) { // If found, read it to the string $data = $zip->getFromIndex($index); // Close archive file $zip->close(); // Load XML from a string // Skip errors and warnings $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING); // Return data without XML formatting tags return strip_tags($xml->saveXML()); } $zip->close(); } // In case of failure return empty string return ""; } echo odt2text("test.odt");
Convert DOCX to TEXT with PHP
First, you have to use PHP 5.2+ and enable the ZIP (ZipArchive) extension for PHP.
function docx2text($filename) { return readZippedXML($filename, "word/document.xml"); } function readZippedXML($archiveFile, $dataFile) { // Create new ZIP archive $zip = new ZipArchive; // Open received archive file if (true === $zip->open($archiveFile)) { // If done, search for the data file in the archive if (($index = $zip->locateName($dataFile)) !== false) { // If found, read it to the string $data = $zip->getFromIndex($index); // Close archive file $zip->close(); // Load XML from a string // Skip errors and warnings $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING); // Return data without XML formatting tags return strip_tags($xml->saveXML()); } $zip->close(); } // In case of failure return empty string return ""; } echo docx2text("test.docx");
Wednesday, April 6, 2011
Convert DOC to TEXT with PHP and Linux
$file = $directory.'/'.$filename; $fileinfo = pathinfo($filename); $content = ""; // doc to text if($fileinfo['extension'] == 'doc') { $content = shell_exec("antiword -m UTF-8.txt -t $file"); }
Convert PDF to TEXT with PHP and Linux
To install pdftotext, use: apt-get install xpdf
$file = $directory.'/'.$filename; $fileinfo = pathinfo($filename); $content = ""; // pdt to text if($fileinfo['extension'] == 'pdf') { $outpath = preg_replace("/\.pdf$/", "", $file).".txt"; system("pdftotext -enc UTF-8 ".escapeshellcmd($file), $ret); if($ret == 0) { $content = file_get_contents($outpath); unlink($outpath); } }
Monday, April 4, 2011
Correct the Icon Position of sfAdminThemejRollerPlugin Buttons in IE, Chrome, Safari
Use this code in the layout after the CSS definitions....
Labels:
admin-generator,
css,
jroller,
sfAdminThemejRollerPlugin,
symfony
Subscribe to:
Posts (Atom)