Doctrine 1.2.4
Doctrine_Pager_Layout Class Reference

Public Member Functions

 __construct ($pager, $pagerRange, $urlMask)
 
 __toString ()
 
 addMaskReplacement ($oldMask, $newMask, $asValue=false)
 
 cleanMaskReplacements ()
 
 display ($options=array(), $return=false)
 
 execute ($params=array(), $hydrationMode=null)
 
 getPager ()
 
 getPagerRange ()
 
 getSelectedTemplate ()
 
 getSeparatorTemplate ()
 
 getTemplate ()
 
 getUrlMask ()
 
 processPage ($options=array())
 
 removeMaskReplacement ($oldMask)
 
 setSelectedTemplate ($selectedTemplate)
 
 setSeparatorTemplate ($separatorTemplate)
 
 setTemplate ($template)
 

Protected Member Functions

 _parseMaskReplacements ($str)
 
 _parseReplacementsTemplate ($options=array())
 
 _parseTemplate ($options=array())
 
 _parseUrl ($options=array())
 
 _parseUrlTemplate ($options=array())
 
 _setPager ($pager)
 
 _setPagerRange ($pagerRange)
 
 _setUrlMask ($urlMask)
 

Detailed Description

Definition at line 33 of file Layout.php.

Constructor & Destructor Documentation

Doctrine_Pager_Layout::__construct (   $pager,
  $pagerRange,
  $urlMask 
)

__construct

Parameters
Doctrine_Pager$pagerDoctrine_Pager object related to the pager layout
Doctrine_Pager_Range$pagerRangeDoctrine_Pager_Range object related to the pager layout
string$urlMaskURL to be assigned for each page
Returns
void

Definition at line 81 of file Layout.php.

{
$this->_setPager($pager);
$this->_setPagerRange($pagerRange);
$this->_setUrlMask($urlMask);
$this->setTemplate('[<a href="{%url}">{%page}</a>]');
$this->setSelectedTemplate('');
}

Member Function Documentation

Doctrine_Pager_Layout::__toString ( )

Simply calls display, and returns the output.

Definition at line 382 of file Layout.php.

{
return $this->display(array(), true);
}
Doctrine_Pager_Layout::_parseMaskReplacements (   $str)
protected

_parseMaskReplacements

Parse the mask replacements, changing from to-be replaced mask with new masks/values

Parameters
$strString to have masks replaced
Returns
string

Definition at line 480 of file Layout.php.

{
$replacements = array();
foreach ($this->_maskReplacements as $k => $v) {
$replacements['{%'.$k.'}'] = ($v['asValue'] === true) ? $v['newMask'] : '{%'.$v['newMask'].'}';
}
return strtr($str, $replacements);
}
Doctrine_Pager_Layout::_parseReplacementsTemplate (   $options = array())
protected

_parseUrl

Parse the mask replacements of a given page

Parameters
$optionsOptional parameters to be applied in template and url mask
Returns
string

Definition at line 437 of file Layout.php.

{
// Defining "url" options index to allow {%url} mask
$options['url'] = $this->_parseUrl($options);
$replacements = array();
foreach ($options as $k => $v) {
$replacements['{%'.$k.'}'] = $v;
}
return $replacements;
}
Doctrine_Pager_Layout::_parseTemplate (   $options = array())
protected

_parseTemplate

Parse the template of a given page and return the processed template

Parameters
arrayOptional parameters to be applied in template and url mask
Returns
string

Definition at line 395 of file Layout.php.

{
$str = $this->_parseUrlTemplate($options);
$replacements = $this->_parseReplacementsTemplate($options);
return strtr($str, $replacements);
}
Doctrine_Pager_Layout::_parseUrl (   $options = array())
protected

_parseUrl

Parse the url mask of a given page and return the processed url

Parameters
$optionsOptional parameters to be applied in template and url mask
Returns
string

Definition at line 459 of file Layout.php.

{
$str = $this->_parseMaskReplacements($this->getUrlMask());
$replacements = array();
foreach ($options as $k => $v) {
$replacements['{%'.$k.'}'] = $v;
}
return strtr($str, $replacements);
}
Doctrine_Pager_Layout::_parseUrlTemplate (   $options = array())
protected

_parseUrlTemplate

Parse the url mask to return the correct template depending of the options sent. Already process the mask replacements assigned.

Parameters
$optionsOptional parameters to be applied in template and url mask
Returns
string

Definition at line 412 of file Layout.php.

{
$str = '';
// If given page is the current active one
if ($options['page_number'] == $this->getPager()->getPage()) {
}
// Possible attempt where Selected == Template
if ($str == '') {
$str = $this->_parseMaskReplacements($this->getTemplate());
}
return $str;
}
Doctrine_Pager_Layout::_setPager (   $pager)
protected

_setPager

Defines the Doctrine_Pager object related to the pager layout

Parameters
$pagerDoctrine_Pager object related to the pager range
Returns
void

Definition at line 112 of file Layout.php.

{
$this->_pager = $pager;
}
Doctrine_Pager_Layout::_setPagerRange (   $pagerRange)
protected

_setPagerRange

Defines the Doctrine_Pager_Range subclass object related to the pager layout

Parameters
$pagerRangeDoctrine_Pager_Range subclass object related to the pager range
Returns
void

Definition at line 151 of file Layout.php.

{
$this->_pagerRange = $pagerRange;
$this->getPagerRange()->setPager($this->getPager());
}
Doctrine_Pager_Layout::_setUrlMask (   $urlMask)
protected

_setUrlMask

Defines the URL to be assigned for each page

Parameters
$urlMaskURL to be assigned for each page
Returns
void

Definition at line 177 of file Layout.php.

{
$this->_urlMask = $urlMask;
}
Doctrine_Pager_Layout::addMaskReplacement (   $oldMask,
  $newMask,
  $asValue = false 
)

addMaskReplacement

Defines a mask replacement. When parsing template, it converts replacement masks into new ones (or values), allowing to change masks behavior on the fly

Parameters
$oldMaskMask to be replaced
$newMaskMask or Value that will be defined after replacement
$asValueOptional value (default false) that if defined as true, changes the bahavior of replacement mask to replacement value
Returns
void

Definition at line 272 of file Layout.php.

{
if (($oldMask = trim($oldMask)) != 'page_number') {
$this->_maskReplacements[$oldMask] = array(
'newMask' => $newMask,
'asValue' => ($asValue === false) ? false : true
);
}
}
Doctrine_Pager_Layout::cleanMaskReplacements ( )

cleanMaskReplacements

Remove all mask replacements

Returns
void

Definition at line 306 of file Layout.php.

{
$this->_maskReplacements = null;
$this->_maskReplacements = array();
}
Doctrine_Pager_Layout::display (   $options = array(),
  $return = false 
)

display

Displays the pager on screen based on templates and options defined

Parameters
$optionsOptional parameters to be applied in template and url mask
$returnOptional parameter if you want to capture the output of this method call (Default value is false), instead of printing it
Returns
void If you would like to capture the output of Doctrine_Pager_Layout::display(), use the $return parameter. If this parameter is set to TRUE, this method will return its output, instead of printing it (which it does by default)

Definition at line 324 of file Layout.php.

{
$range = $this->getPagerRange()->rangeAroundPage();
$str = '';
// For each page in range
for ($i = 0, $l = count($range); $i < $l; $i++) {
// Define some optional mask values
$options['page_number'] = $range[$i];
$str .= $this->processPage($options);
// Apply separator between pages
if ($i < $l - 1) {
$str .= $this->getSeparatorTemplate();
}
}
// Possible wish to return value instead of print it on screen
if ($return) {
return $str;
}
echo $str;
}
Doctrine_Pager_Layout::execute (   $params = array(),
  $hydrationMode = null 
)

execute

Handy method to execute the query without need to retrieve the Pager instance

Parameters
$paramsOptional parameters to Doctrine_Query::execute
$hydrationModeHydration Mode of Doctrine_Query::execute returned ResultSet.
Returns
Doctrine_Collection The root collection

Definition at line 126 of file Layout.php.

{
return $this->getPager()->execute($params, $hydrationMode);
}
Doctrine_Pager_Layout::getPager ( )

getPager

Returns the Doctrine_Pager object related to the pager layout

Returns
Doctrine_Pager Doctrine_Pager object related to the pager range

Definition at line 99 of file Layout.php.

{
return $this->_pager;
}
Doctrine_Pager_Layout::getPagerRange ( )

getPagerRange

Returns the Doctrine_Pager_Range subclass object related to the pager layout

Returns
Doctrine_Pager_Range Doctrine_Pager_Range subclass object related to the pager range

Definition at line 138 of file Layout.php.

{
return $this->_pagerRange;
}
Doctrine_Pager_Layout::getSelectedTemplate ( )

getSelectedTemplate

Returns the Template to be applied for active page

Returns
string Template to be applied for active page

Definition at line 216 of file Layout.php.

{
return $this->_selectedTemplate;
}
Doctrine_Pager_Layout::getSeparatorTemplate ( )

getSeparatorTemplate

Returns the Separator template, applied between each page

Returns
string Separator template, applied between each page

Definition at line 241 of file Layout.php.

{
return $this->_separatorTemplate;
}
Doctrine_Pager_Layout::getTemplate ( )

getTemplate

Returns the Template to be applied for inactive pages

Returns
string Template to be applied for inactive pages

Definition at line 190 of file Layout.php.

{
return $this->_template;
}
Doctrine_Pager_Layout::getUrlMask ( )

getUrlMask

Returns the URL to be assigned for each page

Returns
string URL to be assigned for each page

Definition at line 164 of file Layout.php.

{
return $this->_urlMask;
}
Doctrine_Pager_Layout::processPage (   $options = array())

processPage

Parses the template and returns the string of a processed page

Parameters
arrayOptional parameters to be applied in template and url mask
Returns
string Processed template for the given page

Definition at line 358 of file Layout.php.

{
// Check if at least basic options are defined
if ( !isset($options['page_number'])) {
'Cannot process template of the given page. ' .
'Missing at least one of needed parameters: \'page\' or \'page_number\''
);
// Should never reach here
return '';
}
// Assign "page" options index if not defined yet
if ( !isset($this->_maskReplacements['page']) && !isset($options['page'])) {
$options['page'] = $options['page_number'];
}
return $this->_parseTemplate($options);
}
Doctrine_Pager_Layout::removeMaskReplacement (   $oldMask)

removeMaskReplacement

Remove a mask replacement

Parameters
$oldMaskReplacement Mask to be removed
Returns
void

Definition at line 290 of file Layout.php.

{
if (isset($this->_maskReplacements[$oldMask])) {
$this->_maskReplacements[$oldMask] = null;
unset($this->_maskReplacements[$oldMask]);
}
}
Doctrine_Pager_Layout::setSelectedTemplate (   $selectedTemplate)

setSelectedTemplate

Defines the Template to be applied for active page

Parameters
$selectedTemplateTemplate to be applied for active page
Returns
void

Definition at line 229 of file Layout.php.

{
$this->_selectedTemplate = $selectedTemplate;
}
Doctrine_Pager_Layout::setSeparatorTemplate (   $separatorTemplate)

setSeparatorTemplate

Defines the Separator template, applied between each page

Parameters
$separatorTemplateSeparator template, applied between each page
Returns
void

Definition at line 254 of file Layout.php.

{
$this->_separatorTemplate = $separatorTemplate;
}
Doctrine_Pager_Layout::setTemplate (   $template)

setTemplate

Defines the Template to be applied for inactive pages (also active page if selected template not defined)

Parameters
$templateTemplate to be applied for inactive pages
Returns
void

Definition at line 204 of file Layout.php.

{
$this->_template = $template;
}

The documentation for this class was generated from the following file: