Beispiel #1
0
 protected function build()
 {
     $this->add(new HiddenBox($this->id));
     $build_tag_from_datasource = false;
     if ($this->get_par('database-save-parameters')) {
         $this->att('class', 'osy-taglist-onextab', true);
         $build_tag_from_datasource = true;
     }
     $ul = $this->add(tag::create('ul'));
     if ($sql = $this->get_par('datasource-sql')) {
         $sql = HelperOsy::replacevariable($sql);
         $res = $this->db->exec_query($sql, null, 'NUM');
         $datalist = $this->add(tag::create('datalist'));
         $datalist->att('id', $this->id . '_data');
         foreach ($res as $k => $rec) {
             if ($rec[2] == 1) {
                 $ul->add('<li class="osy-taglist-entry" tid="' . $rec[0] . '"><span class="osy-taglist-entry-text">' . $rec[1] . '</span><a href="#" class="osy-taglist-entry-remove">remove</a></li>');
             }
             $datalist->add(tag::create('option'))->add($rec[1]);
         }
     }
     if (!$build_tag_from_datasource && !empty($_REQUEST[$this->id])) {
         $item_list = explode(',', $_REQUEST[$this->id]);
         foreach ($item_list as $k => $v) {
             $ul->add('<li class="osy-taglist-entry" pos="' . $k . '"><span class="osy-taglist-entry-text">' . $v . '</span><a href="#" class="osy-taglist-entry-remove">remove</a></li>');
         }
     }
     $txt = $ul->add(tag::create('li'))->att('class', 'listbuilder-entry-text')->add(tag::create('input'))->att('name', $this->id . '_add')->att('type', 'text')->att('class', 'add osy-taglist-input');
     if (isset($datalist)) {
         $txt->att('list', $this->id . '_data');
     }
     $ul->add('<br style="clear: both">');
 }
Beispiel #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param
  * @return \Illuminate\Http\Response
  */
 public function store()
 {
     if (!Input::get('name') or !Input::get('done') or !Input::get('priority')) {
         return $this->setStatusCode(IlluminateResponse::HTTP_UNPROCESSABLE_ENTITY)->respondWithError('Parameters failed validation for a tag.');
     }
     tag::create(Input::all());
     return $this->respondCreated('tag successfully created.');
 }
Beispiel #3
0
 public function __construct($name)
 {
     parent::__construct('div');
     $this->class = 'osy-textsearch';
     $this->id = $name;
     $this->add(new HiddenBox($name));
     $this->textBox = $this->add(tag::create('input'))->att('type', 'text')->att('name', $name . '_lbl')->att('readonly', 'readonly');
     $this->spanSrc = $this->add(tag::create('span'))->att('class', 'fa fa-search');
 }
Beispiel #4
0
 protected function build()
 {
     if ($lp = $this->get_par('label-position')) {
         $this->panel->par('label-position', $lp);
     }
     if (!$this->get_par('disable-head')) {
         $this->title = $this->add(tag::create('div'))->att('class', 'osy-panel-mobile-title');
         $this->title->add(tag::create('span'))->att('class', 'osy-win-ico-set fright')->add('&nbsp;');
         $this->title->add($this->get_par('label'));
     }
 }
Beispiel #5
0
 public function __construct($name)
 {
     parent::__construct('dummy',$name);
     env::$page->add_css(OSY_WEB_ROOT.'/css/leaflet.css');
     env::$page->add_script(OSY_WEB_ROOT.'/js/component/omapgrid_openlayers.js');
     $this->map = $this->add(tag::create('div'))->att('class','osy-mapgrid-openlayers');
     $this->add(new HiddenBox($this->id.'_ne_lat'));
     $this->add(new HiddenBox($this->id.'_ne_lng'));
     $this->add(new HiddenBox($this->id.'_sw_lat'));
     $this->add(new HiddenBox($this->id.'_sw_lng'));
     $this->add(new HiddenBox($this->id.'_center'));
 }
Beispiel #6
0
 protected function build()
 {
     $this->add(tag::create('ul'));
     //$this->iframe = $this->add(tag::create('iframe'));
     //$this->iframe->att('name',$this->id)->att("style",'width: 100%;');
     $src = $this->get_par('src');
     if (!array_key_exists($this->id, $_REQUEST) && !empty($src)) {
         $_REQUEST[$this->id] = $src;
     }
     if (array_key_exists($this->id, $_REQUEST) && !empty($_REQUEST[$this->id])) {
         $this->att('src', $_REQUEST[$this->id]);
     }
 }
Beispiel #7
0
 public function __construct($name)
 {
     parent::__construct('div', $name);
     $this->att('class', 'osy-social');
     Osy::$page->add_css(OSY_WEB_ROOT . '/css/Social.css');
     Osy::$page->add_script(OSY_WEB_ROOT . '/js/component/Social.js');
     $this->addRequire('css/Social.css');
     $this->addRequire('js/component/Social.js');
     $pst = $this->add(tag::create('div'))->att('class', 'osy-social-post');
     $pst->add(new TextArea($name . '_post'))->att('class', 'osy-social-post');
     $pst->add(tag::create('div'))->att('class', 'osy-social-post-canvas');
     $pst->add(new Button($name . 'send'))->att('class', 'osy-social-send-post')->att('label', 'Post');
     $this->add(tag::create('div'))->att('class', 'osy-social-body')->add('<ul class="notify">' . $this->printPostList($_REQUEST['_uid']) . '</ul>');
 }
Beispiel #8
0
 protected function build()
 {
     if (!empty($_REQUEST['ajax'])) {
         die($this->ajaxResp());
     }
     if ($sql = $this->get_par('datasource-sql')) {
         $this->dataLoad($sql);
     }
     $tbl = $this->add(tag::create('table'));
     foreach ($this->data as $k => $rec) {
         $tr = $tbl->add(tag::create('tr'))->att('data-param', base64_encode(serialize($rec)));
         $td_prp = $tr->add(tag::create('td'))->att('class', 'osy-prop')->add($rec['p_label']);
         $td_val = $tr->add(tag::create('td'))->att('class', 'osy-prop')->add(substr(htmlentities($rec['p_value']), 0, 100));
     }
 }
Beispiel #9
0
 public static function objects($oid = 'root', $par = null)
 {
     if (!array_key_exists($oid, self::$data)) {
         return;
     }
     if (is_null($par)) {
         $par = self::$xml;
     }
     foreach (self::$data[$oid] as $k => $rec) {
         $obj = $par->add(tag::create($rec['o_typ']))->att('id', $rec['o_id']);
         foreach ($rec as $pid => $pvl) {
             $pvl = strpos($pvl, '&') === false && strpos($pvl, '<') === false && strpos($pvl, '>') === false ? $pvl : '<![CDATA[' . PHP_EOL . $pvl . PHP_EOL . ']]>';
             $obj->add(tag::create('property'))->att('name', $pid)->add($pvl);
         }
         $sub = self::objects($rec['o_id'], $obj->add(tag::create('children')));
         //if (empty($sub)) $obj->add(tag::create('childs'))->add($sub);
     }
     return $par;
 }
Beispiel #10
0
 public function __construct($name)
 {
     parent::__construct('dummy', $name);
     //env::$page->add_css(OSY_WEB_ROOT.'/css/omapgrid.css');
     //env::$page->add_script('http://maps.google.com/maps/api/js?sensor=false&amp;language=en&libraries=drawing');
     //env::$page->add_script('/lib/gmap3-6.0.0/gmap3.min.js');
     //env::$page->add_script(OSY_WEB_ROOT.'/js/component/MapGridGmap.js');
     $this->addRequire('css/omapgrid.css');
     $this->addRequire('http://maps.google.com/maps/api/js?sensor=false&amp;language=en&libraries=drawing');
     $this->addRequire('/vendor/gmap3-6.0.0/gmap3.min.js');
     $this->addRequire('js/component/MapGridGmap.js');
     $this->map = $this->add(tag::create('div'))->att('class', 'osy-mapgrid');
     $this->add(new HiddenBox($this->id . '_ne_lat'));
     $this->add(new HiddenBox($this->id . '_ne_lng'));
     $this->add(new HiddenBox($this->id . '_sw_lat'));
     $this->add(new HiddenBox($this->id . '_sw_lng'));
     $this->add(new HiddenBox($this->id . '_center'));
     $this->add(new HiddenBox($this->id . '_polygon'));
     $this->add(new HiddenBox($this->id . '_refresh_bounds_blocked'));
 }
Beispiel #11
0
 protected function build()
 {
     $head = $this->add(tag::create('ul'));
     ksort($this->__tabs);
     $it = 0;
     foreach ($this->__tabs as $row) {
         ksort($row);
         foreach ($row as $cols) {
             foreach ($cols as $obj) {
                 $prefix = is_object($obj['obj']) ? $obj['obj']->get_par('label-prefix') . ' ' : '';
                 $head->add('<li><a href="#' . $this->id . '_' . $it . '" idx="' . $it . '"><p><span>' . $prefix . $obj['lbl'] . "</span></p></a></li>\n");
                 $div = $this->add(tag::create('div'))->att('id', $this->id . '_' . $it);
                 if ($this->get_par('cell-height')) {
                     $h = intval($this->get_par('cell-height'));
                     $obj['obj']->att('style', 'height : ' . ($h - 30) . 'px');
                 }
                 $div->add($obj['obj']);
                 $it++;
             }
         }
     }
 }
Beispiel #12
0
 protected function build()
 {
     $img = '';
     //var_dump($_REQUEST[$this->id]);
     if (!empty($_REQUEST[$this->id])) {
         if ($inblob = $this->get_par('store-in-blob')) {
             $img = '<img src="data:image/png;base64,' . base64_encode($_REQUEST[$this->id]) . '">';
         } else {
             $filename = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST[$this->id];
             if (file_exists($filename)) {
                 $img = '<img src="' . $filename . '">';
             }
         }
         if (!empty($img) && ($dim_max = $this->get_par('crop-dimension'))) {
             $dim_img = getimagesize($filename);
             $dim_max = explode(',', $dim_max);
             if ($dim_max[0] < $dim_img[0] && $dim_max[1] < $dim_img[1]) {
                 $this->att('class', 'image-crop', true);
                 $this->add('<input  type="hidden" id="' . $this->id . '_crop" name="' . $this->id . '_crop" class="osy-imagebox-crop">');
                 $prw = $this->add(tag::create('div'))->att('class', 'osy-imagebox-previewbox');
                 $prw->add('<div style="width: 140px; height: 140px; overflow: hidden;"><img src="' . $_REQUEST[$this->id] . '" class="osy-imagebox-preview"></div>');
                 $prw->add('<span id="' . $this->id . '_get_crop" class="osy-imagebox-cmd-crop btn_cnf w100 center"><span class="fa fa-cut"></span> Taglia</span>');
                 $this->add('<img src="' . $_REQUEST[$this->id] . '" class="osy-imagebox-master">');
                 return;
             }
             $this->add('<div><img src="' . $_REQUEST[$this->id] . '" class="osy-imagebox-master" title="' . $_REQUEST[$this->id] . '"></div>', true);
         }
     }
     if ($dim = $this->get_par('max-dimension')) {
         $dim = explode(',', $dim);
         $sty = ' style="width:' . $dim[0] . 'px; height: ' . $dim[1] . 'px;"';
     }
     $this->add('<label class="osy-imagebox-dummy"' . $sty . ' for="' . $this->id . '_file">' . (empty($img) ? '<span class="fa fa-camera" ></span>' : $img) . '</label>');
     if (!empty($img)) {
         $this->add(tag::create('div'))->att('class', 'osy-imagebox-cmd center')->add(tag::create('a'))->att('href', 'javascript:void(0);')->att('onclick', "oimagebox.delete('" . $this->id . "')")->att('data-cmd', 'delete')->add('Elimina <span class="fa fa-trash"></span>');
     }
     //$this->add(tag::create('label'))->att('class','btn_add center')->att('for',$this->id.'_file')->add('Upload');
 }
Beispiel #13
0
 private function buildPie($datasets)
 {
     $js .= (empty($js) ? '' : ",\n") . "{value : " . (array_key_exists(1, $rec) ? $rec[1] : 0) . ",color : '" . (!empty($this->_color[$k]) ? $this->_color[$k] : '') . "'}";
     $tr = $this->legend->add(tag::create('tr'));
     $tr->add(tag::create('td'))->att('style', 'padding: 5px;')->add('<span style="background-color: ' . $this->_color[$k] . '; padding: 0px 5px; border-radius: 1px; border: 2px solid whitesmoke;";>&nbsp;</span>');
     $tr->add(tag::create('td'))->att('style', 'padding: 5px;')->add($rec[0]);
     $tr->add(tag::create('td'))->att('style', 'padding: 5px;')->add($rec[1]);
     $tr->add(tag::create('td'))->att('style', 'padding: 5px;')->add(round($rec[1] / $tot * 100, 2) . ' %');
     $js = "var data = [\n" . $js . "\n];" . PHP_EOL;
     $js .= "var ctx = document.getElementById('" . $this->canvas->id . "_canvas').getContext('2d');\r\n            var chr = new Chart(ctx).Pie(data);";
     return;
 }
Beispiel #14
0
 protected function build()
 {
     $sql = $this->get_par('datasource-sql');
     if (empty($sql)) {
         die('[ERROR] - Multibox ' . $this->id . ' - query builder assente');
     }
     $sql = $this->replacePlaceholder($sql);
     $res = $this->db->exec_query($sql, null, 'ASSOC');
     //die($sql);
     if (empty($res)) {
         return;
     }
     $mlt_tbl = $this->add(tag::create('table'));
     $val_from_db = array_key_exists($this->id, $_REQUEST) && is_array($_REQUEST[$this->id]) ? false : true;
     foreach ($res as $k => $cmp_raw) {
         if ($val_from_db) {
             $_REQUEST[$this->id][$cmp_raw['id']] = $cmp_raw['val'];
         }
         $mlt_row = $mlt_tbl->add(tag::create('tr'));
         $cmp = $lbl = null;
         if (strlen($this->readonly) > 4) {
             $this->readonly = HelperOsy::exec_string(null, 'return ' . $this->readonly . ';');
         }
         if ($this->readonly) {
             $cmp = tag::create('span');
             if ($cmp_raw['typ'] == 'CMB') {
                 $cmp_raw['val'] = label::getFromDatasource($cmp_raw['val'], $cmp_raw['sql_qry'], $this->db);
             }
             $cmp->add($cmp_raw['val']);
         } else {
             $is_req = $cmp_raw['is_req'];
             $cmp_nam = "{$this->id}[{$cmp_raw['id']}]";
             switch ($cmp_raw['typ']) {
                 case 'DAT':
                     $cmp = new DateBox($cmp_nam);
                     $cmp->par('date-format', 'dd/mm/yyyy');
                     break;
                 case 'TXT':
                 case 'NUM':
                     $cmp = new TextBox($cmp_nam);
                     if ($cmp_raw['typ'] == 'NUM') {
                         $cmp->att('class', 'numeric', true);
                     } else {
                         $cmp->att('class', 'text', true);
                     }
                     break;
                 case 'CMB':
                     $cmp = new ComboBox($cmp_nam);
                     //echo $cmp_raw['sql_qry'];
                     $cmp->par('datasource-sql', HelperOsy::replaceVariable($cmp_raw['sql_qry']));
                     break;
             }
             $cmp->att('label', $cmp_raw['nam']);
             if (!empty($is_req)) {
                 $lbl = '(*) ';
                 $cmp->att('class', 'is-request', true);
             }
         }
         if (!is_null($cmp)) {
             $lbl = "<label class=\"multibox\">{$lbl}{$cmp_raw['nam']}</label>";
             $mlt_row->add(new Tag('td'))->add($lbl);
             $mlt_row->add(new Tag('td'))->add($cmp);
         }
     }
 }
Beispiel #15
0
 public function buildAjax()
 {
     $form_pkey = array();
     if ($form = $this->get_par('form-related')) {
         $form_par = $this->getFormParam($form, true);
         $form_pkey = $form_par['pkey'];
     }
     $tbl = new Tag('div');
     $sql = $this->replacePlaceholder($this->get_par('datasource-sql'));
     $rs = $this->db->exec_query("SELECT * FROM (" . $sql . ") a", null, 'ASSOC');
     $cols = $this->db->get_columns();
     foreach ($cols as $col) {
         if ($col['name'] == '_group') {
             $rs = $this->groupRs($rs);
         }
     }
     $__g = '';
     foreach ($rs as $rec) {
         $tr = tag::create('div')->att('class', 'row');
         $__k = array();
         $_oid = array();
         foreach ($rec as $key => $fld) {
             $val = $fld;
             if (in_array($key, $form_pkey)) {
                 $__k[] = 'pkey[' . $key . ']=' . $val;
                 $_oid[] = $val;
                 continue;
             }
             $print = true;
             if ($key[0] == '_') {
                 $print = false;
                 switch ($key) {
                     case '_id':
                         $tr->att('data-oid', $val);
                         $print = false;
                         break;
                     case '_label':
                         $tr->att('data-label', $val);
                         $print = false;
                         break;
                     case '_group':
                         if ($val != $__g) {
                             $__g = $val;
                         } else {
                             $val = '&nbsp;';
                         }
                         $val = '<span class="osy-textsearch-inline-group">' . $val . '</span>';
                         $print = true;
                         break;
                     case '_img64x2':
                         $dimcls = 'osy-image-med';
                         //no-break
                     //no-break
                     case '_img64':
                         $val = '<span class="' . (empty($dimcls) ? 'osy-image-min' : $dimcls) . '">' . (empty($fld) ? '<span class="fa fa-ban"></span>' : '<img src="data:image/png;base64,' . base64_encode($fld) . '">') . '</span>';
                         $print = true;
                         break;
                     case '_label':
                         $tr->att('data-label', $val);
                         break;
                 }
             }
             if ($print) {
                 $tr->add(tag::create('div'))->add($val);
             }
         }
         //$tr->add('<br class="clear">');
         $tbl->add($tr);
         if (!empty($__k)) {
             $tr->att('data-pkey', implode('&', $__k));
             $tr->att('data-oid', implode('&', $_oid));
         }
     }
     return $tbl;
 }
Beispiel #16
0
 protected static function __build_field_search__()
 {
     if (!empty($_POST['ajax'])) return;
     $div = new dummy('osy-dataview-search');
     $div->att('class',"osy-dataview-search");
     $div->par('colspan','100',function($key,$val,$self){
          $self->man('onbuild','colspan',function($val,$self)
          {
              $cel = $self->closest('td,th');
              if (!is_object($cel)) return;
              $cel->att('colspan','100');
          });
     });
     self::$form->put($div,'','bar-search',2,1);
     $div->add("Cerca");
     $div->add(new text_box('search_value'))->att('size','30');
     $div->add(" in ");
     $select = $div->add(new combo_box('search_field'));
     //Tasto ricerca
     $div->add(new button('btn_search'))->att('label','Avvia ricerca');
    //Tasto pulisci filtro
     $div->add(new button('btn_search_reset'))->att('label','Elimina filtro');
     //Contenitore dei filtri attivi
     $div_flt_cnt = $div->add(tag::create("div"))->att('class','filter-active');
     
     if (key_exists('filter',$_POST) && is_array($_POST['filter']))
     {
         foreach($_POST['filter'] as $k => $v)
         {
           $div_flt = $div_flt_cnt->add(tag::create('div'))->att("class","filter");
           $div_flt->add(new hidden_box("filter[$k]"))->Att('value',$v);
           switch($k[0]){
             case '!':
             case '€':
             case '$':
             case '#':
                       $k = substr($k,1);
                       break;
             case '_':
                       list($a,$k) = explode(',',$k);
                       break;
           }
           $div_flt->add("$k : $v");
         }
         $div->add($div_flt_cnt);
     } else {
         $div->par('init-cell','hidden',function($key,$val,$self){
             $self->man('onbuild','init-cell',function($val,$self)
             {
              $cel = $self->closest('td,th');
              if (!is_object($cel)) return;
              $cel->att('class',$val)->att('colspan','100');
             });
         });
     }
     $div_flt_cnt->add(tag::create("div"))->att("style","clear: both");
 }
Beispiel #17
0
 public function getFormIconify()
 {
     $usr = $this->getCurrentUser();
     $sql = "SELECT f.o_id as form_id,f.o_nam as form_name,ic.p_vl as icon,coalesce(fw.p_vl,'640') as form_width,coalesce(fh.p_vl,'480') as form_height " . "FROM osy_obj_rel a " . "INNER JOIN osy_obj f ON (a.o_2 = f.o_own AND f.o_typ = 'form') " . "INNER JOIN osy_obj_prp i ON (f.o_id = i.o_id AND i.p_id = 'iconify' AND i.p_vl = '1') " . "LEFT JOIN osy_obj_prp ic ON (f.o_id = ic.o_id AND ic.p_id = 'iconify-icon') " . "LEFT JOIN osy_obj_prp fw ON (f.o_id = fw.o_id AND fw.p_id = 'width') " . "LEFT JOIN osy_obj_prp fh ON (f.o_id = fh.o_id AND fh.p_id = 'height') " . "WHERE a.o_1 = CONCAT('instance://',?,'/') AND a.r_typ = 'instance+application'";
     //echo $sql;
     $res = $this->model->dbo->exec_query($sql, array($this->request->get('instance.id')));
     $iconify = new Tag('span');
     $iconify->add(print_r($this->request->get('input'), true));
     if (!empty($res)) {
         $iconify = new Tag('ul');
         foreach ($res as $rec) {
             $item = new Tag('span');
             $item->att('id', $rec['form_name'])->att('data-fid', $rec['form_id'])->att('data-form-width', $rec['form_width'])->att('data-form-height', $rec['form_height'])->add(str_replace('CURRENT_USER', $usr, $rec['icon']));
             $iconify->add(tag::create('li'))->add($item);
         }
     }
     return $iconify->att('id', 'iconify-forms')->att('style', 'display:none;');
 }
Beispiel #18
0
 public function addMeta()
 {
     return $this->get('head')->add(tag::create('meta'));
 }
Beispiel #19
0
 private function buildBody()
 {
     if (!$this->pageView()) {
         ob_clean();
         die('');
         return;
     }
     //$rs = $this->db->execquery($this->sql);
     $b = new tag('div');
     $b->att('class', 'osy-addressbook-body')->att('pag', $this->get_par('pag_cur'))->att('scroll-master', $this->get_par('scroll-master'));
     try {
         $par = $this->get_par('filter-parameters');
         $rs = env::$dba->exec_query($this->__par['datasource-sql'], $par, 'ASSOC');
     } catch (Exception $e) {
         die($e->getMessage() . ' - ' . $this->__par['datasource-sql']);
     }
     //while($rec = $this->db->getnextrecord($rs,'ASSOC'))
     if (empty($rs)) {
         if (empty($_REQUEST['ajax'])) {
             $title = $this->get_par('title');
             if (!empty($title)) {
                 $title = in_array(strtolower($title[0]), array('a', 'e', 'i', 'o', 'u')) ? "L'" . strtolower($title) : $title;
             }
             $this->add($b)->add('<div class="osy-addressbook-empty">' . $title . ' &egrave; vuota</div>');
         }
         return;
     }
     //Query columns
     $col = '';
     foreach (array_keys($rs[0]) as $k => $v) {
         if ($v[0] != '_') {
             $col .= (empty($col) ? '' : ',') . $v;
         }
     }
     $this->att('data-columns', $col);
     foreach ($rs as $k => $rec) {
         $a = $b->add(tag::create('div'))->att('class', 'osy-addressbook-item');
         $p0 = $a->add(tag::create('div'))->att('class', 'p0');
         $p1 = $a->add(tag::create('div'))->att('class', 'p1');
         $p2 = $a->add(tag::create('div'))->att('class', 'p2');
         //$p2->add('&nbsp;');
         $i = 0;
         $href = null;
         foreach ($rec as $k => $v) {
             if (key_exists('pkey', $this->__par) && is_array($this->__par['pkey']) && in_array($k, $this->__par['pkey'])) {
                 if (!empty($v)) {
                     $pk = $v;
                     $a->att('__k', "pkey[{$k}]={$v}", '&');
                     if (!$a->oid) {
                         $a->att('oid', $v);
                     }
                 } else {
                     $a->__k = str_replace('pkey', 'fkey', $a->__k);
                 }
                 $t++;
                 continue;
             }
             switch ($k) {
                 case '_class':
                     $a->att('class', $v, true);
                     break;
                 case '_pk':
                     $a->att('pid', $v);
                     if ($this->get_par('form') != null && $this->get_par('cmd_upd') != false) {
                         $cmd = str_replace(array('<pk>', '<fid>', '640', '480'), array($v, $this->get_par('form')), $this->__par['cmd_upd']);
                         $a->att('onclick', $cmd);
                     }
                     break;
                 case '_href':
                     $href = $v;
                     break;
                 case '_p0':
                     $img = '<img src="' . $v . '">';
                     if (!empty($href)) {
                         $img = '<a href="' . $href . '">' . $img . '</a>';
                     }
                     $p0->add($img);
                     break;
                 case '_p2':
                     $p2->add('<div>' . $v . '</div>');
                     break;
                 case '_image':
                     if (!empty($v)) {
                         $p1->add(tag::create('img'))->att('src', 'data:image/png;base64,' . base64_encode($v));
                     }
                     break;
                 default:
                     if ($k[0] == '_') {
                         break;
                     }
                     $i++;
                     if (empty($v)) {
                         break;
                     }
                     if (empty($href)) {
                         $p1->add('<div class="s' . $i . '">' . $v . '</div>');
                     } else {
                         $p1->add('<a class="s' . $i . '" href="' . $href . '">' . $v . '</a><br>');
                     }
                     break;
             }
         }
     }
     $this->add($b);
     $this->add('<br id="qnn-end" style="clear: both">');
 }
Beispiel #20
0
    public function __construct($name)
    {
        parent::__construct('div', $name);
        $this->att('class', 'osy-htmlarea');
        $this->addRequire('js/component/HtmlArea.js');
        $toolbar = <<<TOOLBAR
<div id="edit-bar">
    <input type="hidden" name="myDoc">
    <div id="toolBar1">
        <select onchange="ohtmlarea.format_document('formatblock',this[this.selectedIndex].value);this.selectedIndex=0;">
            <option selected>- formatting -</option>
            <option value="h1">Title 1 &lt;h1&gt;</option>
            <option value="h2">Title 2 &lt;h2&gt;</option>
            <option value="h3">Title 3 &lt;h3&gt;</option>
            <option value="h4">Title 4 &lt;h4&gt;</option>
            <option value="h5">Title 5 &lt;h5&gt;</option>
            <option value="h6">Subtitle &lt;h6&gt;</option>
            <option value="p">Paragraph &lt;p&gt;</option>
            <option value="pre">Preformatted &lt;pre&gt;</option>
        </select>
        <select onchange="ohtmlarea.format_document('fontname',this[this.selectedIndex].value);this.selectedIndex=0;">
            <option class="heading" selected>- font -</option>
            <option>Arial</option>
            <option>Arial Black</option>
            <option>Courier New</option>
            <option>Times New Roman</option>
        </select>
        <select onchange="ohtmlarea.format_document('fontsize',this[this.selectedIndex].value);this.selectedIndex=0;">
            <option class="heading" selected>- size -</option>
            <option value="1">Very small</option>
            <option value="2">A bit small</option>
            <option value="3">Normal</option>
            <option value="4">Medium-large</option>
            <option value="5">Big</option>
            <option value="6">Very big</option>
            <option value="7">Maximum</option>
        </select>
        <select onchange="ohtmlarea.format_document('forecolor',this[this.selectedIndex].value);this.selectedIndex=0;">
            <option class="heading" selected>- color -</option>
            <option value="red">Red</option>
            <option value="blue">Blue</option>
            <option value="green">Green</option>
            <option value="black">Black</option>
        </select>
        <select onchange="ohtmlarea.format_document('backcolor',this[this.selectedIndex].value);this.selectedIndex=0;">
            <option class="heading" selected>- background -</option>
            <option value="red">Red</option>
            <option value="green">Green</option>
            <option value="black">Black</option>
        </select>
        <span><input type="checkbox" name="switchMode" id="switchBox" onchange="ohtmlarea.set_document_mode(this.checked);" /> <label for="switchBox" style="display:  inline">Show HTML</label></span>
       </div>
<div id="toolBar2">
<img class="intLink" title="Clean" onclick="ohtmlarea.clean()" src="data:image/gif;base64,R0lGODlhFgAWAIQbAD04KTRLYzFRjlldZl9vj1dusY14WYODhpWIbbSVFY6O7IOXw5qbms+wUbCztca0ccS4kdDQjdTLtMrL1O3YitHa7OPcsd/f4PfvrvDv8Pv5xv///////////////////yH5BAEKAB8ALAAAAAAWABYAAAV84CeOZGmeaKqubMteyzK547QoBcFWTm/jgsHq4rhMLoxFIehQQSAWR+Z4IAyaJ0kEgtFoLIzLwRE4oCQWrxoTOTAIhMCZ0tVgMBQKZHAYyFEWEV14eQ8IflhnEHmFDQkAiSkQCI2PDC4QBg+OAJc0ewadNCOgo6anqKkoIQA7" />
<img class="intLink" title="Print" onclick="ohtmlarea.print_doc();" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oEBxcZFmGboiwAAAAIdEVYdENvbW1lbnQA9syWvwAAAuFJREFUOMvtlUtsjFEUx//n3nn0YdpBh1abRpt4LFqtqkc3jRKkNEIsiIRIBBEhJJpKlIVo4m1RRMKKjQiRMJRUqUdKPT71qpIpiRKPaqdF55tv5vvusZjQTjOlseUkd3Xu/3dPzusC/22wtu2wRn+jG5So/OCDh8ycMJDflehMlkJkVK7KUYN+ufzA/RttH76zaVocDptRxzQtNi3mRWuPc+6cKtlXZ/sddP2uu9uXlmYXZ6Qm8v4Tz8lhF1H+zDQXt7S8oLMXtbF4e8QaFHjj3kbP2MzkktHpiTjp9VH6iHiA+whtAsX5brpwueMGdONdf/2A4M7ukDs1JW662+XkqTkeUoqjKtOjm2h53YFL15pSJ04Zc94wdtibr26fXlC2mzRvBccEbz2kiRFD414tKMlEZbVGT33+qCoHgha81SWYsew0r1uzfNylmtpx80pngQQ91LwVk2JGvGnfvZG6YcYRAT16GFtW5kKKfo1EQLtfh5Q2etT0BIWF+aitq4fDbk+ImYo1OxvGF03waFJQvBCkvDffRyEtxQiFFYgAZTHS0zwAGD7fG5TNnYNTp8/FzvGwJOfmgG7GOx0SAKKgQgDMgKBI0NJGMEImpGDk5+WACEwEd0ywblhGUZ4Hw5OdUekRBLT7DTgdEgxACsIznx8zpmWh7k4rkpJcuHDxCul6MDsmmBXDlWCH2+XozSgBnzsNCEE4euYV4pwCpsWYPW0UHDYBKSWu1NYjENDReqtKjwn2+zvtTc1vMSTB/mvev/WEYSlASsLimcOhOBJxw+N3aP/SjefNL5GePZmpu4kG7OPr1+tOfPyUu3BecWYKcwQcDFmwFKAUo90fhKDInBCAmvqnyMgqUEagQwCoHBDc1rjv9pIlD8IbVkz6qYViIBQGTJPx4k0XpIgEZoRN1Da0cij4VfR0ta3WvBXH/rjdCufv6R2zPgPH/e4pxSBCpeatqPrjNiso203/5s/zA171Mv8+w1LOAAAAAElFTkSuQmCC">
<img class="intLink" title="Undo" onclick="ohtmlarea.format_document('undo');" src="data:image/gif;base64,R0lGODlhFgAWAOMKADljwliE33mOrpGjuYKl8aezxqPD+7/I19DV3NHa7P///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARR8MlJq7046807TkaYeJJBnES4EeUJvIGapWYAC0CsocQ7SDlWJkAkCA6ToMYWIARGQF3mRQVIEjkkSVLIbSfEwhdRIH4fh/DZMICe3/C4nBQBADs=" />
<img class="intLink" title="Redo" onclick="ohtmlarea.format_document('redo');" src="data:image/gif;base64,R0lGODlhFgAWAMIHAB1ChDljwl9vj1iE34Kl8aPD+7/I1////yH5BAEKAAcALAAAAAAWABYAAANKeLrc/jDKSesyphi7SiEgsVXZEATDICqBVJjpqWZt9NaEDNbQK1wCQsxlYnxMAImhyDoFAElJasRRvAZVRqqQXUy7Cgx4TC6bswkAOw==" />
<img class="intLink" title="Remove formatting" onclick="ohtmlarea.format_document('removeFormat')" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9oECQMCKPI8CIIAAAAIdEVYdENvbW1lbnQA9syWvwAAAuhJREFUOMtjYBgFxAB501ZWBvVaL2nHnlmk6mXCJbF69zU+Hz/9fB5O1lx+bg45qhl8/fYr5it3XrP/YWTUvvvk3VeqGXz70TvbJy8+Wv39+2/Hz19/mGwjZzuTYjALuoBv9jImaXHeyD3H7kU8fPj2ICML8z92dlbtMzdeiG3fco7J08foH1kurkm3E9iw54YvKwuTuom+LPt/BgbWf3//sf37/1/c02cCG1lB8f//f95DZx74MTMzshhoSm6szrQ/a6Ir/Z2RkfEjBxuLYFpDiDi6Af///2ckaHBp7+7wmavP5n76+P2ClrLIYl8H9W36auJCbCxM4szMTJac7Kza////R3H1w2cfWAgafPbqs5g7D95++/P1B4+ECK8tAwMDw/1H7159+/7r7ZcvPz4fOHbzEwMDwx8GBgaGnNatfHZx8zqrJ+4VJBh5CQEGOySEua/v3n7hXmqI8WUGBgYGL3vVG7fuPK3i5GD9/fja7ZsMDAzMG/Ze52mZeSj4yu1XEq/ff7W5dvfVAS1lsXc4Db7z8C3r8p7Qjf///2dnZGxlqJuyr3rPqQd/Hhyu7oSpYWScylDQsd3kzvnH738wMDzj5GBN1VIWW4c3KDon7VOvm7S3paB9u5qsU5/x5KUnlY+eexQbkLNsErK61+++VnAJcfkyMTIwffj0QwZbJDKjcETs1Y8evyd48toz8y/ffzv//vPP4veffxpX77z6l5JewHPu8MqTDAwMDLzyrjb/mZm0JcT5Lj+89+Ybm6zz95oMh7s4XbygN3Sluq4Mj5K8iKMgP4f0////fv77//8nLy+7MCcXmyYDAwODS9jM9tcvPypd35pne3ljdjvj26+H2dhYpuENikgfvQeXNmSl3tqepxXsqhXPyc666s+fv1fMdKR3TK72zpix8nTc7bdfhfkEeVbC9KhbK/9iYWHiErbu6MWbY/7//8/4//9/pgOnH6jGVazvFDRtq2VgiBIZrUTIBgCk+ivHvuEKwAAAAABJRU5ErkJggg==">
<img class="intLink" title="Bold" onclick="ohtmlarea.format_document('bold');" src="data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAInhI+pa+H9mJy0LhdgtrxzDG5WGFVk6aXqyk6Y9kXvKKNuLbb6zgMFADs=" />
<img class="intLink" title="Italic" onclick="ohtmlarea.format_document('italic');" src="data:image/gif;base64,R0lGODlhFgAWAKEDAAAAAF9vj5WIbf///yH5BAEAAAMALAAAAAAWABYAAAIjnI+py+0Po5x0gXvruEKHrF2BB1YiCWgbMFIYpsbyTNd2UwAAOw==" />
<img class="intLink" title="Underline" onclick="ohtmlarea.format_document('underline');" src="data:image/gif;base64,R0lGODlhFgAWAKECAAAAAF9vj////////yH5BAEAAAIALAAAAAAWABYAAAIrlI+py+0Po5zUgAsEzvEeL4Ea15EiJJ5PSqJmuwKBEKgxVuXWtun+DwxCCgA7" />
<img class="intLink" title="Left align" onclick="ohtmlarea.format_document('justifyleft');" src="data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JMGELkGYxo+qzl4nKyXAAAOw==" />
<img class="intLink" title="Center align" onclick="ohtmlarea.format_document('justifycenter');" src="data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIfhI+py+0Po5y02ouz3jL4D4JOGI7kaZ5Bqn4sycVbAQA7" />
<img class="intLink" title="Right align" onclick="ohtmlarea.format_document('justifyright');" src="data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JQGDLkGYxouqzl43JyVgAAOw==" />
<img class="intLink" title="Numbered list" onclick="ohtmlarea.format_document('insertorderedlist');" src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P///////yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEOzyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs=" />
<img class="intLink" title="Dotted list" onclick="ohtmlarea.format_document('insertunorderedlist');" src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv///////yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud64UwiuKnigGQliQuWOyKQykgAAOw==" />
<img class="intLink" title="Quote" onclick="ohtmlarea.format_document('formatblock','blockquote');" src="data:image/gif;base64,R0lGODlhFgAWAIQXAC1NqjFRjkBgmT9nqUJnsk9xrFJ7u2R9qmKBt1iGzHmOrm6Sz4OXw3Odz4Cl2ZSnw6KxyqO306K63bG70bTB0rDI3bvI4P///////////////////////////////////yH5BAEKAB8ALAAAAAAWABYAAAVP4CeOZGmeaKqubEs2CekkErvEI1zZuOgYFlakECEZFi0GgTGKEBATFmJAVXweVOoKEQgABB9IQDCmrLpjETrQQlhHjINrTq/b7/i8fp8PAQA7" />
<img class="intLink" title="Add indentation" onclick="ohtmlarea.format_document('outdent');" src="data:image/gif;base64,R0lGODlhFgAWAMIHAAAAADljwliE35GjuaezxtDV3NHa7P///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKCQG9F2i7u8agQgyK1z2EIBil+TWqEMxhMczsYVJ3e4ahk+sFnAgtxSQDqWw6n5cEADs=" />
<img class="intLink" title="Delete indentation" onclick="ohtmlarea.format_document('indent');" src="data:image/gif;base64,R0lGODlhFgAWAOMIAAAAADljwl9vj1iE35GjuaezxtDV3NHa7P///////////////////////////////yH5BAEAAAgALAAAAAAWABYAAAQ7EMlJq704650B/x8gemMpgugwHJNZXodKsO5oqUOgo5KhBwWESyMQsCRDHu9VOyk5TM9zSpFSr9gsJwIAOw==" />
<img class="intLink" title="Hyperlink" onclick="ohtmlarea.add_link()" src="data:image/gif;base64,R0lGODlhFgAWAOMKAB1ChDRLY19vj3mOrpGjuaezxrCztb/I19Ha7Pv8/f///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARY8MlJq7046827/2BYIQVhHg9pEgVGIklyDEUBy/RlE4FQF4dCj2AQXAiJQDCWQCAEBwIioEMQBgSAFhDAGghGi9XgHAhMNoSZgJkJei33UESv2+/4vD4TAQA7" />
<img class="intLink" title="Cut" onclick="ohtmlarea.format_document('cut');" src="data:image/gif;base64,R0lGODlhFgAWAIQSAB1ChBFNsRJTySJYwjljwkxwl19vj1dusYODhl6MnHmOrpqbmpGjuaezxrCztcDCxL/I18rL1P///////////////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAVu4CeOZGmeaKqubDs6TNnEbGNApNG0kbGMi5trwcA9GArXh+FAfBAw5UexUDAQESkRsfhJPwaH4YsEGAAJGisRGAQY7UCC9ZAXBB+74LGCRxIEHwAHdWooDgGJcwpxDisQBQRjIgkDCVlfmZqbmiEAOw==" />
<img class="intLink" title="Copy" onclick="ohtmlarea.format_document('copy');" src="data:image/gif;base64,R0lGODlhFgAWAIQcAB1ChBFNsTRLYyJYwjljwl9vj1iE31iGzF6MnHWX9HOdz5GjuYCl2YKl8ZOt4qezxqK63aK/9KPD+7DI3b/I17LM/MrL1MLY9NHa7OPs++bx/Pv8/f///////////////yH5BAEAAB8ALAAAAAAWABYAAAWG4CeOZGmeaKqubOum1SQ/kPVOW749BeVSus2CgrCxHptLBbOQxCSNCCaF1GUqwQbBd0JGJAyGJJiobE+LnCaDcXAaEoxhQACgNw0FQx9kP+wmaRgYFBQNeAoGihCAJQsCkJAKOhgXEw8BLQYciooHf5o7EA+kC40qBKkAAAGrpy+wsbKzIiEAOw==" />
<img class="intLink" title="Paste" onclick="ohtmlarea.format_document('paste');" src="data:image/gif;base64,R0lGODlhFgAWAIQUAD04KTRLY2tXQF9vj414WZWIbXmOrpqbmpGjudClFaezxsa0cb/I1+3YitHa7PrkIPHvbuPs+/fvrvv8/f///////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAWN4CeOZGmeaKqubGsusPvBSyFJjVDs6nJLB0khR4AkBCmfsCGBQAoCwjF5gwquVykSFbwZE+AwIBV0GhFog2EwIDchjwRiQo9E2Fx4XD5R+B0DDAEnBXBhBhN2DgwDAQFjJYVhCQYRfgoIDGiQJAWTCQMRiwwMfgicnVcAAAMOaK+bLAOrtLUyt7i5uiUhADs=" />
<input type="button" value="c" onclick="ohtmlarea.format_document('insertTable')">
</div>
</div>
TOOLBAR;
        $this->add($toolbar);
        $this->add(new TextArea($name));
        $this->edit = tag::create("div");
        $this->edit->att('class', 'osy-htmlarea-edit');
        $this->add($this->edit);
    }
Beispiel #21
0
 private function __make_item__($par, $items, $class = '', $hour = '')
 {
     $pkey = $this->get_par('pkey');
     foreach ($items as $k => $rec) {
         if (empty($rec)) {
             continue;
         }
         $div = $par->add(tag::create('div'))->att('class', 'event ' . (!empty($rec['event_color']) ? $rec['event_color'] : 'osy-event-color-normal'));
         if (!empty($rec['hour'])) {
             $end = $rec['event_end'] ? " &#8594; " . $rec['event_end'] : '';
             $div->add("<span class=\"event-time\">{$rec['hour']}{$end}</span>");
         } elseif (!empty($rec['event_duration'])) {
             $div->add("<span class=\"event-time\">{$rec['event_duration']} min</span>");
         }
         $itm = $div->add(tag::create('div'))->att('class', 'event-body');
         $itm->add($rec['event']);
         if (is_array($pkey)) {
             $key = array();
             foreach ($pkey as $k => $fld) {
                 if (array_key_exists($fld, $rec)) {
                     $key[] = 'pkey[' . $fld . ']=' . $rec[$fld];
                 }
             }
             if (count($pkey) == count($key)) {
                 $itm->att('__k', implode('&', $key))->att('class', 'osy-view-calendar-item', true);
             }
         }
     }
     return $itm;
 }
Beispiel #22
0
 public function getStatistics()
 {
     //Calcolo statistiche
     if ($sql_stat = $this->get_par('datasource-sql-stat')) {
         try {
             $sql_stat = $this->replacePlaceholder(str_replace('<[datasource-sql]>', $sql, $sql_stat) . $whr);
             $stat = $this->source->exec_unique($sql_stat, null, 'ASSOC');
             if (!is_array($stat)) {
                 $stat = array($stat);
             }
             $dstat = tag::create('div')->att('class', "osy-datagrid-stat");
             $tr = $dstat->add(tag::create('table'))->att('align', 'right')->add(tag::create('tr'));
             foreach ($stat as $k => $v) {
                 $v = $v > 1000 ? number_format($v, 2, ',', '.') : $v;
                 $tr->add(new Tag('td'))->add('&nbsp;');
                 $tr->add(new Tag('td'))->att('title', $k)->add($k);
                 $tr->add(new Tag('td'))->add($v);
             }
             $this->__par['div-stat'] = $dstat;
         } catch (Exception $e) {
             $this->par('error-in-sql-stat', '<pre>' . $sql_stat . "\n" . $e->getMessage() . '</pre>');
         }
     }
 }