/**
  * 
  * nao usar por enquanto, falta definir a forma de receber os dados
  * na submissão
  */
 protected function chosen($name, $value, $params, $attr)
 {
     MemoryPage::addCss("static/bstemplates/plugins/chosen/chosen.min.css");
     MemoryPage::addJs("static/bstemplates/plugins/chosen/chosen.jquery.min.js");
     $params = $this->normalizeParams($params);
     $dao = $this->getDAO($params);
     $dao_label = getValueFromArray($params, Flag::DAO_LABEL, Flag::DAO_LABEL);
     $dao_value = getValueFromArray($params, Flag::DAO_VALUE, Flag::DAO_VALUE);
     $dados = $dao->listAll();
     //$attr["value"] = $value;
     //$attr = $this->getHTMLAttributes($attr, $params);
     $template = PATH_APP . '/view/bstemplates/multiselect.mustache';
     $vetor["multiselect"] = ["placeholder" => getValueFromArray($params, Flag::PLACEHOLHER, "Escolha uma opção"), 'options' => $dados];
     return Template::singleton()->renderHTML(file_get_contents($template), $vetor);
 }
示例#2
0
 public function getHTMLEditable($name, $value, $params, $attr = array())
 {
     $params = $this->normalizeParams($params);
     $attr = $this->getHTMLAttributes($attr, $params);
     if (empty($value)) {
         $value = getValueFromArray($params, Flag::DEFAULT_VALUE, '');
     }
     $maxlenght = getValueFromArray($params, Flag::MAXLENGHT, false);
     if ($maxlenght) {
         MemoryPage::addJs("static/js/bootstrap-maxlength.js");
         MemoryPage::addJs("static/js/autosize.v3.js");
         $extra = ["maxlength" => $maxlenght, "data-limite-caracteres" => $maxlenght];
         $attr = array_merge($attr, $extra);
     }
     return HTML::textarea($name, $attr, $name . '_id', $value);
 }
 public function _index()
 {
     MemoryPage::addCss('static/plugin/bootstrap-fileinput-master/css/fileinput.min.css');
     MemoryPage::addJs("static/plugin/bootstrap-fileinput-master/js/fileinput.min.js");
     MemoryPage::addJs('js/modal-fileupload.js');
     $this->setParameters();
     $this->cleanParameters();
     $this->pagedata['showheader'] = filter_var($this->getParameter('header'), FILTER_VALIDATE_BOOLEAN);
     $path = $this->getPath();
     $fullpath = PATH_APP . '/static/' . $path;
     $this->pagedata['files'] = array();
     if (is_dir($path)) {
         $diretorio = dir($path);
     } else {
         if (is_dir($fullpath)) {
             $diretorio = dir($fullpath);
         } else {
             $this->pagedata['path'] = '';
             return true;
         }
     }
     $list = array();
     while ($arquivo = $diretorio->read()) {
         if ($arquivo == '.' || $arquivo == '..') {
             continue;
         }
         $aux = strtolower($arquivo);
         if (endsWith($aux, '.jpg') || endsWith($aux, '.png') || endsWith($aux, '.jpeg') || endsWith($aux, '.gif')) {
             $this->pagedata['files'][] = $arquivo;
         } else {
             if (is_dir($fullpath . $arquivo)) {
                 $list[] = array('url' => $path . $arquivo, 'name' => $arquivo);
             } else {
                 //TODO
             }
         }
     }
     $this->pagedata['hasfile'] = !empty($this->pagedata['files']);
     $diretorio->close();
     if ($this->pagedata['showheader']) {
         if (self::DEFAULT_ROOT != $path) {
             array_unshift($list, array('url' => substr($path, 0, strrpos($path, '/', -2)), 'name' => '..'));
         }
         $this->pagedata['folders'] = $list;
     }
     return true;
 }
 /**
  * Retorna o html para renderizar o elemento na página
  * 
  * @param  string $name   O nome do componente
  * @param  string $value  O caminho da imagem
  * @param  array  $params Parâmetros utilizados com as Flag::CONSTANTES
  * @param  array  $attr   Atributos html para o elemento
  * @return string         Retorna o html para o elemento
  */
 public function getHTMLEditable($name, $value, $params, $attr = array())
 {
     MemoryPage::addCss('static/css/page/filemanager.css');
     MemoryPage::addJs("js/modal-fileupload.js");
     MemoryPage::addJs("static/plugin/bootstrap-fileinput-master/js/fileinput.min.js");
     MemoryPage::addCss('static/plugin/bootstrap-fileinput-master/css/fileinput.min.css');
     $params = $this->normalizeParams($params);
     $link = 'filemanager/index?path=' . getValueFromArray($params, Flag::MOVE_TO, 'image/') . '&header=false';
     $linkextra = ['data-toggle' => 'modal', 'data-target' => '#myFileUpload', 'data-up-action' => 'fileupload', 'data-hiddenid' => $name . '_id', 'data-imgid' => $name . '_img_id', 'class' => 'filemanager-action-link'];
     $linkextra = array_merge($linkextra, $attr);
     $imgattr = ['class' => 'imgfile img-responsive', 'id' => $name . '_img_id'];
     $hasOrdenator = getValueFromArray($params, Flag::FILEIMAGE_HAS_ORDENATOR, false);
     $placeholder = '<small>' . getValueFromArray($params, Flag::PLACEHOLHER, '') . '</small>';
     if (empty($value)) {
         $helpText = getValueFromArray($params, Flag::FILEIMAGE_HELP_TEXT, false);
         if (!$helpText) {
             $helpText = 'Adicionar imagem';
         }
         $noimg = "";
         $showImgComponent = getValueFromArray($params, Flag::FILEIMAGE_SHOW_IMGCOMPONENT, true);
         if ($showImgComponent) {
             $noimg = HTML::img('image/icons/img-icon.png', 'Nenhuma imagem selecionada', $imgattr);
             $img = $noimg . HTML::link($link, $helpText, 'Adicionar imagem', $linkextra);
         } else {
             $img = HTML::link($link, $noimg . $helpText, 'Adicionar imagem', $linkextra);
         }
         if ($hasOrdenator) {
             $ordem = $linkextra["data-ordem"];
             $paginaformandoid = isset($linkextra["data-pagina_id"]) ? $linkextra["data-pagina_id"] : '';
             $img .= "<div class='fileimage-ordem' title='ordem da imagem nesta página personalizada'>{$ordem}</div>";
             $img .= "<div class='glyphicon glyphicon-trash unselect' \n                        data-ordem='" . $ordem . "' data-paginaformando_id=' " . $paginaformandoid . " '   style='display:none;'\n                        title='clique aqui para remover esta imagem!'></div>";
         }
     } else {
         $img = HTML::img($value, 'Imagem selecionada', $imgattr);
         $img .= HTML::link($link, 'Alterar imagem', 'Trocar a imagem', $linkextra);
         if ($hasOrdenator) {
             $ordem = $linkextra["data-ordem"];
             $paginaformandoid = isset($linkextra["data-pagina_id"]) ? $linkextra["data-pagina_id"] : '';
             $img .= "<div class='fileimage-ordem' title='ordem da imagem nesta página personalizada'>{$ordem}</div>";
             $img .= "<div class='glyphicon glyphicon-trash unselect' \n                        data-ordem='" . $ordem . "' data-paginaformando_id=' " . $paginaformandoid . " '   \n                        title='clique aqui para remover esta imagem!'></div>";
         }
     }
     return $placeholder . $img . HTML::input($name, array('value' => $value), $name . '_id', 'hidden');
 }
示例#5
0
 /**
  * Retorna o html que monta um editor de html
  * 
  * @param  string $name   O nome do component
  * @param  string $value  O valor que o componente exibe para o usuário
  * @param  string $params Os parâmetros do compomente passados pela classe Flag  
  * @param  string $attr   Atributos do html do componente
  * @return string         Retorna todo o html formatado e pronto para ser renderizado em qualquer view
  */
 public function getHTMLEditable($name, $value, $params, $attr = array())
 {
     MemoryPage::addCss('static/plugin/bootstrap-wysihtml5/bootstrap-wysihtml5-0.0.2.css');
     MemoryPage::addJs('static/plugin/bootstrap-wysihtml5/wysihtml5-0.3.0.min.js');
     MemoryPage::addJs('static/plugin/bootstrap-wysihtml5/bootstrap-wysihtml5-0.0.2.js');
     MemoryPage::addJs('static/plugin/bootstrap-wysihtml5/bootstrap-wysihtml5.pt-BR.js');
     MemoryPage::addJs('static/plugin/bootstrap-wysihtml5/lib/js/bootstrap-button.js');
     MemoryPage::addJs('static/plugin/bootstrap-wysihtml5/htmleditor.js');
     $params = $this->normalizeParams($params);
     if (empty($attr['class'])) {
         $attr['class'] = 'htmleditor';
     } else {
         $classes = explode(' ', $attr['class']);
         if (!in_array('htmleditor', $classes)) {
             $attr['class'] .= ' htmleditor';
         }
     }
     $attr['rows'] = 10;
     $attr = $this->getHTMLAttributes($attr, $params);
     #. '<small>Para vídeos use: [vimeo:Id_do_video] (ex: [vimeo:115835208]), altura e largura ([vimeo:123123 width=600 height=300])</small>'
     return HTML::textarea($name, $attr, $name . '_id', $value);
 }
 /**
  * Retorna os dados gerados pela página (resultado de todo o processamento da página)
  * 
  * @return array
  */
 public function getPagedata()
 {
     if ($this->responseType == ResponseType::HTML && $this->htmlFull) {
         $this->pagedata = array_merge($this->pagedata, array('html' => array('pagetitle' => MemoryPage::getTitle(trim(PAGE_TITLE_PREFIX . ' ' . $this->pageTitle)), 'urlbase' => DOMAIN, 'css' => MemoryPage::getCss(), 'js' => MemoryPage::getJs(), 'extraheader' => MemoryPage::getExtraHeader()), '_page' => get_class($this), '_pagename' => strtolower(getClassNameFromNamespace(get_class($this))), '_action' => $this->method));
     }
     $this->pagedata = array_merge($this->pagedata, MemoryPage::getAttributes());
     $s = Session::getInstance();
     if ($s->isLogged()) {
         $this->pagedata['isLogged'] = true;
         $this->pagedata['isAdmin'] = $s->isAdmin();
         foreach ($s->getGroups() as $group) {
             $this->pagedata['is' . ucfirst($group)] = true;
         }
         $this->pagedata['session'] = array('id' => $s->getUserId(), 'nome' => $s->getUserName(), 'email' => $s->getData('email'));
     }
     $this->pagedata[SERVER_MODE] = true;
     $this->pagedata['error'] = LoggerApp::getErrors();
     //$this->pagedata["___get___"] =  $_GET;
     return $this->pagedata;
 }
 public function __construct()
 {
     $this->allowMethod("_index", "*");
     MemoryPage::addCss("css/page/accessdenied.css");
     $this->filename = 'acessdenied';
 }
示例#8
0
function debug($on = true)
{
    MemoryPage::add('debug', $on);
}
示例#9
0
 public function testMemoryPage()
 {
     //Title
     MemoryPage::setTitle("Teste de titulo");
     $this->assertEquals("Teste de titulo", MemoryPage::getTitle());
     Memory::clearAll();
     $this->assertEquals("", MemoryPage::getTitle(''));
     $this->assertEquals("default titulo", MemoryPage::getTitle('default titulo'));
     //Extra header
     $this->assertNotNull(MemoryPage::getExtraHeader());
     $this->assertEmpty(MemoryPage::getExtraHeader());
     MemoryPage::setExtraHeader('my content');
     $this->assertEquals('my content', MemoryPage::getExtraHeader());
     //CSS
     $this->assertEquals(array(), MemoryPage::getCss());
     MemoryPage::addCss('teste.css');
     $this->assertEquals(array('teste.css'), MemoryPage::getCss());
     MemoryPage::addCss('teste.css');
     $this->assertEquals(array('teste.css'), MemoryPage::getCss());
     MemoryPage::addCss('teste2.css');
     $this->assertEquals(array('teste.css', 'teste2.css'), MemoryPage::getCss());
     //JS
     $this->assertEquals(array(), MemoryPage::getJs());
     MemoryPage::addJs('teste.js');
     $this->assertEquals(array('teste.js'), MemoryPage::getJs());
     MemoryPage::addJs('teste.js');
     $this->assertEquals(array('teste.js'), MemoryPage::getJs());
     MemoryPage::addJs('teste2.js');
     $this->assertEquals(array('teste.js', 'teste2.js'), MemoryPage::getJs());
 }
示例#10
0
define('DEVELOPMENT', 'DEVELOPMENT');
define('PRODUCTION', 'PRODUCTION');
define("SERVER_MODE", $appconfig['geral']['mode']);
define("DOMAIN", $appconfig['geral']['url']);
define("DOMAIN_EMAIL", $appconfig['geral']['domain']);
define("PAGE_TITLE_PREFIX", $appconfig['geral']['prefix']);
$databaseconfig = parse_ini_file("app/conf/database.{$env}.ini", true);
define("DATABASE_DRIVER", getValueFromArray($databaseconfig['database'], 'driver'), '');
define("DATABASE_NAME", getValueFromArray($databaseconfig['database'], 'dbname', ''));
define("DATABASE_HOST", getValueFromArray($databaseconfig['database'], 'host', ''));
define("DATABASE_PORT", getValueFromArray($databaseconfig['database'], 'port', ''));
define("DATABASE_USER", getValueFromArray($databaseconfig['database'], 'user', ''));
define("DATABASE_PASSWORD", getValueFromArray($databaseconfig['database'], 'password'), '');
//Default CSS and JS
foreach ($appconfig['html']['js'] as $jsfile) {
    MemoryPage::addJs($jsfile);
}
foreach ($appconfig['html']['css'] as $cssfile) {
    MemoryPage::addCss($cssfile);
}
//Set Memory values
foreach ($appconfig['memory'] as $k => $v) {
    Memory::set($k, $v);
}
//Error lib - http://logging.apache.org/log4php/quickstart.html
//require_once PATH_MYFRAME . '/src/LoggerApp.php';
Logger::configure(PATH_DEFAULT . '/conf/php4log.xml');
// pra rodar o instalador precisa comentar essas 3 linhas
if (file_exists(PATH_APP . '/appbootstrap.php')) {
    require_once PATH_APP . '/appbootstrap.php';
}
示例#11
0
 public function _index()
 {
     \MyFrameWork\Memory\MemoryPage::addCss("css/page/painel-index.css");
     return true;
 }