<?php
/**
* Entier Studio
*
* LICENSE
*
* Copyright 2006 Entier Studio team.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @package entier.framework
* @copyright Copyright (c) 2006 Entier Studio team. All rights reserved.
* @version $Id: htmlcheckboxlist.php 81 2008-01-17 23:08:21Z yannromefort $
*/
//-----------------------------------------------------------------------------
// namespace
if (!defined("DefHTMLCheckBoxList")) {
//-------------------------------------------------------------------------
// Define
define("DefHTMLCheckBoxList", "1");
//-------------------------------------------------------------------------
// Include
@require_once (FRAMEWORK_DIR . "htmlhelper.php");
//-------------------------------------------------------------------------
// Class
class HTMLCheckBoxList extends HTMLHelper {
//---------------------------------------------------------------------
// Constructor
/*
*
*/
function HTMLCheckBoxList($layout, $class) {
//
$this->m_layoutName = $layout;
$this->m_className = $class;
}
//---------------------------------------------------------------------
// Methods
/*
*
* @access public
*
* @param object DataSource object
* @param object DataObject object
* @param integer selected item value
* @return string
*
*/
function renderObject(&$datasource, &$dataobject, $value = 0) {
//
$format1 = "<input value=\"%s\" selected>%s</option>";
$format2 = "<input value=\"%s\">%s</option>";
//
$name = $this->m_layoutName;
$class = $this->m_className;
$default = $this->m_defaultItem;
//
if ($class != "") {
$format1 = "<input type=checkbox checked id=\"$name\" name=\"$name\" class=\"$class\">%s";
$format2 = "<input type=checkbox id=\"$name\" name=\"$name\" class=\"$class\">%s";
} else {
$format1 = "<input type=checkbox checked id=\"$name\" name=\"$name\">%s";
$format2 = "<input type=checkbox id=\"$name\" name=\"$name\">%s";
}
//
if ($dataobject->set_cursor_value($datasource, 0) == false) return (false);
//
$primaryKey = $dataobject->m_indexSet[PRIMARYKEY];
$naturalKey = $dataobject->m_indexSet[NATURALKEY];
//
for ($i = 0;$i < $dataobject->rowCount();$i++) {
//
if ($dataobject->fetchCursorRow($datasource) == false) return (false);
//
$pkid = $dataobject->get_field_value($primaryKey);
$name = $dataobject->get_field_value($naturalKey);
if ($pkid == $value) $template.= @sprintf($format1, $pkid, $name);
else $template.= @sprintf($format2, $pkid, $name);
}
//
return ($template . "</select>");
}
};
// Class
//-------------------------------------------------------------------------
}
// namespace
//-----------------------------------------------------------------------------
?>