File: //proc/self/root/usr/local/lib/php/RVSeagullMod/lib/RVSGL/SitebuilderDao/ProjectLayoutPageDao.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 project layout page of RVSiteBuilder
*
* @package sitebuilder
* @author Pairote Manunphol <pairote@rvglobalsoft.com>
* @author Parinya <parinya@rvglobalsoft.com>
* @version $Revision$
* @since PHP 5.1
*/
class ProjectLayoutPageDao extends DbWrapper implements SitebuilderInf
{
function ProjectLayoutPageDao()
{
parent::DbWrapper();
}
/**
* Returns a singleton ProjectLayoutPageDao 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;
}
/**
* Find Project layout page
* @author pharadol
* @param <string> $projectId
* @param <string> $fetchMode
* @return array
* form file ImportProjectMgr.php
/*
$query = "
SELECT
project_page_id
FROM
{$this->conf['table']['rvs_project_layout_page']}
WHERE
project_id = '$input->project_id'
ORDER BY
'project_page_id'
";
$pageLayout = $this->dbh->getAll($query,DB_FETCHMODE_ASSOC);
*/
public function findProjectLayoutPage($projectId, $fetchMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
/*
$oProjectLayoutPage->selectAdd();
$oProjectLayoutPage->selectAdd('project_page_id');
$oProjectLayoutPage->project_id = $projectId;
$oProjectLayoutPage->find();
*/
$query = sprintf('
SELECT DISTINCT
project_page_id
FROM
%s
WHERE
project_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find ComponentId By ProjectId from rvs_project_layout_page and rvs_project_page table
* @author Pornthip Phothong
* @param $exportProjectId
* @param $fetchMode
* @return array obj
*/
public function findComponentIdByProjectId($exportProjectId=null, $fetchMode='getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($exportProjectId)) {
$query = sprintf( '
SELECT DISTINCT
rvs_component_id
FROM
%s lp
, %s pp
WHERE
lp.project_id = %s
AND pp.rvs_component_id != ""
AND pp.rvs_component_id != "0"
AND lp.project_page_id = pp.project_page_id
'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, RvsLibs_String::quoteSmart($exportProjectId)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find Paage Structure By OwnerUserId
* @author Pharadol
* @param <string> $uid
* @param <string> $fetchMode
* @return array
* form file PageSturctrueMgr.php
/*
$query = "
SELECT
al.layout_name
, al.rvs_category_id
, al.admin_layout_id
FROM
{$this->conf['table']['rvs_admin_layout']} al
WHERE
al.rvs_owner_usr_id = '$uid'
";
$res = $this->dbh->getAll($query,DB_FETCHMODE_ASSOC);
*/
public function findPageStructureByOwnerUsrId($uid = null, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($uid)) {
$query = sprintf('
SELECT
al.layout_name
, al.rvs_category_id
, al.admin_layout_id
FROM
%s al
WHERE
al.rvs_owner_usr_id = %s
'
, $this->aConf['table']['rvs_admin_layout']
, RvsLibs_String::quoteSmart($uid)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find Count Page By Project Id
* @author Pharadol
* @param <string> $projectId
* @param <string> $fetchMode
* @return <array>
* form file PageStructureMgr.php
/*
$query = "
SELECT
*
FROM
{$this->conf['table']['rvs_project_layout_page']}
WHERE
project_id = '$input->project_id'
";
$countPage = $this->dbh->getAll($query);
*/
public function findCountPageByProjectId($projectId = null, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectId)) {
$query = sprintf('
SELECT
*
FROM
%s
WHERE
project_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find page layout by usrid and project id
* @author Pharadol
* @param <string> $projectId
* @param <string> $usrId
* @param <string> $fetchMode
* @return array
* form file PageStructureMgr.php
/*
$query0 = "
SELECT
pa.project_page_id
FROM
{$this->conf['table']['rvs_project_layout_page']} as pl
, {$this->conf['table']['rvs_project_page']} as pa
WHERE
pa.project_page_id = pl.project_page_id
AND pa.rvs_usr_id = '$input->rvs_usr_id'
AND pl.project_id = '$input->project_id'
";
$result0 = $this->dbh->getAll($query0);
*/
public function findPageLayoutByUsrIdAndProjectId($projectId = null, $usrId = null, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectId) && !is_null($usrId)) {
$query = sprintf('
SELECT
pa.project_page_id
FROM
%s as pl
, %s as pa
WHERE
pa.project_page_id = pl.project_page_id
AND pa.rvs_usr_id = %s
AND pl.project_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, RvsLibs_String::quoteSmart($usrId)
, RvsLibs_String::quoteSmart($projectId)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find project page Is component by usrid and projectid
* @othor pharadol
* @param <string> $rvsUsrId
* @param <string> $projectId
* @param <string> $fecthMode
* @return array
* form file common.php
*/
public function findProjectPageIsComponentByUsrIdAndProjectId($rvsUsrId = null, $projectId = null, $fecthMode = 'getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($rvsUsrId) && !is_null($projectId)) {
$query = sprintf('
SELECT
pp.project_page_id
, pp.page_name
, pp.rvs_usr_id
, pp.rvs_component_id
, pp.form_template_id
, pp.page_data
FROM
%s as lp
, %s as pp
WHERE
pp.rvs_component_id != "0"
AND lp.project_page_id = pp.project_page_id
AND lp.project_id = %s
AND pp.rvs_usr_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($rvsUsrId)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[]= clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fecthMode);
}
public function findProjectLayoutPageByProjectId($projectId, $projectPageId=null, $fetchMode = 'gatassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectPageId)) {
$oProjectLayoutPage->project_page_id = $projectPageId;
}
$oProjectLayoutPage->project_id = $projectId;
$oProjectLayoutPage->find();
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find PageLayout By ComponentName And ProjectId And UserId And OwnerId from table rvs_component and rvs_project and rvs_project_layout_page and rvs_project_page
* @author Pornthip Phothong
* @param $componentName
* @param $projectId
* @param $userId
* @param $ownerId
* @param $fecthMode
* @return array
/* $query = "SELECT DISTINCT (p.project_id), l.project_page_id , j.page_name , cp.rvs_component_id ,cp.component_name , cp.rvs_owner_usr_id
FROM
{$this->conf['table']['rvs_project']} as p,
{$this->conf['table']['rvs_project_layout_page']} as l ,
{$this->conf['table']['rvs_project_page']} as j ,
{$this->conf['table']['rvs_component']} as cp
WHERE p.project_id = '$projectID'
AND p.rvs_usr_id ='$userID'
AND cp.rvs_owner_usr_id ='$ownerID'
AND p.project_id = l.project_id
AND l.project_page_id = j.project_page_id
AND j.rvs_component_id = cp.rvs_component_id
AND cp.component_name = '$componentName'
";
$aUserCompoDBData = $this->dbh->getAll($query, DB_FETCHMODE_ASSOC);
*/
public function findPageLayoutByComponentNameAndProjectIdAndUserIdAndOwnerId($componentName=null, $projectId=null, $userId=null, $ownerId=null, $fecthMode='getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oComponent = DB_DataObject::factory($this->aConf['table']['rvs_component']);
if (!is_null($projectId)) {
$query = sprintf('
SELECT
DISTINCT (p.project_id)
, l.project_page_id
, j.page_name
, cp.rvs_component_id
, cp.component_name
, cp.rvs_owner_usr_id
FROM
%s as p
, %s as l
, %s as j
, %s as cp
WHERE
p.project_id = l.project_id
AND l.project_page_id = j.project_page_id
AND j.rvs_component_id = cp.rvs_component_id
AND p.project_id = %s
AND p.rvs_usr_id = %s
AND cp.rvs_owner_usr_id = %s
AND cp.component_name = %s
'
, $this->aConf['table']['rvs_project']
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, $this->aConf['table']['rvs_component']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($userId)
, RvsLibs_String::quoteSmart($ownerId)
, RvsLibs_String::quoteSmart($componentName)
);
$oComponent->query($query);
}
$aCloneData = array();
while ($oComponent->fetch()) {
$aCloneData[]= clone($oComponent);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oComponent->_resultFields, $aCloneData, $fecthMode);
}
/**
* Find Parent_Project_Page_Id By project_Page_Id for main page have sub page // หาว่า ใน page หลัก มี sub page
*
* @param string $projectId
* @author duangdao.k
* @param string $fetchMode
* @return array
*/
public function findParentProjectPageIdByprojectPageId($projectId = null, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectId)) {
$query = sprintf('
SELECT
DISTINCT parent_project_page_id
FROM
%s
WHERE
project_id = %s
AND parent_project_page_id != %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart(0)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find project_page_id from rvs_project_layout_page By project_page_id
*
* @param string $projectpageId
* @param string $projectId
* @param string $fetchMode
* @author duangdao.k
* @return array
*/
public function findProjectPageLayoutByprojectPageId($projectpageId = null, $projectId, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectpageId) && !is_null($projectId)) {
$query = sprintf('
SELECT
project_page_id
FROM
%s
WHERE
project_page_id = %s
AND project_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectpageId)
, RvsLibs_String::quoteSmart($projectId)
);
$oProjectLayoutPage->query($query);
}
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find rvslayout default from rvs_layout_page
* @param string $fetchMode
* @author darawan taorong
* @return array
*/
public function findRvsListLayout($rvsLayoutId = '', $fetchMode = 'getarray')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout']);
$query = sprintf('
SELECT
rvs_layout_id
, layout_name
, layout_image
, layout_data
, num_of_zone
, num_of_colums
FROM
%s
WHERE
responsive_layout != 1
%s
ORDER BY rvs_layout_id
'
, $this->aConf['table']['rvs_layout']
, (isset($rvsLayoutId) && $rvsLayoutId != '' && $rvsLayoutId != '0')
? sprintf(' AND rvs_layout_id= %s',RvsLibs_String::quoteSmart($rvsLayoutId))
: ''
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find rvslayout default from rvs_layout_page
* @param string $fetchMode
* @author darawan taorong
* @return array
*/
public function findResponsiveListLayout($rvsLayoutId = '', $fetchMode = 'getarray')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout']);
$query = sprintf('
SELECT
rvs_layout_id
, layout_name
, layout_image
, layout_data
, num_of_zone
, num_of_colums
FROM
%s
WHERE
responsive_layout = 1
%s
ORDER BY rvs_layout_id
'
, $this->aConf['table']['rvs_layout']
, (isset($rvsLayoutId) && $rvsLayoutId != '' && $rvsLayoutId != '0')
? sprintf(' AND rvs_layout_id = %s',RvsLibs_String::quoteSmart($rvsLayoutId))
: ''
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find rvslayout default from rvs_layout_page
* @param string $fetchMode
* @author darawan taorong
* @return array
*/
public function findResponsiveLayoutByName($layoutName = '', $fetchMode = 'getarray')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout']);
$query = sprintf('
SELECT
rvs_layout_id
, layout_name
, layout_image
, layout_data
, num_of_zone
, num_of_colums
FROM
%s
WHERE
responsive_layout = 1
%s
ORDER BY rvs_layout_id
'
, $this->aConf['table']['rvs_layout']
, (isset($layoutName) && $layoutName != '' && $layoutName != '0')
? sprintf(' AND layout_name = %s', RvsLibs_String::quoteSmart($layoutName))
: ''
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
*
* Enter description here ...
* @param $projectId
* @param $projectPageId
* @param $fetchMode
*/
public function findLayoutTemplateUser($projectId, $projectPageId=null, $fetchMode = 'getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$query = sprintf('
SELECT
*
FROM
%s as lt
, %s as pl
WHERE
pl.layout_template_user_id = lt.layout_template_user_id
AND pl.project_id = %s
%s
;'
, $this->aConf['table']['rvs_layout_template_user']
, $this->aConf['table']['rvs_project_page_to_layout']
, RvsLibs_String::quoteSmart($projectId)
, (empty($projectPageId)) ? '' : 'AND pl.project_page_id = ' . RvsLibs_String::quoteSmart($projectPageId)
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
public function findLayoutTemplateUserByLayoutTemplateUserId($layoutTemplateUserId, $fetchMode = 'getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$oProjectLayoutPage->layout_template_user_id = $layoutTemplateUserId;
$oProjectLayoutPage->find();
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
*
* Enter description here ...
* @param $projectId
* @param $projectPageId
* @param $fetchMode
*/
public function findNameLayoutTemplateUser($projectId, $projectPageId=null, $fetchMode = 'getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$query = sprintf('
SELECT
lt.layout_template_user_id
, lt.layout_template_name
FROM
%s as lt
, %s as pl
WHERE
pl.layout_template_user_id = lt.layout_template_user_id
AND pl.project_id = %s
%s
;'
, $this->aConf['table']['rvs_layout_template_user']
, $this->aConf['table']['rvs_project_page_to_layout']
, RvsLibs_String::quoteSmart($projectId)
, (empty($projectPageId)) ? '' : 'AND pl.project_page_id = ' . RvsLibs_String::quoteSmart($projectPageId)
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find rvslayout default from rvs_layout_page
* @param string $projectpageId
* @param string $fetchMode
* @author darawan taorong 15/12/52
* @return array
*/
public function findRvsSuggestionLayoutByProjectPageId($rvsLayoutId = '', $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oOutSuggestLayout = DB_DataObject::factory($this->aConf['table']['rvs_out_suggestion_layout']);
$query = sprintf('
SELECT
distinct sl.rvs_layout_id
, sl.zone_block_id_1
, sl.zone_block_id_2
, sl.zone_block_id_3
, sl.zone_block_id_4
, rl.layout_data
, rl.num_of_zone
, rl.num_of_colums
FROM
%s sl inner join
%s rl on sl.rvs_layout_id = rl.rvs_layout_id
WHERE
rl.responsive_layout != 1
%s
ORDER BY
sl.rvs_layout_id
'
, $this->aConf['table']['rvs_out_suggestion_layout']
, $this->aConf['table']['rvs_layout']
, (isset($rvsLayoutId) && $rvsLayoutId != '' && $rvsLayoutId != '0')
? sprintf(' AND sl.rvs_layout_id = %s',RvsLibs_String::quoteSmart($rvsLayoutId))
: ''
);
$oOutSuggestLayout->query($query);
$aCloneData = array();
while ($oOutSuggestLayout->fetch()) {
$aCloneData[] = clone($oOutSuggestLayout);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oOutSuggestLayout->_resultFields, $aCloneData, $fetchMode);
}
/**
* find rvsBlock from rvs_Block
* @param string $rvs_block_id
* @param string $fetchMode
* @author darawan taorong 15/12/52
* @return array
*/
public function findRvsBlockByrvsBlockId($rvsBlockId = null, $fetchMode = 'getassoc')
{
DB_DataObject::debugLevel(0);
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oRvsBlock = DB_DataObject::factory($this->aConf['table']['rvs_block']);
$query = sprintf('
SELECT
*
FROM
%s
%s
ORDER BY rvs_block_id
'
, $this->aConf['table']['rvs_block']
, (isset($rvsBlockId) && $rvsBlockId != null) ? sprintf(' WHERE rvs_block_id = %s',RvsLibs_String::quoteSmart($rvsBlockId)) : ''
);
$oRvsBlock->query($query);
$aCloneData = array();
while ($oRvsBlock->fetch()) {
$aCloneData[] = clone($oRvsBlock);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oRvsBlock->_resultFields, $aCloneData, $fetchMode);
}
public function findPageByParentAndMorePriority($parent_project_page_id, $priority, $project_id, $fetchMode='getassoc')
{
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$query = 'SELECT
project_page_id, priority
FROM
' . $this->aConf['table']['rvs_project_layout_page'] . '
WHERE
parent_project_page_id = ' . RvsLibs_String::quoteSmart($parent_project_page_id) . '
AND priority > ' . $priority . '
AND project_id = ' . RvsLibs_String::quoteSmart($project_id) . '
ORDER BY priority';
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
public function findMaxPriority($project_id, $parent_project_page_id, $fetchMode='getOne')
{
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$query = 'SELECT
max(priority)
FROM
' . $this->aConf['table']['rvs_project_layout_page'] . '
WHERE
parent_project_page_id = ' . RvsLibs_String::quoteSmart($parent_project_page_id) . '
AND project_id = ' . RvsLibs_String::quoteSmart($project_id)
;
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
/**
* find IsMemberPage ใน แต่ละ page ของ project ว่า เป็น member?
* @param $projectId
* @param $isMember
* @param $fetchMode
* @author duangdao.k
* @return unknown_type
*/
public function findIsMemberPageByProjectId($projectId=null, $isMember = 0, $fetchMode='getassoc')
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$query = sprintf( '
SELECT
*
FROM
%s lp
, %s pp
WHERE
lp.project_id = %s
AND pp.is_member_page = %s
AND lp.project_page_id = pp.project_page_id
'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, RvsLibs_String::quoteSmart($projectId)
, $isMember
);
$oProjectLayoutPage->query($query);
$aCloneData = array();
while ($oProjectLayoutPage->fetch()) {
$aCloneData[] = clone($oProjectLayoutPage);
}
DB_DataObject::debugLevel();
return DbWrapper::fetchDatas($oProjectLayoutPage->_resultFields, $aCloneData, $fetchMode);
}
//***************************************** INSERT ****************************************************
/**
*
* Enter description here ...
* @param $layoutTemplateUserId
* @param $layoutName
* @param $layoutId
*/
public function insertLayoutTemplateUser($layoutTemplateUserId, $layoutTemplatUserName, $layoutName)
{
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$res = false;
if (!$oProjectLayoutPage->get('layout_template_user_id', $layoutTemplateUserId)) {
$oProjectLayoutPage->layout_template_user_id = $layoutTemplateUserId;
$oProjectLayoutPage->layout_template_name = $layoutTemplatUserName;
$oProjectLayoutPage->layout_name = $layoutName;
$res = $oProjectLayoutPage->insert();
}
return $res;
}
/**
*
* Enter description here ...
* @param $projectPageId
* @param $projectId
* @param $layoutTemplateUserId
*/
public function insertProjectPageToLayout($projectPageId, $projectId, $layoutTemplateUserId)
{
SGL::logMessage('pageId: ' . $projectPageId, PEAR_LOG_DEBUG);
SGL::logMessage('projectId: ' . $projectId, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_page_to_layout']);
$oProjectLayoutPage->project_page_id = $projectPageId;
$oProjectLayoutPage->project_id = $projectId;
$oProjectLayoutPage->layout_template_user_id = $layoutTemplateUserId;
return $oProjectLayoutPage->insert();
}
/**
* Insert Project Layout
* @author Pharadol
* @param <string> $priority
* @param <string> $parentProjectPageId
* @param <string> $projectPageId
* @param <string> $projectId
* form file PageStructrueMgr.php
/*
$query = "
INSERT INTO
{$this->conf['table']['rvs_project_layout_page']} (
project_id
, project_page_id
, parent_project_page_id
, priority
)
VALUES (
'$input->project_id'
, '$input->project_page_id'
, '$input->parent_project_page_id'
, '$input->priority'
)
";
$res = $this->dbh->query($query);
*/
public function insertProjectLayout($priority = null, $parentProjectPageId = null, $projectPageId = null, $projectId = null, $isHome = '0')
{
DB_DataObject::debugLevel();
//SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($priority) && !is_null($parentProjectPageId) && !is_null($projectPageId) && !is_null($projectId)) {
$query = sprintf('
INSERT INTO
%s (
project_id
, project_page_id
, parent_project_page_id
, priority
, is_home
)
VALUES (
%s
, %s
, %s
, %s
, %s
)
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($projectPageId)
, RvsLibs_String::quoteSmart($parentProjectPageId)
, RvsLibs_String::quoteSmart($priority)
, RvsLibs_String::quoteSmart($isHome)
);
$oProjectLayoutPage->query($query);
}
}
//*****************************************UPDATE***************************************************
public function updatePriorityByprojectPageId($projectId = null, $projectPageId = null, $priority = null)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$query = sprintf('
UPDATE
%s
SET
priority = %s
WHERE
project_id = %s
AND project_page_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($priority)
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($projectPageId)
);
$res = $oProjectLayoutPage->query($query);
DB_DataObject::debugLevel();
return $res;
}
/**************************************
* RV.5
***************************************/
public function updateParentPageIdAndPriorityByprojectPageId($projectId = null, $projectPageId = null, $parentPaegId=null,$priority = null)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$query = sprintf('
UPDATE
%s
SET
parent_project_page_id =%s
, priority = %s
WHERE
project_id = %s
AND project_page_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($parentPaegId)
, RvsLibs_String::quoteSmart($priority)
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($projectPageId)
);
$res = $oProjectLayoutPage->query($query);
DB_DataObject::debugLevel();
return $res;
}
public function updatePagedataByProjectIdAndUserId($projectPageId = null, $usrId = null, $pageData=null,$priority = null)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_page']);
$query = sprintf('
UPDATE
%s
SET
page_data = %s
WHERE
project_page_id = %s
AND rvs_usr_id = %s
'
, $this->aConf['table']['rvs_project_page']
, RvsLibs_String::quoteSmart($pageData)
, RvsLibs_String::quoteSmart($projectPageId)
, RvsLibs_String::quoteSmart($usrId)
);
$res = $oProjectLayoutPage->query($query);
DB_DataObject::debugLevel();
return $res;
}
/**
*
* Enter description here ...
* @param $layoutTemplateUserId
* @param $layoutName
* @param $layoutId
*/
public function updateLayoutTemplateUser($layoutTemplateUserId, $layoutTemplateUserName=null, $layoutName=null)
{
if (is_null($layoutTemplateUserName) && is_null($layoutName)) {
return true;
}
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$res = false;
if ($oProjectLayoutPage->get('layout_template_user_id', $layoutTemplateUserId)) {
$oProjectLayoutPage->layout_template_user_id = $layoutTemplateUserId;
if (!is_null($layoutTemplateUserName)) {
$oProjectLayoutPage->layout_template_name = $layoutTemplateUserName;
}
if (!is_null($layoutName)) {
$oProjectLayoutPage->layout_name = $layoutName;
}
$res = $oProjectLayoutPage->update();
}
return $res;
}
//****************************************** DELETE ***************************************************
/**
* delete project layout page by usrid and projectid
* $query = "
DELETE
{$this->conf['table']['rvs_project_layout_page']} as pl
FROM
{$this->conf['table']['rvs_project_layout_page']} as pl
, {$this->conf['table']['rvs_project']} as p
WHERE
pl.project_id = p.project_id
AND pl.project_id = '$input->project_id'
AND p.rvs_usr_id = '$input->rvs_usr_id'
";
* @author pharadol
* @param <string> $projectId
* @param <string> $usrId
* @return true:false
* form file RemoveProjectMgr.php
*/
public function deleteProjectLayoutPage($projectId = null, $usrId = null, $projectPageId = null)
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($projectId)) {
/*
$query = sprintf('
DELETE
%s as pl
, %s as pp
FROM
%s as pl
, %s as pp
, %s as p
WHERE
pl.project_id = p.project_id
AND pl.project_page_id = pp.project_page_id
AND pl.project_id = %s
AND p.rvs_usr_id = %s
%s'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_page']
, $this->aConf['table']['rvs_project']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($usrId)
, (!is_null($projectPageId)) ? 'AND pl.project_page_id =' . RvsLibs_String::quoteSmart($projectPageId) : ''
);
*/
$query = sprintf('
DELETE
FROM
%s
WHERE
project_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
);
$res = $oProjectLayoutPage->query($query);
}
return (isset($res) && $res)? true : false;
}
/* delete project layout page by usrid and projectid used MovePage Step5
* $query = "
DELETE
{$this->conf['table']['rvs_project_layout_page']} as pl
FROM
{$this->conf['table']['rvs_project_layout_page']} as pl
, {$this->conf['table']['rvs_project']} as p
WHERE
pl.project_id = p.project_id
AND pl.project_id = '$input->project_id'
AND p.rvs_usr_id = '$input->rvs_usr_id'
";
* @author duangdao.k
* @param <string> $projectId
* @param <string> $usrId
* @return true:false
*
*/
public function deleteProjectLayoutPageByProjectIdAndUsrId($projectId = null, $usrId = null, $projectPageId = null)
{
DB_DataObject::debugLevel();
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
if (!is_null($usrId) && !is_null($projectId)) {
/*$query = sprintf('
DELETE
%s as pl
FROM
%s as pl
, %s as p
WHERE
pl.project_id = p.project_id
AND pl.project_id = %s
AND p.rvs_usr_id = %s
%s'
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project_layout_page']
, $this->aConf['table']['rvs_project']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($usrId)
, (!is_null($projectPageId)) ? 'AND pl.project_page_id =' . RvsLibs_String::quoteSmart($projectPageId) : ''
);
*/
$query = sprintf('
DELETE
FROM
%s
WHERE
project_id = %s
%s'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
, (!is_null($projectPageId)) ? 'AND project_page_id =' . RvsLibs_String::quoteSmart($projectPageId) : ''
);
$res = $oProjectLayoutPage->query($query);
}
return (isset($res) && $res)? true : false;
}
/**
* Delete Project Layout by projectpageid and usrid and projectId
* @author pharadol
* @param <string> $projectPageId
* @param <string> $usrId
* @param <string> $projectId
* @return <string>
* form file PageStructureMgr.php
/*
$query2= "
DELETE
{$this->conf['table']['rvs_project_layout_page']} as pl
FROM
{$this->conf['table']['rvs_project_layout_page']} as pl
, {$this->conf['table']['rvs_project']} as p
WHERE
pl.project_id = p.project_id
AND pl.project_id = '$input->project_id'
AND p.rvs_usr_id = '$input->rvs_usr_id'
AND pl.project_page_id = '$projectPageId'
";
$res2 = $this->dbh->query($query2);
*/
public function deleteProjectLayoutByProjectPageIdAndUsrIdAndProjectId($projectPageId, $usrId, $projectId)
{
DB_DataObject::debugLevel();
//SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_layout_page']);
$oProjectToLayout = DB_DataObject::factory($this->aConf['table']['rvs_project_page_to_layout']);
$query = sprintf('
DELETE
FROM
%s
WHERE
project_id = %s
AND project_page_id = %s
'
, $this->aConf['table']['rvs_project_page_to_layout']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($projectPageId)
);
$res = $oProjectToLayout->query($query);
$query = sprintf('
DELETE
FROM
%s
WHERE
project_id = %s
AND project_page_id = %s
'
, $this->aConf['table']['rvs_project_layout_page']
, RvsLibs_String::quoteSmart($projectId)
, RvsLibs_String::quoteSmart($projectPageId)
);
$res = $oProjectLayoutPage->query($query);
return (isset($res) && $res)? true : false;
}
public function deleteLayoutTemplateUser($layoutTemplateUserId)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
if ($oProjectLayoutPage->get('layout_template_user_id', $layoutTemplateUserId)) {
$oProjectLayoutPage->layout_template_user_id = $layoutTemplateUserId;
$oProjectLayoutPage->delete();
if (SGL::isError($oProjectLayoutPage)) {
SGL_Error::pop();
return false;
} else {
return true;
}
}
return false;
}
public function deleteProjectPageToLayoutByProjectPageId($projectPageId)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$oProjectLayoutPage = DB_DataObject::factory($this->aConf['table']['rvs_project_page_to_layout']);
if ($oProjectLayoutPage->get('project_page_id', $projectPageId)) {
$oProjectLayoutPage->project_page_id = $projectPageId;
$oProjectLayoutPage->delete();
if (SGL::isError($oProjectLayoutPage)) {
SGL_Error::pop();
return false;
} else {
return true;
}
}
return false;
}
public function findProjectPageToLayoutByProject($projectId, $fecthMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oLayoutTemplate = DB_DataObject::factory($this->aConf['table']['rvs_project_page_to_layout']);
$oLayoutTemplate->project_id = $projectId;
$oLayoutTemplate->find();
$aCloneData = array();
while ($oLayoutTemplate->fetch()) {
$aCloneData[]= clone($oLayoutTemplate);
}
return DbWrapper::fetchDatas($oLayoutTemplate->_resultFields, $aCloneData, $fecthMode);
}
public function findAllBlockToLayout($layoutTemplateUserId, $fecthMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oLayoutTemplate = DB_DataObject::factory($this->aConf['table']['rvs_block_to_layout_template']);
$oLayoutTemplate->layout_template_user_id = $layoutTemplateUserId;
$oLayoutTemplate->find();
$aCloneData = array();
while ($oLayoutTemplate->fetch()) {
$aCloneData[]= clone($oLayoutTemplate);
}
return DbWrapper::fetchDatas($oLayoutTemplate->_resultFields, $aCloneData, $fecthMode);
}
public function findLayoutTemplateById($layoutTemplateUserId, $fecthMode='getassoc')
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
DB_DataObject::debugLevel();
$oLayoutTemplate = DB_DataObject::factory($this->aConf['table']['rvs_layout_template_user']);
$oLayoutTemplate->layout_template_user_id = $layoutTemplateUserId;
$oLayoutTemplate->find();
$aCloneData = array();
while ($oLayoutTemplate->fetch()) {
$aCloneData[]= clone($oLayoutTemplate);
}
return DbWrapper::fetchDatas($oLayoutTemplate->_resultFields, $aCloneData, $fecthMode);
}
public function backupsql($projectId, $usrId, $projectPageId=null)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$aSQLData = array();
$oProjectLayoutPage = $this->findProjectLayoutPageByProjectId($projectId, $projectPageId, 'getDataObject');
foreach ($oProjectLayoutPage as $k => $v) {
$aSQLData[] = DbWrapper::buildSQLFormat($v);
}
//backup rvs_project_page_to_layout
$oLayoutTemplate = $this->findProjectPageToLayoutByProject($projectId, 'getDataObject');
foreach ($oLayoutTemplate as $k => $v) {
$aSQLData[] = DbWrapper::buildSQLFormat($v);
//backup rvs_block_to_layout_template
$blockToLayout = $this->findAllBlockToLayout($v->layout_template_user_id, 'getDataObject');
foreach ($blockToLayout as $v2) {
$aSQLData[] = DbWrapper::buildSQLFormat($v2);
}
// backup rvs_layout_template_user
$layoutTemplate = $this->findLayoutTemplateById($v->layout_template_user_id, 'getDataObject');
foreach ($layoutTemplate as $v3) {
$aSQLData[] = DbWrapper::buildSQLFormat($v3);
}
}
return $aSQLData;
}
public function deleteProjectOfUserId($projectId, $usrId, $aProjectPageId=array())
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
//delete online form
$aProjectPageId = DaoFactory::ProjectLayoutPage()->findProjectLayoutPage($projectId, 'getassoc');
foreach ($aProjectPageId as $pageId => $val) {
$formId = DaoFactory::OnlineForm()->findFormTemplateIdByProjectPageId($pageId, 'getone');
$res = DaoFactory::OnlineForm()->deleteOnlineFormByUsrIdAndProjectId($formId, $pageId, $projectId, $usrId);
}
$result = DaoFactory::ProjectLayoutPage()->deleteProjectLayoutPage($projectId);
}
}
?>