PageAction Klassenreferenz

Klassendiagramm für PageAction:

Inheritance graph
base refererrect $classObjectAction.html 83,512 189,632rect $classAction.html 44,7 228,463

Aufstellung aller Elemente

Öffentliche Methoden

 PageAction ()
 saveform ()
 elsave ()
 saveprop ()
 changetemplateselectelements ()
 replacetemplate ()
 el ()
 form ()
 show ()
 edit ()
 src ()
 prop ()
 changetemplate ()
 pub ()
 pubnow ()
 setWindowMenu ($type)

Öffentliche Attribute

 $page
 $defaultSubAction = 'show'


Ausführliche Beschreibung

Definiert in Zeile 30 der Datei PageAction.class.php.


Dokumentation der Elementfunktionen

PageAction::changetemplate (  ) 

Die Eigenschaften der Seite anzeigen

Definiert in Zeile 672 der Datei PageAction.class.php.

Benutzt Template::getAll(), Action::setTemplateVar(), Action::setTemplateVars(), Html::url() und Action::userIsAdmin().

00673      {
00674           $this->page->public = true;
00675           $this->page->load();
00676 
00677           $this->setTemplateVars( $this->page->getProperties() );
00678           
00679           if   ( $this->userIsAdmin() )
00680           {
00681                $this->setTemplateVar('template_url',Html::url('main','template',$this->page->templateid));
00682           }
00683      
00684           $template = new Template( $this->page->templateid );
00685           $template->load();
00686           $this->setTemplateVar('template_name',$template->name);
00687      
00688           $templates = Array();
00689           foreach( Template::getAll() as $id=>$name )
00690           {
00691                if   ( $id != $this->page->templateid )
00692                     $templates[$id]=$name;
00693           }
00694           $this->setTemplateVar('templates',$templates); 
00695      }

PageAction::changetemplateselectelements (  ) 

Austauschen der Vorlage vorbereiten

Es wird ein Formualr erzeugt, in dem der Benutzer auswaehlen kann, welche Elemente in welches Element uebernommen werden sollen

Definiert in Zeile 330 der Datei PageAction.class.php.

Benutzt Action::callSubAction(), Action::getRequestVar(), lang() und Action::setTemplateVar().

00331      {
00332           $newTemplateId = intval($this->getRequestVar('templateid'));
00333 
00334           if   ( $newTemplateId != 0  )
00335           {
00336                $this->setTemplateVar('newTemplateId',$newTemplateId );
00337 
00338                $oldElements = array();
00339                $oldTemplate = new Template( $this->page->templateid );
00340                $newTemplate = new Template( $newTemplateId );
00341                
00342                foreach( $oldTemplate->getElementIds() as $elementid )
00343                {
00344                     $e = new Element( $elementid );
00345                     $e->load();
00346                     
00347                     if   ( !$e->isWritable() )
00348                          continue;
00349 
00350                     $oldElement = array();
00351                     $oldElement['name'] = $e->name.' - '.lang('EL_'.$e->type );
00352                     $oldElement['id'  ] = $e->elementid;
00353 
00354                     $newElements = Array();
00355                     $newElements[0] = lang('ELEMENT_DELETE_VALUES');
00356      
00357                     foreach( $newTemplate->getElementIds() as $newelementid )
00358                     {
00359                          $ne = new Element( $newelementid );
00360                          $ne->load();
00361                          
00362                          // Nur neue Elemente anbieten, deren Typ identisch ist
00363                          if   ( $ne->type == $e->type )
00364                               $newElements[$newelementid] = lang('ELEMENT').': '.$ne->name.' - '.lang('EL_'.$e->type );
00365                     }
00366                     $oldElement['newElementsName'] = 'from'.$e->elementid;
00367                     $oldElement['newElementsList'] = $newElements;
00368                     $oldElements[$elementid] = $oldElement;
00369                }
00370                $this->setTemplateVar('elements',$oldElements );
00371           }
00372           else
00373           {
00374                $this->callSubAction('prop');
00375           }
00376      }

PageAction::edit (  ) 

Die Seite im Bearbeitungsmodus anzeigen

Bei editierbaren Feldern wird ein Editor-Ikon vorangestellt.

Definiert in Zeile 568 der Datei PageAction.class.php.

Benutzt Action::getCharset() und Session::getProjectLanguage().

00569      {
00570           // Editier-Icons anzeigen
00571           $this->page->icons = true;
00572      
00573           $this->page->load();
00574           $this->page->generate();
00575           $this->page->write();
00576           
00577           header('Content-Type: '.$this->page->mimeType().'; charset='.$this->getCharset() );
00578           
00579           // HTTP-Header mit Sprachinformation setzen.
00580           $language = Session::getProjectLanguage();
00581           header('Content-Language: '.$language->isoCode);
00582 
00583           
00584           require( $this->page->tmpfile() );
00585 
00586           // Inhalt ist ausgegeben... Skript beenden.
00587           exit;
00588      }

PageAction::el (  ) 

Alle Elemente der Seite anzeigen

Definiert in Zeile 409 der Datei PageAction.class.php.

Benutzt Text::maxLaenge(), Action::setTemplateVar() und Html::url().

00410      {
00411           $this->page->public = true;
00412           $this->page->simple = true;
00413           $this->page->generate_elements();
00414           
00415           $list = array();
00416      
00417           // Schleife ueber alle Inhalte der Seite
00418           foreach( $this->page->values as $id=>$value )
00419           {
00420                // Element wird nur angezeigt, wenn es editierbar ist
00421                if   ( $value->element->isWritable() )
00422                {
00423                     $list[$id] = array();
00424                     $list[$id]['name']       = $value->element->name;
00425                     $list[$id]['url' ]       = Html::url( 'pageelement','edit'   ,$this->page->id,array('elementid'=>$id,'mode'=>'edit') );
00426                     $list[$id]['desc']       = $value->element->desc;
00427                     $list[$id]['type']       = $value->element->type;
00428      
00429                     $list[$id]['archive_count'] = intval($value->getCountVersions());
00430                     if   ( $list[$id]['archive_count'] > 0 )
00431                          $list[$id]['archive_url'] = Html::url( 'pageelement','archive',$this->page->id,array('elementid'=>$id) );
00432                     
00433                     // Maximal 50 Stellen des Inhaltes anzeigen
00434                     $list[$id]['value'] = Text::maxLaenge( 50,$value->value );
00435                }
00436           }
00437 
00438           $this->setTemplateVar('el',$list);
00439      }

PageAction::elsave (  ) 

Element speichern

Der Inhalt eines Elementes wird abgespeichert

Definiert in Zeile 147 der Datei PageAction.class.php.

Benutzt Action::callSubAction(), Action::forward(), Object::getAllObjectIds(), Session::getElement(), Page::getPageIdFromObjectId(), Session::getProject(), Session::getProjectLanguage(), Action::getRequestVar(), Action::hasRequestVar(), lang() und Action::setTemplateVar().

00148      {
00149           $value = new Value();
00150           $language = Session::getProjectLanguage();
00151           $value->languageid = $language->languageid;
00152           $value->objectid   = $this->page->objectid;
00153           $value->pageid     = Page::getPageIdFromObjectId( $this->page->objectid );
00154 
00155           if   ( $this->hasRequestVar('elementid') )
00156                $value->element = new Element( $this->getRequestVar('elementid') );
00157           else
00158                $value->element = Session::getElement();
00159 
00160           $value->element->load();
00161           $value->publish = false;
00162           $value->load();
00163 
00164           $value->number         = $this->getRequestVar('number') * pow(10,$value->element->decimals);
00165           $value->linkToObjectId = intval($this->getRequestVar('linkobjectid'));
00166           $value->text           = $this->getRequestVar('text');
00167 
00168           // Vorschau anzeigen
00169           if   ( $value->element->type=='longtext' && ($this->hasRequestVar('preview')||$this->hasRequestVar('addmarkup')) )
00170           {
00171                if   ( $this->hasRequestVar('preview') )
00172                {
00173                     $value->page             = $this->page;
00174                     $value->simple           = false;
00175                     $value->page->languageid = $value->languageid;
00176                     $value->page->load();
00177                     $value->generate();
00178                     $this->setTemplateVar('preview_text',$value->value );
00179                }
00180 
00181                if   ( $this->hasRequestVar('addmarkup') )
00182                {
00183                     $addText = $this->getRequestVar('addtext');
00184 
00185                     if   ( !empty($addText) ) // Nur, wenn ein Text eingegeben wurde
00186                     {
00187                          $addText = $this->getRequestVar('addtext');
00188 
00189                          if   ( $this->hasRequestVar('strong') )
00190                               $value->text .= '*'.$addText.'*';
00191 
00192                          if   ( $this->hasRequestVar('emphatic') )
00193                               $value->text .= '_'.$addText.'_';
00194 
00195                          if   ( $this->hasRequestVar('link') )
00196                               $value->text .= '"'.$addText.'"->"'.$this->getRequestVar('objectid').'"';
00197                     }
00198 
00199                     if   ( $this->hasRequestVar('table') )
00200                          $value->text .= "|$addText  |  |\n|$addText  |  |\n|$addText  |  |\n";
00201 
00202                     if   ( $this->hasRequestVar('list') )
00203                          $value->text .= "\n- ".$addText."\n".'- '.$addText."\n".'- '.$addText."\n";
00204 
00205                     if   ( $this->hasRequestVar('numlist') )
00206                          $value->text .= "\n# ".$addText."\n".'# '.$addText."\n".'# '.$addText."\n";
00207 
00208                     if   ( $this->hasRequestVar('image') )
00209                          $value->text .= '{'.$this->getRequestVar('objectid').'}';
00210                }
00211 
00212                // Ermitteln aller verlinkbaren Objekte (fuer Editor)
00213                $objects = array();
00214      
00215                foreach( Folder::getAllObjectIds() as $id )
00216                {
00217                     $o = new Object( $id );
00218                     $o->load();
00219                     
00220                     if   ( $o->getType() != 'folder' )
00221                     { 
00222                          $f = new Folder( $o->parentid );
00223                          $objects[ $id ]  = lang( 'GLOBAL_'.$o->getType() ).': '; 
00224                          $objects[ $id ] .=  implode( FILE_SEP,$f->parentObjectNames(false,true) ); 
00225                          $objects[ $id ] .= FILE_SEP.$o->name;
00226                     } 
00227                }
00228                asort($objects);
00229                $this->setTemplateVar( 'objects' ,$objects );
00230      
00231                $this->setTemplateVar( 'release' ,$this->page->hasRight(ACL_RELEASE) );
00232                $this->setTemplateVar( 'publish' ,$this->page->hasRight(ACL_PUBLISH) );
00233                $this->setTemplateVar( 'html'    ,$value->element->html );
00234                $this->setTemplateVar( 'wiki'    ,$value->element->wiki );
00235                $this->setTemplateVar( 'text'    ,$value->text          );
00236                $this->setTemplateVar( 'name'    ,$value->element->name );
00237                $this->setTemplateVar( 'desc'    ,$value->element->desc );
00238                $this->setTemplateVar( 'objectid',$this->page->objectid );
00239                $this->forward( 'pageelement_edit_longtext' );
00240           }
00241 
00242           if   ( $this->hasRequestVar('year') ) // Wird ein Datum gespeichert?
00243           {
00244                // Wenn ein ANSI-Datum eingegeben wurde, dann dieses verwenden
00245                if   ( $this->getRequestVar('ansidate') != $this->getRequestVar('ansidate_orig') )
00246                     $value->date = strtotime($this->getRequestVar('ansidate') );
00247                else
00248                     // Sonst die Zeitwerte einzeln zu einem Datum zusammensetzen
00249                     $value->date = mktime( $this->getRequestVar('hour'  ),
00250                                            $this->getRequestVar('minute'),
00251                                             $this->getRequestVar('second'),
00252                                             $this->getRequestVar('month' ),
00253                                             $this->getRequestVar('day'   ),
00254                                             $this->getRequestVar('year'  ) );
00255           }
00256           else $value->date = 0; // Datum nicht gesetzt.
00257      
00258           $value->text = $this->getRequestVar('text');
00259 
00260           $value->page = new Page( $value->objectid );
00261           $value->page->load();
00262           
00263           // Inhalt sofort freigegeben, wenn
00264           // - Recht vorhanden
00265           // - Freigabe gewuenscht
00266           if   ( $value->page->hasRight( ACL_RELEASE ) && $this->getRequestVar('release')!='' )
00267                $value->publish = true;
00268           else
00269                $value->publish = false;
00270 
00271           // Inhalt speichern
00272           
00273           // Wenn Inhalt in allen Sprachen gleich ist, dann wird der Inhalt
00274           // fuer jede Sprache einzeln gespeichert.
00275           if   ( $value->element->allLanguages )
00276           {
00277                $project = Session::getProject();
00278                foreach( $project->getLanguageIds() as $languageid )
00279                {
00280                     $value->languageid = $languageid;
00281                     $value->save();
00282                }
00283           }
00284           else
00285           {
00286                // sonst nur 1x speichern (fuer die aktuelle Sprache)
00287                $value->save();
00288           }
00289 
00290           $this->page->setTimestamp(); // "Letzte Aenderung" setzen
00291 
00292           // Falls ausgewaehlt die Seite sofort veroeffentlichen
00293           if   ( $this->hasRequestVar('publish') )
00294                $this->callSubAction( 'pubnow' ); // Weiter zum veroeffentlichen
00295           else
00296                $this->callSubAction( 'el' ); // Element-Liste anzeigen
00297      }

PageAction::form (  ) 

Alle editierbaren Felder in einem Formular bereitstellen

Definiert in Zeile 445 der Datei PageAction.class.php.

Benutzt Action::forward(), Folder::getAllFolders(), Object::getAllObjectIds(), lang(), Action::setTemplateVar() und setWindowMenu().

00446      {
00447           global $conf_php;
00448 
00449           $this->page->public = false;
00450           $this->page->simple = true;
00451           $this->page->generate_elements();
00452           
00453           $list = array();
00454      
00455           foreach( $this->page->values as $id=>$value )
00456           {
00457                if   ( $value->element->isWritable() )
00458                {
00459                     $list[$id] = array();
00460                     $list[$id]['name']        = $value->element->name;
00461                     $list[$id]['desc']        = $value->element->desc;
00462                     $list[$id]['type']        = $value->element->type;
00463                     $list[$id]['id'  ]        = 'id'.$value->element->elementid;
00464                     $list[$id]['saveid']      = 'saveid'.$value->element->elementid;
00465 
00466                     switch( $value->element->type )
00467                     {
00468                          case 'text':
00469                          case 'longtext':
00470                               $list[$id]['value'] = $value->text;
00471                               break;
00472 
00473                          case 'date':
00474                               $list[$id]['value'] = date( 'Y-m-d H:i:s',$value->date );
00475                               break;
00476 
00477                          case 'number':
00478                               $list[$id]['value'] = $value->number / pow(10,$value->element->decimals);
00479                               break;
00480 
00481                          case 'select':
00482                               $list[$id]['list' ] = $value->element->getSelectItems();
00483                               $list[$id]['value'] = $value->text;
00484                               break;
00485 
00486                          case 'link':
00487                               $objects = array();
00488                     
00489                               foreach( Folder::getAllObjectIds() as $oid )
00490                               {
00491                                    $o = new Object( $oid );
00492                                    $o->load();
00493                                    
00494                                    if   ( $o->getType() != 'folder' )
00495                                    { 
00496                                         $f = new Folder( $o->parentid );
00497                                         $f->load();
00498                                         
00499                                         $objects[ $oid ]  = lang( $o->getType() ).': '; 
00500                                         $objects[ $oid ] .=  implode( ' » ',$f->parentObjectNames(false,true) ); 
00501                                         $objects[ $oid ] .= ' » '.$o->name;
00502                                    } 
00503                               }
00504           
00505                               asort( $objects ); // Sortieren
00506                     
00507                               $list[$id]['list' ] = $objects;
00508                               $list[$id]['value'] = $value->linkToObjectId;
00509                               break;
00510 
00511                          case 'list':
00512                               $objects = array();
00513                               foreach( Folder::getAllFolders() as $oid )
00514                               {
00515                                    $f = new Folder( $oid );
00516                                    $f->load();
00517                                    
00518                                    $objects[ $oid ]  = lang( $f->getType() ).': '; 
00519                                    $objects[ $oid ] .=  implode( ' » ',$f->parentObjectNames(false,true) ); 
00520                               }
00521                     
00522                               asort( $objects ); // Sortieren
00523                     
00524                               $this->setTemplateVar('list' ,$objects);
00525                               $this->setTemplateVar('value',$this->value->linkToObjectId);
00526           
00527                               break;
00528                     }
00529                }
00530           }
00531 
00532           $this->setTemplateVar( 'release',$this->page->hasRight(ACL_RELEASE) );
00533           $this->setTemplateVar( 'publish',$this->page->hasRight(ACL_PUBLISH) );
00534 
00535           $this->setWindowMenu( 'elements' );
00536           $this->setTemplateVar('el',$list);
00537           $this->forward('page_form');
00538      }

PageAction::PageAction (  ) 

Definiert in Zeile 36 der Datei PageAction.class.php.

Benutzt Session::getObject(), Action::getRequestId() und Session::setObject().

00037      {
00038           if   ( $this->getRequestId() != 0  )
00039           {
00040                $this->page = new Page( $this->getRequestId() );
00041                $this->page->load();
00042                Session::setObject( $this->page );
00043           }
00044           else
00045           {
00046                $this->page = Session::getObject();
00047           }
00048           
00049           // Auskommentiert, da Conditional-Get bei
00050           // Seiten u.U. nicht sinnvoll ist
00051           //$this->lastModified( $this->page->lastchangeDate );
00052      }

PageAction::prop (  ) 

Die Eigenschaften der Seite anzeigen

Definiert in Zeile 618 der Datei PageAction.class.php.

Benutzt Action::forward(), Template::getAll(), Action::setTemplateVar(), Action::setTemplateVars(), Html::url() und Action::userIsAdmin().

00619      {
00620           $this->setTemplateVar('id',$this->page->objectid);
00621      
00622           $this->page->public = true;
00623           $this->page->load();
00624           $this->page->full_filename();
00625 
00626           if   ( $this->page->filename == $this->page->objectid )
00627                $this->page->filename = '';
00628 
00629           $this->setTemplateVars( $this->page->getProperties() );
00630           
00631           if   ( $this->userIsAdmin() )
00632           {
00633                $this->setTemplateVar('template_url',Html::url('main','template',$this->page->templateid));
00634           }
00635      
00636           $template = new Template( $this->page->templateid );
00637           $template->load();
00638           $this->setTemplateVar('template_name',$template->name);
00639      
00640           // Alle Ordner ermitteln
00641 //        $this->setTemplateVar('act_folderobjectid',$this->page->parentid);
00642 //
00643 //        $folders = array();
00644 //        $folder = new Folder( $this->page->parentid );
00645           
00646 //        foreach( $folder->getOtherFolders() as $oid )
00647 //        {
00648 //             $f = new Folder( $oid );
00649 //             $folders[$oid] = implode( FILE_SEP,$f->parentObjectNames(true,true) );
00650 //        }
00651 //        asort( $folders );
00652 //        $this->setTemplateVar('folder',$folders); 
00653 
00654           $templates = Array();
00655           foreach( Template::getAll() as $id=>$name )
00656           {
00657                if   ( $id != $this->page->templateid )
00658                     $templates[$id]=$name;
00659           }
00660           $this->setTemplateVar('templates',$templates); 
00661            
00662      
00663           $this->forward('page_prop');
00664      }

PageAction::pub (  ) 

Seite veroeffentlichen

Es wird ein Formular angzeigt, mit dem die Seite veroeffentlicht werden kann

Definiert in Zeile 707 der Datei PageAction.class.php.

00708      {
00709      }

PageAction::pubnow (  ) 

Seite veroeffentlichen

Die Seite wird generiert.

Definiert in Zeile 718 der Datei PageAction.class.php.

Benutzt Action::addNotice().

00719      {
00720           if   ( !$this->page->hasRight( ACL_PUBLISH ) )
00721                die( 'no right for publish' );
00722 
00723           $this->page->public = true;
00724           $this->page->publish();
00725           $this->page->publish->close();
00726 
00727 //        foreach( $this->page->publish->publishedObjects as $o )
00728 //        {
00729 //             $this->addNotice($o['type'],$o['full_filename'],'PUBLISHED','ok');
00730 //        }
00731 
00732           $this->addNotice('page',$this->page->fullFilename,'PUBLISHED'.($this->page->publish->ok?'':'_ERROR'),$this->page->publish->ok,array(),$this->page->publish->log);
00733 
00734           $this->callSubaction('pub');
00735      }

PageAction::replacetemplate (  ) 

Die Vorlage der Seite austauschen

Die Vorlage wird ausgetauscht, die Inhalte werden gemaess der Benutzereingaben kopiert

Definiert in Zeile 385 der Datei PageAction.class.php.

Benutzt Action::addNotice() und Action::getRequestVar().

00386      {
00387           $newTemplateId = intval($this->getRequestVar('newTemplateId'));
00388           $replaceElementMap = Array();
00389           
00390           $oldTemplate = new Template( $this->page->templateid );
00391           foreach( $oldTemplate->getElementIds() as $elementid )
00392                $replaceElementMap[$elementid] = $this->getRequestVar('from'.$elementid);
00393           
00394           if   ( $newTemplateId != 0  )
00395           {
00396                $this->page->replaceTemplate( $newTemplateId,$replaceElementMap );
00397                $this->addNotice('page',$this->page->name,'SAVED',OR_NOTICE_OK);
00398           }
00399           else
00400                $this->addNotice('page',$this->page->name,'NOT_SAVED',OR_NOTICE_WARN);
00401      }

PageAction::saveform (  ) 

Alle Daten aus dem Formular speichern

Definiert in Zeile 58 der Datei PageAction.class.php.

Benutzt Action::callSubAction(), Page::getPageIdFromObjectId(), Action::getRequestVar(), Action::getSessionVar() und Action::hasRequestVar().

00059      {
00060           $this->page->public = true;
00061           $this->page->simple = true;
00062 
00063           foreach( $this->page->getElements() as $elementid=>$name )
00064           {
00065                if   ( $this->hasRequestVar('saveid'.$elementid) )
00066                {
00067                     $value = new Value();
00068                     $value->objectid   = $this->page->objectid;
00069                     $value->pageid     = Page::getPageIdFromObjectId( $value->objectid );
00070                     $value->element = new Element( $elementid );
00071                     $value->element->load();
00072                     $value->publish = false;
00073                     $value->load();
00074           
00075                     // Eingegebenen Inhalt aus dem Request lesen
00076                     $inhalt  = $this->getRequestVar( 'id'.$elementid );
00077                     
00078                     // Den Inhalt speichern.
00079                     switch( $value->element->type )
00080                     {
00081                          case 'number':
00082                               $value->number = $inhalt * pow(10,$value->element->decimals);
00083                               break;
00084 
00085                          case 'date':
00086                               $value->date = strtotime( $inhalt );
00087                               break;
00088 
00089                          case 'text':
00090                          case 'longtext':
00091                          case 'select':
00092                               $value->text = $inhalt;
00093                               break;
00094 
00095                          case 'link':
00096                          case 'list':
00097                          case 'insert':
00098                               $value->linkToObjectId = intval($inhalt);
00099                               break;
00100                     }
00101                
00102                     $value->page = &$this->page;
00103                     
00104                     // Ermitteln, ob Inhalt sofort freigegeben werden kann und soll
00105                     if   ( $this->page->hasRight( ACL_RELEASE ) && $this->hasRequestVar('release') )
00106                          $value->publish = true;
00107                     else
00108                          $value->publish = false;
00109           
00110 //                  Html::debug($inhalt,'Eingabe');
00111 //                  Html::debug($value,'Inhalt');
00112           
00113                     // Inhalt speichern.
00114                     // Inhalt in allen Sprachen gleich?
00115                     if   ( $value->element->allLanguages )
00116                     {
00117                          // Inhalt fuer jede Sprache einzeln speichern.
00118                          $p = new Project();
00119                          foreach( $p->getLanguageIds() as $languageid )
00120                          {
00121                               $value->languageid = $languageid;
00122                               $value->save();
00123                          }
00124                     }
00125                     else
00126                     {
00127                          // sonst nur 1x speichern (fuer die aktuelle Sprache)
00128                          $value->languageid = $this->getSessionVar(REQ_PARAM_LANGUAGE_ID);
00129                          $value->save();
00130                     }
00131                }
00132           }
00133           $this->page->setTimestamp(); // "Letzte Aenderung" setzen
00134 
00135           if   ( $this->hasRequestVar('publish') )
00136                $this->callSubAction( 'pubnow' );
00137           else
00138                $this->callSubAction( 'el' );
00139      }

PageAction::saveprop (  ) 

Eigenschaften der Seite speichern

Definiert in Zeile 304 der Datei PageAction.class.php.

Benutzt Action::addNotice(), Action::addValidationError(), Action::callSubAction() und Action::getRequestVar().

00305      {
00306           if   ( $this->getRequestVar('name')!='' )
00307           {
00308                $this->page->name        = $this->getRequestVar('name'       );
00309                $this->page->filename    = $this->getRequestVar('filename'   );
00310                $this->page->desc        = $this->getRequestVar('description');
00311 
00312                $this->page->save();
00313                $this->addNotice($this->page->getType(),$this->page->name,'PROP_SAVED','ok');
00314           }
00315           else
00316           {
00317                $this->addValidationError('name');
00318                $this->callSubAction('prop');
00319           }
00320      }

PageAction::setWindowMenu ( type  ) 

Definiert in Zeile 738 der Datei PageAction.class.php.

Benutzt Action::setTemplateVar().

Wird benutzt von form().

00738                                      {
00739           switch( $type)
00740           {
00741                case 'elements':
00742                     $menu = array( array('subaction'=>'el'  ,'text'=>'all'),
00743                                    array('subaction'=>'form','text'=>'change'    )  );
00744                     $this->setTemplateVar('windowMenu',$menu);
00745                     break;
00746                case 'acl':
00747                     $menu = array( array('subaction'=>'rights' ,'text'=>'show'),
00748                                  array('subaction'=>'aclform','text'=>'add' ) );
00749                     $this->setTemplateVar('windowMenu',$menu);
00750                     break;
00751 
00752           }
00753      }

PageAction::show (  ) 

Seite anzeigen

Definiert in Zeile 545 der Datei PageAction.class.php.

Benutzt Action::getCharset() und Session::getProjectLanguage().

00546      {
00547           // Seite definieren
00548           $this->page->load();
00549           $this->page->generate();
00550           $this->page->write();
00551 
00552           header('Content-Type: '.$this->page->mimeType().'; charset='.$this->getCharset() );
00553 
00554           // HTTP-Header mit Sprachinformation setzen.
00555           $language = Session::getProjectLanguage();
00556           header('Content-Language: '.$language->isoCode);
00557 
00558           require( $this->page->tmpfile() );
00559      }

PageAction::src (  ) 

Den Quellcode der Seite anzeigen

Alle HTML-Sonderzeichen werden maskiert

Definiert in Zeile 597 der Datei PageAction.class.php.

Benutzt Action::setTemplateVar().

00598      {
00599           $this->page->public = true;
00600           $this->page->load();
00601      
00602           $src = $this->page->generate();
00603           
00604           // HTML Highlighting
00605           
00606           //$src = preg_replace( '|<(.+)( .+)?'.'>|Us'       , '<strong>&lt;$1</strong>$2<strong>&gt;</strong>', $src);
00607           //$src = preg_replace( '|([a-zA-Z]+)="(.+)"|Us' , '<em>$1</em>=<var>"$2"</var>'                   , $src);
00608           $src = htmlentities($src);
00609           
00610           $this->setTemplateVar('src',$src);
00611      }


Dokumentation der Datenelemente

PageAction::$defaultSubAction = 'show'

Definiert in Zeile 33 der Datei PageAction.class.php.

PageAction::$page

Definiert in Zeile 32 der Datei PageAction.class.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Thu May 14 00:55:50 2009 für OpenRat von  doxygen 1.5.8