From 671143fb5477253c40937d7eaccdeff6908280f2 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sat, 12 Feb 2011 17:17:11 +0000 Subject: Be more tolerant while parsing recipe files --- diff --git a/site/app/controllers/developers_controller.php b/site/app/controllers/developers_controller.php index e17ee41..c5a7710 100644 --- a/site/app/controllers/developers_controller.php +++ b/site/app/controllers/developers_controller.php @@ -574,13 +574,19 @@ class DevelopersController extends AppController $activity_info = $zip->extract(array('add_path' => $tmpdir, 'by_name' => array($activity_info_path))); if (empty($activity_info)) $out['error'] = sprintf(_('The activity bundle must contain a file named */%s. See How to package activity? for details.'), $manifest); - else - $info = parse_ini_file($activity_info[0]['filename']); + else { + $info_file = $activity_info[0]['filename']; + $info_text = str_replace("!", "", file_get_contents($info_file)); + $info_text = str_replace("%", "", $info_text); + $info_text = preg_replace("/(^|\\n)[\t ][^\\n]*/", "", $info_text); + file_put_contents($info_file, $info_text); + $info = parse_ini_file($info_file); + } $this->_rmtree($tmpdir); if (!isset($out['error'])) { if (!is_array($info)) - $out['error'] = sprintf(_('Can not parse manifest file'), $manifest); + $out['error'] = _('Can not parse manifest file'); elseif (!isset($info['name'])) $out['error'] = _('The file */activity/activity.info must contain a value for name. See How to package activity? for details.'); else -- cgit v0.9.1