File: //opt/cpanel/ea-php54/root/usr/share/pear/RVSeagullMod/lib/RVSGL/SitebuilderDao/NavigatorDao.php
<?php
/* Reminder: always indent with 4 spaces (no tabs). */
// +---------------------------------------------------------------------------+
// WebSite: http://www.rvglobalsoft.com
// Unauthorized copying is strictly forbidden and may result in severe legal action.
// Copyright (c) 2006 RV Global Soft Co.,Ltd. All rights reserved.
//
// =====YOU MUST KEEP THIS COPYRIGHTS NOTICE INTACT AND CAN NOT BE REMOVE =======
// Copyright (c) 2006 RV Global Soft Co.,Ltd. All rights reserved.
// This Agreement is a legal contract, which specifies the terms of the license
// and warranty limitation between you and RV Global Soft Co.,Ltd. and RV Site Builder.
// You should carefully read the following terms and conditions before
// installing or using this software. Unless you have a different license
// agreement obtained from RV Global Soft Co.,Ltd., installation or use of this software
// indicates your acceptance of the license and warranty limitation terms
// contained in this Agreement. If you do not agree to the terms of this
// Agreement, promptly delete and destroy all copies of the Software.
//
// ===== Grant of License =======
// The Software may only be installed and used on a single host machine.
//
// ===== Disclaimer of Warranty =======
// THIS SOFTWARE AND ACCOMPANYING DOCUMENTATION ARE PROVIDED "AS IS" AND
// WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER
// WARRANTIES WHETHER EXPRESSED OR IMPLIED. BECAUSE OF THE VARIOUS HARDWARE
// AND SOFTWARE ENVIRONMENTS INTO WHICH RV SITE BUILDER MAY BE USED, NO WARRANTY OF
// FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. THE USER MUST ASSUME THE
// ENTIRE RISK OF USING THIS PROGRAM. ANY LIABILITY OF RV GLOBAL SOFT CO.,LTD. WILL BE
// LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.
// IN NO CASE SHALL RV GLOBAL SOFT CO.,LTD. BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR
// CONSEQUENTIAL DAMAGES OR LOSS, INCLUDING, WITHOUT LIMITATION, LOST PROFITS
// OR THE INABILITY TO USE EQUIPMENT OR ACCESS DATA, WHETHER SUCH DAMAGES ARE
// BASED UPON A BREACH OF EXPRESS OR IMPLIED WARRANTIES, BREACH OF CONTRACT,
// NEGLIGENCE, STRICT TORT, OR ANY OTHER LEGAL THEORY. THIS IS TRUE EVEN IF
// RV GLOBAL SOFT CO.,LTD. IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO CASE WILL
// RV GLOBAL SOFT CO.,LTD.'S LIABILITY EXCEED THE AMOUNT OF THE LICENSE FEE ACTUALLY PAID
// BY LICENSEE TO RV GLOBAL SOFT CO.,LTD.
// +---------------------------------------------------------------------------+
// $Id$
// +---------------------------------------------------------------------------+
/**
* Data access methods for the navigator of RVSiteBuilder
*
* @package sitebuilder
* @author Pairote Manunphol <pairote@rvglobalsoft.com>
* @author Parinya <parinya@rvglobalsoft.com>
* @version $Revision$
* @since PHP 5.1
*/
class NavigatorDao extends DbWrapper implements SitebuilderInf
{
function NavigatorDao()
{
parent::DbWrapper();
}
/**
* Returns a singleton NavigatorDao instance.
*
* @param bool $autoload
* @return obj
*/
public static function singleton($autoload=false)
{
static $instance;
// If the instance is not there, create one
if (!isset($instance) || $autoload) {
$class = __CLASS__;
$instance = new $class();
}
return $instance;
}
/**
* Select navigator data by navigator id and|or navigator name id and|or $menustyle id and|or color group id
* @author Parinya Chaipetch
*
* @param string $navigatorId
* @param string $navigatorNameId
* @param string $menustyleId
* @param string $colorGroupId
* @param string $fetchMode
* @access public
* @return array
*/
public function findNavigatorByNavigatorData($navigatorId=null, $navigatorNameId=null, $menustyleId=null, $colorGroupId=null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
$query = sprintf('
SELECT
*
FROM
%s na
, %s nv
, %s rf
WHERE
na.navigator_name_id = nv.navigator_name_id
%s
%s
%s
%s
'
, $this->aConf['table']['rvs_navigator_name']
, $this->aConf['table']['rvs_navigator']
, $this->aConf['table']['rvs_navigator_color_xref']
, ($navigatorNameId) ? ' AND na.navigator_name_id = ' . RvsLibs_String::quoteSmart($navigatorNameId) : ''
, ($menustyleId) ? ' AND nv.menustyle_id = ' . RvsLibs_String::quoteSmart($menustyleId) : ''
, ($colorGroupId) ? ' AND rf.color_group_id = ' . RvsLibs_String::quoteSmart($colorGroupId) : ''
, ($navigatorId) ? ' AND nv.navigator_id = ' . RvsLibs_String::quoteSmart($navigatorId) : ' AND rf.navigator_id = nv.navigator_id'
);
$oNavigator->query($query);
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
/**
* Find Data from table rvs_navigator and rvs_navigator_name By NavigatorNameId navigator_name_id and navigator_name_id
*
* Resulting SQ
* SELECT
* *
* FROM
* rvs_navigatorna
* , rvs_navigator_name nm
* WHERE
* na.navigator_name_id = nm.navigator_name_id
* AND
* nm.navigator_name_id = {$navigatorNameId}
*
* @param string $navigatorNameId
* @param string $fetchMode
* @return object
*/
public function findNavigatorDataByNavigatorNameId($navigatorNameId = null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($navigatorNameId)) {
$query = sprintf('
SELECT
*
FROM
%s na
, %s nm
WHERE
na.navigator_name_id = nm.navigator_name_id
AND
nm.navigator_name_id = %s
'
, $this->aConf['table']['rvs_navigator']
, $this->aConf['table']['rvs_navigator_name']
, RvsLibs_String::quoteSmart($navigatorNameId)
);
$oNavigator->query($query);
}
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
/**
* Find Data from table rvs_navigator and rvs_navigator_name DISTINCT na.navigator_name_id, na.navigator_name By NavigatorNameId navigator_name_id and navigator_name_id
*
* @param string $navigatorNameId
* @param string $fetchMode
* @return object
*/
public function findNavigatorDataDistinctByNavigatorIdAndName($navigatorNameId = null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($navigatorNameId)) {
$query = sprintf('
SELECT
DISTINCT na.navigator_name_id,
na.navigator_name
FROM
%s nv,
%s na
WHERE
nv.menustyle_id = %s
AND nv.navigator_name_id = na.navigator_name_id
ORDER BY
na.navigator_name_id
',
$this->aConf['table']['rvs_navigator'],
$this->aConf['table']['rvs_navigator_name'],
RvsLibs_String::quoteSmart($navigatorNameId)
);
$oNavigator->query($query);
}
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
/**
* Find NavigatorData from table rvs_navigator and rvs_navigator_name By navigator_name_id, menustyle_id , navigator_id
*
* @author duangdao.k
* @param string $menustyleId
* @param string $defNavigatorId
* @param string $fetchMode
* @return object
*/
public function findNavigatorDataByMenustyleIdAnDefNavigatorId($menustyleId = null, $defNavigatorId = null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($menustyleId) && !is_null($defNavigatorId)) {
$query = sprintf('
SELECT
*
FROM
%s na
, %s nm
WHERE
na.navigator_name_id = nm.navigator_name_id
AND
na.menustyle_id = %s
AND
na.navigator_id = %s
'
, $this->aConf['table']['rvs_navigator']
, $this->aConf['table']['rvs_navigator_name']
, RvsLibs_String::quoteSmart($menustyleId)
, RvsLibs_String::quoteSmart($defNavigatorId)
);
$oNavigator->query($query);
}
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
/*
$query = "
SELECT
*
FROM
{$this->conf['table']['rvs_navigator']} n
, {$this->conf['table']['rvs_navigator_name']} na
WHERE
n.navigator_name_id = na.navigator_name_id
AND n.navigator_id = '$navigatorId'
AND n.menustyle_id = '$menustyleId'
";
$res = $this->dbh->getRow($query);
*/
public function findNavigatorNameByNavigatorIdAndMenustyleId($navigatorId = null, $menustyleId = null, $fetchMode = 'getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($navigatorId) && !is_null($menustyleId)) {
$query = sprintf('
SELECT
*
FROM
%s n
, %s na
WHERE
n.navigator_name_id = na.navigator_name_id
AND n.navigator_id = %s
AND n.menustyle_id = %s
'
, $this->aConf['table']['rvs_navigator']
, $this->aConf['table']['rvs_navigator_name']
, RvsLibs_String::quoteSmart($navigatorId)
, RvsLibs_String::quoteSmart($menustyleId)
);
$oNavigator->query($query);
}
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
/**
* Find TemplateData And NavigatorData AndNavigatorNameDataBy NavigatorId
* Resulting SQL
*
* SELECT
* *
* FROM
* rvs_template as tp
* , rvs_navigator as na
* , rvs_navigator_name as nn
* WHERE
* tp.navigator_id = na.navigator_id
* AND nn.navigator_name_id = na.navigator_name_id
* AND tp.template_id = {$templateId}
*
* @author duangdao.k
* @param string $templateId
* @param string $fetchMode
* @return object
*/
public function findTemplateDataAndNavigatorDataAndNavigatorNameDataByNavigatorId($templateId = null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
$query = sprintf('
SELECT
*
FROM
%s tp
, %s na
, %s nn
WHERE
tp.navigator_id = na.navigator_id
AND nn.navigator_name_id = na.navigator_name_id
AND tp.template_id = %s
'
, $this->aConf['table']['rvs_template']
, $this->aConf['table']['rvs_navigator']
, $this->aConf['table']['rvs_navigator_name']
, RvsLibs_String::quoteSmart($templateId)
);
$oNavigator->query($query);
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
public function findNavigatorNameByNavigatorNameId($navigatorNameId, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator_name']);
if (!is_null($navigatorNameId)) {
$oNavigator->navigator_name_id = $navigatorNameId;
}
$oNavigator->find();
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
public function findNavigatorId($navigatorNameId=null, $menustyleId=null, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($navigatorNameId)) {
$oNavigator->navigator_name_id = $navigatorNameId;
}
if (!is_null($menustyleId)) {
$oNavigator->menustyle_id = $menustyleId;
}
$oNavigator->find();
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
public function findNavigatorByNavigatorId($navigatorId, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oNavigator = DB_DataObject::factory($this->aConf['table']['rvs_navigator']);
if (!is_null($navigatorId)) {
$oNavigator->navigator_id = $navigatorId;
}
$oNavigator->find();
$aCloneData = array();
while ($oNavigator->fetch()) {
$aCloneData[] = clone($oNavigator);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oNavigator->_resultFields, $aCloneData, $fetchMode);
}
public function backupsql($projectId, $usrId)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$aSQLData = array();
$aTemplate = array();
$aNavigator = array();
$aProjectInfo = array();
$aNavigatorName = array();
/// Get Project info id By project_id
$aProjectInfo = DaoFactory::Project()->findProjectInfoDataByProjectId($projectId, 'getDataObject');
if (count($aProjectInfo) > 0) {
///find navigator name data by navigator_Name_id
if (!empty($aProjectInfo[0]->navigator_name_id)) {
$aNavigatorName = DaoFactory::Navigator()->findNavigatorNameByNavigatorNameId($aProjectInfo[0]->navigator_name_id, 'getDataObject');
foreach ($aNavigatorName as $oNavigatorName) {
$aSQLData[] = DbWrapper::buildSQLFormat($oNavigatorName);
}
}
if (!empty($aProjectInfo[0]->template_item_id)) {
$aTemplate = DaoFactory::Template()->findTemplateAndTemplateItemByTemplateItemId($aProjectInfo[0]->template_item_id, 'getDataObject');
foreach ($aTemplate as $key => $oTemplate) {
$aNavigator = DaoFactory::Navigator()->findNavigatorByNavigatorId($oTemplate->navigator_id, 'getDataObject');
foreach ($aNavigator as $oNavigator) {
$aSQLData[] = DbWrapper::buildSQLFormat($oNavigator);
}
}
}
}
return $aSQLData;
}
public function deleteProjectOfUserId($projectId, $usrId, $aProjectPageId = array()) {
SGL::logMessage(null, PEAR_LOG_DEBUG);
}
}
?>