Including: C:\Program Files\sugarcrm-5.0.0f\htdocs\sugarcrm\cache\upload\upgrades\temp\ 5C.tmp/scripts/post_install.php "; } function post_install( ) { zr_log("post_install() started."); global $listingdefs; if (!empty($listingdefs)) { run_listings_installer($listingdefs); } global $querydefs; if (!empty($querydefs)) { run_query_installer($querydefs); } global $templatedefs; if (!empty($templatedefs)) { run_word_installer($templatedefs); } global $reportdefs; if (!empty($reportdefs)) { run_report_installer($reportdefs); } zr_log("post_install() finished."); } function run_listings_installer($listingdefs) { if (is_file('modules/ZuckerListingTemplate/ListingTemplate.php')) { require_once('modules/ZuckerListingTemplate/ListingTemplate.php'); require_once('modules/ZuckerListingTemplateFilter/ListingTemplateFilter.php'); require_once('modules/ZuckerListingTemplateOrder/ListingTemplateOrder.php'); foreach ($listingdefs as $listingdef) { $listing_name = $listingdef["listing_name"]; $listing_description = $listingdef["listing_description"]; $listing_mainmodule = $listingdef["listing_mainmodule"]; $listing_filtertype = $listingdef["listing_filtertype"]; $listing_filters = $listingdef["listing_filters"]; $listing_orders = $listingdef["listing_orders"]; $seed = ListingTemplate::get_by_name($listing_name); if (!$seed) { zr_log("run_listings_installer() installing ".$listing_name." ... "); $seed = new ListingTemplate(); $seed->name = $listing_name; $seed->description = $listing_description; $seed->mainmodule = $listing_mainmodule; $seed->filtertype = $listing_filtertype; $seed->save(); if (!empty($listing_filters)) { foreach ($listing_filters as $listing_filter) { $fseed = new ListingTemplateFilter(); $fseed->listing_template_id = $seed->id; $fseed->module_name = $listing_filter["module_name"]; $fseed->field_name = $listing_filter["field_name"]; $fseed->comparator = $listing_filter["comparator"]; $fseed->value_type = $listing_filter["value_type"]; if ($fseed->value_type == "parameter") { $pseed = ReportParameter::getByDefaultname($listing_filter["parameter_default_name"]); $lseed = new ReportParameterLink(); $lseed->template_id = $seed->id; $lseed->parameter_id = $pseed->id; $lseed->name = $pseed->default_name; $lseed->default_value = $pseed->default_value; $lseed->save(); $fseed->value = $lseed->id; if (!empty($listing_filter["parameter_module_link"])) { $mseed = new ReportModuleLink(); $mseed->parameterlink_id = $lseed->id; $mseed->module_name = $listing_filter["parameter_module_link"]; $mseed->save(); } } else { $fseed->value = $listing_filter["value"]; } $fseed->save(); } } if (!empty($listing_orders)) { foreach ($listing_orders as $listing_order) { $oseed = new ListingTemplateOrder(); $oseed->listing_template_id = $seed->id; $oseed->module_name = $listing_order["module_name"]; $oseed->field_name = $listing_order["field_name"]; $oseed->order_type = $listing_order["order_type"]; $oseed->save(); } } zr_log("run_listings_installer() installing ".$listing_name." ready."); } else { zr_log("run_listings_installer() listing ".$listing_name." already present."); } } } } function run_word_installer($templatedefs) { if (is_file('modules/ZuckerWordTemplate/WordTemplate.php')) { require_once('modules/ZuckerWordTemplate/WordTemplate.php'); require_once('modules/ZuckerQueryTemplate/QueryTemplate.php'); require_once('modules/ZuckerListingTemplate/ListingTemplate.php'); foreach ($templatedefs as $templatedef) { $filename = $templatedef["filename"]; $template_name = $templatedef["template_name"]; $template_description = $templatedef["template_description"]; $query_name = $templatedef["query_name"]; $listing_name = $templatedef["listing_name"]; $seed = WordTemplate::get_by_filename($filename); if (!$seed) { zr_log("run_word_installer() installing ".$template_name." ... "); $seed = new WordTemplate(); $seed->name = $template_name; $seed->description = $template_description; if (!empty($query_name)) { $qseed = QueryTemplate::get_by_name($query_name); if (!$qseed) { echo " Query \"".$query_name."\" not found, please install corresponding package. "; continue; } $seed->querytemplate_id = $qseed->id; } else if (!empty($listing_name)) { $lseed = ListingTemplate::get_by_name($listing_name); if (!$lseed) { echo " Listing \"".$listing_name."\" not found, please install corresponding package. "; continue; } $seed->querytemplate_id = $lseed->id; } $success = $seed->set_templatefile("modules/ZuckerReports/temp/".$filename, $filename); if (!$success) { echo $seed->report_output; return; } $seed->save(); zr_log("run_word_installer() installing ".$template_name." ready."); } else { zr_log("run_word_installer() listing ".$template_name." already present."); } } } } function run_query_installer($querydefs) { if (is_file('modules/ZuckerQueryTemplate/QueryTemplate.php')) { require_once('modules/ZuckerQueryTemplate/QueryTemplate.php'); require_once('modules/ZuckerReportParameter/ReportParameter.php'); require_once('modules/ZuckerReportParameterLink/ReportParameterLink.php'); foreach ($querydefs as $querydef) { $query_name = $querydef["query_name"]; $query_description = $querydef["query_description"]; $query_sql = $querydef["query_sql"]; $query_params = $querydef["query_params"]; if (empty($query_params)) $query_params = array(); $seed = QueryTemplate::getByName($query_name); if (!$seed) { zr_log("run_query_installer() installing ".$query_name." ... "); $seed = new QueryTemplate(); $seed->name = $query_name; $seed->description = $query_description; $seed->sql1 = $query_sql; $seed->save(); foreach ($query_params as $query_param) { $pseed = ReportParameter::getByDefaultname($query_param["default_name"]); if (!$pseed) { $pseed = new ReportParameter(); $pseed->friendly_name = $query_param["friendly_name"]; $pseed->default_name = $query_param["default_name"]; $pseed->default_value = $query_param["default_value"]; $pseed->description = $query_param["description"]; $pseed->range = (empty($query_param["range"]) ? "SIMPLE" : $query_param["range"]); $pseed->range_options = $query_param["range_options"]; $pseed->save(); } $lseed = new ReportParameterLink(); $lseed->template_id = $seed->id; $lseed->parameter_id = $pseed->id; $lseed->name = $query_param["default_name"]; $lseed->default_value = $query_param["default_value"]; $lseed->save(); } zr_log("run_query_installer() installing ".$query_name." ready."); } else { zr_log("run_query_installer() listing ".$query_name." already present."); } } } } function run_report_installer($reportdefs) { if (is_file('modules/ZuckerReportTemplate/ReportTemplate.php')) { require_once('modules/ZuckerReportTemplate/ReportTemplate.php'); require_once('modules/ZuckerReportParameter/ReportParameter.php'); require_once('modules/ZuckerReportParameterLink/ReportParameterLink.php'); foreach ($reportdefs as $reportdef) { $filename_base = $reportdef["filename_base"]; $subreports_base = $reportdef["subreports_base"]; $resources = $reportdef["resources"]; $report_name = $reportdef["report_name"]; $report_description = $reportdef["report_description"]; $report_export_as = $reportdef["report_export_as"]; $report_params = $reportdef["report_params"]; if (empty($subreports_base)) $subreports_base = array(); if (empty($resources)) $resources = array(); if (empty($report_params)) $report_params = array(); $seed = ReportTemplate::getByFilename($filename_base.".jas per"); if (!$seed) { zr_log("run_report_installer() installing ".$report_name." ... "); $seed = new ReportTemplate(); $seed->name = $report_name; $seed->description = $report_description; $seed->export_as = $report_export_as; $success = $seed->set_reportfile("modules/ZuckerReports/temp/".$filename_base.".jrxml", $filename_base.".jrxml"); if (!$success) { echo $seed->report_output; return; } foreach ($subreports_base as $sub) { $success = $seed->add_subreportfile("modules/ZuckerReports/temp/".$sub.".jrxml", $sub.".jrxml"); if (!$success) { echo $seed->report_output; return; } } foreach ($resources as $res) { $seed->add_resource_file("modules/ZuckerReports/temp/".$res, $res); } $seed->save(); foreach ($report_params as $report_param) { $pseed = ReportParameter::getByDefaultname($report_param["default_name"]); if (!$pseed) { $pseed = new ReportParameter(); $pseed->friendly_name = $report_param["friendly_name"]; $pseed->default_name = $report_param["default_name"]; $pseed->default_value = $report_param["default_value"]; $pseed->description = $report_param["description"]; $pseed->range = (empty($report_param["range"]) ? "SIMPLE" : $report_param["range"]); $pseed->range_options = $report_param["range_options"]; $pseed->save(); } $lseed = new ReportParameterLink(); $lseed->template_id = $seed->id; $lseed->parameter_id = $pseed->id; $lseed->name = $report_param["default_name"]; $lseed->default_value = $report_param["default_value"]; $lseed->save(); } zr_log("run_report_installer() installing ".$report_name." ready."); } else { zr_log("run_report_installer() report ".$report_name." already present."); } } } } ?>
Bookmarks