public function insertAction($pos, $label, $image, $module = 'main', $action = '', $item = NULL, $args = array(), $item = '', $params = array()) { $actionURL = Manager::getActionURL($module, $action, $item, $args); $control = $this->_getControl($label, $image, $actionURL); $class = 'mPanelCell' . ucfirst($this->iconType); $this->insert($pos, $control, '', 'left', $class); }
/** * Fetch the HTML template file and send to browser via redirect. * * @param string string the template file name * * @return string */ public function execute($file) { $html = $this->fetch($file); $fname = substr(uniqid(md5(uniqid(""))), 0, 10) . '.html'; $fileexp = Manager::home . '/' . Manager::getConf('home.reports') . '/' . $fname; $fp = fopen($fileexp, 'x'); fwrite($fp, $html); fclose($fp); $fileout = Manager::getActionURL('manager', 'reports:' . $fname); Manager::getPage()->window($fileout); }
function fill($fileInput, $fileOutput, $fileType, $parameters, $classPath, $save) { if ($this->executionType == 'local') { // execute java program at localhost $params = array(); // build a params array as base to json encoding if (is_array($parameters)) { foreach ($parameters as $pn => $pv) { $params[$pn] = utf8_encode($pv); } } $db = Manager::$conf['db'][$this->dataSource]; $params['dbUser'] = $db['user']; $params['jdbcDriver'] = $db['jdbc']['driver']; $params['jdbcDb'] = $db['jdbc']['db']; $prefix = substr(uniqid(md5(uniqid(""))), 0, 10); $params['pass'] = base64_encode($prefix . $db['password']); $params['relatorio'] = $fileInput; $params['fileOutput'] = $fileOutput; $params['fileType'] = $this->fileType; $javaPath = $this->manager->getOptions("javaPath"); // $logPath = $this->manager->getConf('home.logs'); $fileLog = $this->manager->getLog()->getLogFileName(str_replace("\\", "", "Jasper_" . str_replace('/', '', $this->name)) . "_" . substr(uniqid(md5(uniqid(""))), 0, 6) . '.log'); $json = addslashes(json_encode($params)); $MJasperPath = Manager::getFrameworkPath('classes/extensions/jasper'); $debug = $this->manager->getOptions("debug"); $cmd = $javaPath . "/bin/java -classpath {$classPath} MJasper \"{$json}\"" . ($debug ? " 2> {$fileLog}" : ""); ////mdump($cmd); exec($cmd, $output); //var_dump($output); if (trim($output[0]) == "end") { //no errors! if ($this->fileType == "TXT") { // adjust for CR+LF difference between Windows and Linux Mutil::unix2dos($fileOutput); } if ($save) { // download $this->manager->response->sendDownload($fileOutput); } else { // new window $output = Manager::getAbsoluteURL('var/reports/' . $this->fileOutput); $this->manager->getPage()->window($output); } } else { // errors! $link = new MLink('', 'aqui', Manager::getActionURL('manager', "logs:{$fileLog}"), 'aqui', '_errors'); $detalhes = "<br>Para mais detalhes clique " . $link->generate(); throw new EControlException(implode("<br>", $output) . $detalhes); } } else { if ($this->executionType == 'remote') { //Generate report throught another host, via TomCat $this->fileOutput = $this->manager->getConf("home.url_jasper") . "?bd={$this->db}&relatorio={$filein}" . $parameters; $this->manager->getPage()->window($this->fileOutput); } } }