cakephp2-php8/cake/libs/view/templates/scaffolds/show.thtml
phpnut fb46bcceef Merging fixes and enhancements into trunk.
Revision: [2316]
Added fix for message:  Warning: array_diff(): Argument #2 is not an array in Controller::__construct()

Revision: [2315]
Adding fix for Ticket #517

Revision: [2314]
Corrected scaffold throwing errors when irregular words are used for model/table names

Revision: [2313]
Added patch from Ticket #495.
Added missing ?> bracket at end of file

Revision: [2312]
Corrected model names being set to lower case, When matched to an irregular word in Inflector methods.
Added custom inflections.php file to allow application to have custom inflection rules.
Correct variable in View::renderCache(). error thrown if time class was used $time variable changed to $timeStart.

Revision: [2311]
Corrected $db placed in wrong section of the method

Revision: [2310]
Removing the db attribute from the model, This will help better with persistent objects

Revision: [2309]
Adding fix for Ticket #490

Revision: [2308]
Update to previous commit

Revision: [2307]
Removing references to Model->db. DataBase connections are now singleton-only.

Revision: [2306]
Refactoring getDataSource() into loadDataSource() and enumConnectionObjects()

Revision: [2305]
Reverting changes to this file

Revision: [2304]
Fixing Ticket #496, getColumnType, and docstrings

Revision: [2303]
Adding fix for Ticket #510


git-svn-id: https://svn.cakephp.org/repo/trunk/cake@2317 3807eeeb-6ff5-0310-8944-8be069107fe0
2006-03-15 20:45:59 +00:00

211 lines
No EOL
7.5 KiB
Text

<?php
/* SVN FILE: $Id$ */
/**
* Base controller class.
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.cake.libs.view.templates.scaffolds
* @since CakePHP v 0.10.0.1076
* @version $Revision$
* @modifiedby $LastChangedBy$
* @lastmodified $Date$
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
?>
<?php
$modelName = ucwords(Inflector::singularize($this->name));
$modelKey = Inflector::underscore($modelName);
$objModel =& ClassRegistry::getObject($modelKey);
if(!empty($objModel->alias))
{
foreach ($objModel->alias as $key => $value)
{
$alias[] = $key;
}
$count = 0;
}
?>
<h1>Show
<?php echo Inflector::humanize($modelName)?>
</h1>
<dl>
<?php
foreach($fieldNames as $field => $value)
{
echo "<dt>".$value['prompt']."</dt>";
if(isset($value['foreignKey']))
{
$otherModelObject =& ClassRegistry::getObject(Inflector::underscore($objModel->tableToModel[$value['table']]));
$displayField = $otherModelObject->getDisplayField();
$displayText = $data[$alias[$count]][$displayField];
if(!empty($data[$objModel->tableToModel[$objModel->table]][$field]) && (isset($displayText)))
{
echo "<dd>".$html->link($displayText, '/'.Inflector::underscore($value['controller']).'/show/'
.$data[$objModel->tableToModel[$objModel->table]][$field] )."</dd>";
}
else
{
echo "<dd>&nbsp;</dd>";
}
$count++;
}
else
{
if( !empty($data[$objModel->tableToModel[$objModel->table]][$field]))
{
echo "<dd>".$data[$objModel->tableToModel[$objModel->table]][$field]."</dd>";
}
else
{
echo "<dd>&nbsp;</dd>";
}
}
}
?>
</dl>
<ul class='actions'>
<?php
echo "<li>".$html->link('Edit '.Inflector::humanize($objModel->name), '/'.$this->viewPath.'/edit/'.$data[$objModel->tableToModel[$objModel->table]][$this->controller->{$modelName}->primaryKey])."</li>";
echo "<li>".$html->link('Delete '.Inflector::humanize($objModel->name), '/'.$this->viewPath.'/delete/'.$data[$objModel->tableToModel[$objModel->table]][$this->controller->{$modelName}->primaryKey])."</li>";
echo "<li>".$html->link('List '.Inflector::humanize($objModel->name), '/'.$this->viewPath.'/index')."</li>";
echo "<li>".$html->link('New '.Inflector::humanize($objModel->name), '/'.$this->viewPath.'/add')."</li>";
foreach( $fieldNames as $field => $value )
{
if( isset( $value['foreignKey'] ) )
{
echo "<li>".$html->link( "List ".Inflector::humanize($value['controller']), "/".Inflector::underscore($value['controller'])."/index/")."</li>";
}
}
?>
</ul>
<!--hasOne relationships -->
<?php
foreach ($objModel->hasOne as $association => $relation)
{
$model = $relation['className'];
$otherModelName = $objModel->tableToModel[$objModel->{$model}->table];
$controller = Inflector::pluralize($model);
$new = true;
echo "<div class='related'><H2>Related ".Inflector::humanize($association)."</H2>";
echo "<dl>";
if(isset($data[$association]) && is_array($data[$association]))
{
foreach($data[$association] as $field => $value)
{
if(isset($value))
{
echo "<dt>".Inflector::humanize($field)."</dt>";
if(!empty($value))
{
echo "<dd>".$value."</dd>";
}
else
{
echo "<dd>&nbsp;</dd>";
}
$new = null;
}
}
echo "</dl>";
if($new == null)
{
echo "<ul class='actions'><li>".$html->link('Edit '.Inflector::humanize($association),"/".Inflector::underscore($controller)."/edit/{$data[$association][$objModel->{$model}->primaryKey]}")."</li></ul></div>";
}
else
{
echo "<ul class='actions'><li>".$html->link('New '.Inflector::humanize($association),"/".Inflector::underscore($controller)."/add/{$data[$association][$objModel->{$model}->primaryKey]}")."</li></ul></div>";
}
}
}
?>
<!-- HAS MANY AND HASANDBELONGSTOMANY -->
<?php
$relations = array_merge($objModel->hasMany, $objModel->hasAndBelongsToMany);
foreach($relations as $association => $relation)
{
$model = $relation['className'];
$count = 0;
$otherModelName = Inflector::singularize($model);
$controller = Inflector::pluralize($model);
echo "<div class='related'><H2>Related ".Inflector::humanize(Inflector::pluralize($association))."</H2>";
if(isset($data[$association]) && is_array($data[$association]))
{
?>
<table class="inav" cellspacing="0">
<tr>
<?php
$bFound = false;
foreach($data[$association][0] as $column=>$value)
{
echo "<th>".Inflector::humanize($column)."</th>";
}
?>
<th>Actions</th>
</tr>
<?php
foreach($data[$association] as $row)
{
echo "<tr>";
foreach($row as $column=>$value)
{
echo "<td>".$value."</td>";
}
if (isset($this->controller->{$modelName}->{$association}))
{
?>
<td class="listactions"><?php echo $html->link('View',"/".Inflector::underscore($controller).
"/show/{$row[$this->controller->{$modelName}->{$association}->primaryKey]}/")?>
<?php echo $html->link('Edit',"/".Inflector::underscore($controller).
"/edit/{$row[$this->controller->{$modelName}->{$association}->primaryKey]}/")?>
<?php echo $html->link('Delete',"/".Inflector::underscore($controller).
"/delete/{$row[$this->controller->{$modelName}->{$association}->primaryKey]}/")?>
</td>
<?php
}
else
{
?>
<td class="listactions"><?php echo $html->link('View',"/".Inflector::underscore($controller).
"/show/{$row[$this->controller->{$modelName}->primaryKey]}/")?>
<?php echo $html->link('Edit',"/".Inflector::underscore($controller).
"/edit/{$row[$this->controller->{$modelName}->primaryKey]}/")?>
<?php echo $html->link('Delete',"/".Inflector::underscore($controller).
"/delete/{$row[$this->controller->{$modelName}->primaryKey]}/")?>
</td>
<?php
}
echo "</tr>";
}
}
?>
</table>
<ul class="actions">
<?php
echo "<li>".$html->link('New '.Inflector::humanize($association),"/".Inflector::underscore($controller)."/add/")."</li>";
?>
</ul></div>
<?php
}
?>