<?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.studio
* @copyright Copyright (c) 2006 Entier Studio team. All rights reserved.
* @version $Id: proc.ElementModelWriter.php 86 2008-01-23 21:54:51Z yannromefort $
*/
//-----------------------------------------------------------------------------
// namespace
if (!defined("DefElementModelWriter")) {
//-------------------------------------------------------------------------
// Define
define("DefElementModelWriter", "1");
//-------------------------------------------------------------------------
// Include
@require_once (INTERCHANGE_PROC. "proc.ElementPackageWriter.php");
@require_once (INTERCHANGE_DATA. "data.InterchangeDirectoryProject.php");
//-------------------------------------------------------------------------
// Class
class ElementModelWriter extends ElementWriter {
//---------------------------------------------------------------------
// Constructor
/**
*
*/
function ElementModelWriter() {
//
}
//---------------------------------------------------------------------
// Methods
/**
*
* @access protected
*
* @param object name="datasource"
* @param object name="template"
* @param integer name="handle"
* @param integer name="key"
* @return boolean
*/
function addModelProject(&$datasource, &$template, $handle, $key) {
// 1- Project
$project = new InterchangeDirectoryProject($key);
if (true == $project->selectRow($datasource)) {
//
$template->assign($project->fieldSet() , NULL, $handle);
//
return (true);
}
//
return (false);
}
/**
*
* @access public
*
* @param object name="datasource"
* @param object name="template"
* @param array name="element"
* @param integer name="handle"
*
* @return boolean
*/
function addElement(&$datasource, &$template, &$element, $handle) {
//
$template->assign($element, NULL, $handle);
// Properties
if (false == $this->addPropertySet($datasource, $template, $handle, "model-properties", $element["OBJELEMPKID"]))
return (false);
//
// Project
if (false == $this->addModelProject($datasource, $template, $handle, $element["OBJECTOPKID"]))
return (false);
//
// Packages
$writer = new ElementPackageWriter();
return ($writer->addPackageSet($datasource, $template, $handle, "package-packages", $element["OBJELEMPKID"]));
}
};
// Class
//-------------------------------------------------------------------------
}
// namespace
//-----------------------------------------------------------------------------
?>