public function test_showImage() { $path = '/src/Frontend/Files/Media/Backend/01'; $imageName = 'image-01.jpg'; $title = 'cowboy henk'; $url = 'http://www.test.com/private/nl/edit?id=1'; $width = 100; $height = 100; self::assertEquals('<a href="' . $url . '" title="' . $title . '"><img src="' . $path . '/' . $imageName . '" alt="' . $title . '" width="' . $width . '" height="' . $height . '" /></a>', DataGridFunctions::showImage($path, $imageName, $title, $url, $width, $height)); self::assertEquals('<img src="' . $path . '/' . $imageName . '" alt="' . $title . '" />', DataGridFunctions::showImage($path, $imageName, $title)); }
/** * Get modules based on the directory listing in the backend application. * * If a module contains a info.xml it will be parsed. * * @return array */ public static function getModules() { $installedModules = (array) BackendModel::getContainer()->getParameter('installed_modules'); $modules = BackendModel::getModulesOnFilesystem(false); $manageableModules = array(); // get more information for each module foreach ($modules as $moduleName) { if (in_array($moduleName, self::$ignoredModules)) { continue; } $module = array(); $module['id'] = 'module_' . $moduleName; $module['raw_name'] = $moduleName; $module['name'] = \SpoonFilter::ucfirst(BL::getLabel(\SpoonFilter::toCamelCase($moduleName))); $module['description'] = ''; $module['version'] = ''; $module['installed'] = false; $module['cronjobs_active'] = true; if (in_array($moduleName, $installedModules)) { $module['installed'] = true; } try { $infoXml = @new \SimpleXMLElement(BACKEND_MODULES_PATH . '/' . $module['raw_name'] . '/info.xml', LIBXML_NOCDATA, true); $info = self::processModuleXml($infoXml); // set fields if they were found in the XML if (isset($info['description'])) { $module['description'] = BackendDataGridFunctions::truncate($info['description'], 80); } if (isset($info['version'])) { $module['version'] = $info['version']; } // check if cronjobs are set if (isset($info['cronjobs'])) { foreach ($info['cronjobs'] as $cronjob) { if (!$cronjob['active']) { $module['cronjobs_active'] = false; break; } } } } catch (\Exception $e) { // don't act upon error, we simply won't possess some info } $manageableModules[] = $module; } return $manageableModules; }
/** * * Get the mail stats * * @param $id * * @return array */ public static function getStatsMail($id) { $return = (array) BackendModel::getContainer()->get('database')->getRecord('SELECT i.*, UNIX_TIMESTAMP(i.start_time) AS date, COUNT(DISTINCT u.user_id) AS users FROM mailengine_stats_mail AS i LEFT JOIN mailengine_stats_mail_users AS u ON u.send_id = i.id WHERE i.id = ? GROUP BY i.id', array((int) $id)); $returnOpened = (array) BackendModel::getContainer()->get('database')->getRecord('SELECT i.*, COUNT(DISTINCT o.user_id) AS opened FROM mailengine_stats_mail AS i LEFT JOIN mailengine_stats_mail_opened AS o ON o.send_id = i.id WHERE i.id = ? GROUP BY i.id', array((int) $id)); //--Format date $return["date"] = BackendDataGridFunctions::getLongDate($return["date"]); $return["percentage"] = BackendTemplateModifiers::formatNumber(round($returnOpened["opened"] / $return['users'] * 100, 0)); return $return; }