static function context() { if (!core::req('.cms-admin')) return new cmsDummy(); return cmsGui::create('cmsContext'); }
?> </h1> <h2><?php echo core::vars('subheadline1'); ?> </h2> <? $c= cms::context(); $c-> label('Upload new image') -> icon('file_upload') -> popup(core::url('upload-image')); if (core::req('.hide-image')) $c-> label('Unhide image') -> icon('visibility_on') -> url(core::url('upload-image','cms-form-action','unhide')); else $c-> label('Hide image') -> icon('visibility_off') -> url(core::url('upload-image','cms-form-action','hide')); echo cms::anchor($c); ?> <div style="float:right;"> <? if (!core::req('.hide-image')): ?> <img src="sample.jpg" style="max-width:400px; margin-left:2em;"> <? endif ?> </div> <?php echo core::vars('text1'); ?> </div> <? if(cms::admin()): ?> <? $c= cms::context() -> label('Edit') -> icon('edit') -> popup(core::url('edit-block','no',2)) -> popuptitle('Edit text block 2'); echo cms::anchor($c,'Block 2'); ?> <div> <h1><?php
{ $f= cms::form(); $f-> method('post') -> action(core::urlAdd('cms-form-action','upload')); $f-> file('picture') -> preview('image'); $f-> static('Use only jpeg for the sake of test simplicity'); $f-> submit('Save'); $f-> display(); } elseif (core::req('cms-form-action')=='upload') { $picture= core::req('picture'); move_uploaded_file($picture['tmp_name'],core::config('data-path').'sample.jpg'); core::req('.hide-image',false,'session'); core::redirect('home'); } elseif (core::req('cms-form-action')=='hide') { core::req('.hide-image',true,'session'); core::redirect('home'); } elseif (core::req('cms-form-action')=='unhide') { core::req('.hide-image',false,'session'); core::redirect('home'); } else { core::halt(404,'Unknown action '.core::req('cms-form-action')); } return true;
static function start() /// Launches whole the action after configuration read { error_reporting(core::$config['error-reporting-lo']); foreach ($_COOKIE as $var=>$val) core::$req[$var]= $val; if (isset(core::$config['cookie-vars'])) foreach (core::$config['cookie-vars'] as $var=>$config) { core::$req[$var]= core::filter(core::req($var),$config); } foreach ($_GET as $var=>$val) if ($var!==session_name()) core::$req[$var]= core::$reqUrl[$var]= $val; unset(core::$reqUrl[core::config('module-var')]); foreach ($_POST as $var=>$val) if ($var!==session_name()) core::$req[$var]= $val; foreach ($_FILES as $var=>$val) { if (is_string($val['name'])) core::$req[$var]= $val; // <input type=file name=xxx ...> else // <input type=file name=xxx[yyy] ...> { foreach ($val['name'] as $key=>$void) { core::$req[$var][$key]= array( 'name'=>$val['name'][$key], 'type'=>$val['type'][$key], 'tmp_name'=>$val['tmp_name'][$key], 'error'=>$val['error'][$key], 'size'=>$val['size'][$key] ); } } } if (isset(core::$config['cookie-vars'])) foreach (core::$config['cookie-vars'] as $name=>$config) { if (isset(core::$req[$name])) { core::$req[$name]= core::filter(core::$req[$name], $config); if (!isset($_COOKIE[$name]) || $_COOKIE[$name]!=core::$req[$name]) { setcookie($name, core::$req[$name], $config['expire']); } unset(core::$reqUrl[$name]); } } // apply required vars if (isset(core::$config['required'])) foreach (core::$config['required'] as $name=>$config) { core::$req[$name]= core::filter(core::$req[$name],$comfig); core::$reqUrl[$name]= core::$req[$name]; } if (!core::moduleName()) { if (is_array(core::$config['default-module'])) { $args= href::processArgs(core::$config['default-module']); core::$req[core::$config['module-var']]= $args['template']; array_merge(core::$reques,$args['req']); } } core::$req[core::$config['module-var']]= str_replace('..','(dot)(dot)',core::moduleName()); //secure upper directories core::$req[core::$config['module-var']]= str_replace("\0",'(0)',core::moduleName()); //secure core::$req[core::$config['module-var']]= str_replace('<','(lt)',core::moduleName()); //secure core::$req[core::$config['module-var']]= str_replace('>','(gt)',core::moduleName()); //secure // set session var if (core::req(session_name()) || isset(core::$config['session-vars'])) { if (!session_id()) session_start(); foreach ($_SESSION as $name=>$val) core::$req[$name]= $val; if (isset(core::$config['session-vars'])) foreach (core::$config['session-vars'] as $name=>$config) { core::$req[$name]= core::filter(core::req($name),$config); unset(core::$reqUrl[$name]); } } if (core::req('cms-oper')) cms::perform(); elseif (core::req('core-module')=='cms-resource') cmsGui::forward(core::req('file')); ob_start(); if (isset(core::$config['pre-models'])) foreach(core::$config['pre-models'] as $model) core::model($model); core::insert(core::moduleName()); $buffer= ob_get_contents(); ob_end_clean(); // Process pre- and post-templates if (!core::reg('run-naked')) { ob_start(); if (isset(core::$config['pre-module'])) core::insert(core::$config['pre-module']); echo $buffer; if (isset(core::$config['post-module'])) core::insert(core::$config['post-module']); if (isset(core::$config['post-models'])) foreach(core::$config['post-models'] as $model) core::model($model); $buffer= ob_get_contents(); ob_end_clean(); } // Output echo $buffer; //if (core::$prepend) core::error('one or more prepends were not utilized: '.implode(',',array_keys(core::$prepend))); }
core::reg('run-naked',true); if (!core::req('cms-form-action')) { $no= core::req('no'); $file= core::config('data-path')."block$no.txt"; $block= file($file); $f= cms::form(); $f-> method('post') -> action(core::urlAdd('cms-form-action','save')); $f-> hidden('no') -> value($no); $f-> text("headline") -> label('Headline') -> value($block[0]); $f-> text("subheadline") -> label('SubHeadline') -> value($block[1]); $f-> textarea("text") -> label('Text') -> value(implode('',array_slice($block,2))); $f-> submit('Save'); $f-> display(); } elseif (core::req('cms-form-action')=='save') { $no= core::req('no'); $file= core::config('data-path')."block$no.txt"; file_put_contents($file, core::req("headline")."\n"); file_put_contents($file, core::req("subheadline")."\n",FILE_APPEND); file_put_contents($file, core::req("text"),FILE_APPEND); core::redirect('home'); } return true;