HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //opt/alt/php54/usr/share/pear/RVSeagullMod/lib/RVSGL/SitebuilderDao/TemplateImportDao.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 import template of RVSiteBuilder
 *
 * @package sitebuilder
 * @author  Pairote Manunphol <pairote@rvglobalsoft.com>
 * @author  Parinya <parinya@rvglobalsoft.com>
 * @version $Revision$
 * @since   PHP 5.1
 */

class TemplateImportDao extends DbWrapper implements SitebuilderInf
{

	function TemplateImportDao()
	{
		parent::DbWrapper();
	}

	/**
	 * Returns a singleton TemplateImportDao 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 template user id by template id
     * @author Parinya Chaipetch
     *
     * @param string $templateId
     * @param string $fetchMode
     * @access public
     * @return array
     */
    public function findTemplateUsrIdByTemplateId($templateId=null, $fetchMode='getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel(0);
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        $query = sprintf('
            SELECT
                rvs_usr_id as template_usr_id, private
            FROM
                %s
            WHERE
                template_id = %s
            '
            , $this->aConf['table']['rvs_template_import']
            , RvsLibs_String::quoteSmart($templateId)
        );
          $oTemplateImport->query($query);

        //$oTemplateImport->selectAdd();
      /*  $oTemplateImport->selectAdd('rvs_usr_id as template_usr_id, private');

        if (!is_null($templateId)) {
            $oTemplateImport->template_id = $templateId;
            $oTemplateImport->find();
        }
        */
        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        DB_DataObject::debugLevel(0);
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }

    /**
     * Find rvs_usr_id form table rvs_template_import
     *
     * @author duangdao.k
     * @param string $templateId
     * @param string $fetchMode
     * @return Object
     *
     */
    public function findRvsUsrIdByTemplateId($templateId = null, $fetchMode='getrow')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        if (!is_null($templateId)) {
    	    $query = sprintf('
                        SELECT
                                    rvs_usr_id
                        FROM
                                    %s
                        WHERE
                                    template_id = %s
                    '
                    , $this->aConf['table']['rvs_template_import']
                    , RvsLibs_String::quoteSmart($templateId)
                    );
            $oTemplateImport->query($query);
    	}
    	$aCloneData = array();
    	while ($oTemplateImport->fetch()) {
    	    $aCloneData[] = clone($oTemplateImport);
    	}
        DB_DataObject::debugLevel();
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }

    /**
     * Select template import Data by group template id in template import
     * Resulting SQL
     *      SELECT
     *           template_id
     * 			, rvs_usr_id
     * 			, private
     *       FROM
     *           rvs_template_import
     *       WHERE
     *           template_id
     * foreach ($aTemplate as $k=>$v) {
     *          if ($count == 0) {
     *         	 	$queryD1 .= "     IN ('" . $v . "'";
     *          } else {
     *        		$queryD1 .= ",'$v'";
     *       	}
     *     		$count++;
     * 			if ($count == count($aTemplate)) {
     *        		$queryD1 .= ")";
     *   		}
     * }
     * $aTem1    = $this->objDbh->getAssoc($queryD1);
     * @author Darawan Taorong crate date 29/04/2552 17:05 PM
     *
     * @param array $aTemplateId ex. array result in database getassoc
     * @param string $fetchMode
     * @access public
     * @return array
     * @from TemplateList.php   Fn : _getImportTemplateData
     **/
    public function findTemplateImportByGroupTemplateId($aTemplateId = array(), $fetchMode='getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel(0);
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        $count = 0;
        if (count($aTemplateId) == 0) {
        	return false;
        }
        foreach ($aTemplateId as $k=>$v) {
        	if ($count == 0) {
            	$queryD1 = "  IN ('" . $v . "'";
            } else {
                 $queryD1 .= ",'$v'";
            }
            $count++;
            if ($count == count($aTemplateId)) {
            	$queryD1 .= ")";
            }
        }
        $query = sprintf('
        	SELECT
        		template_id
            	, rvs_usr_id
            	, private
           	FROM
           		%s
           	WHERE
           		template_id  %s

        	'
        	, $this->aConf['table']['rvs_template_import']
        	, $queryD1
        	);
        $oTemplateImport->query($query);

        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }
    /**
     * Find template_id, rvs_usr_id and private from table rvs_template_import by templateId
     *
     * @param string $templateId
     * @param string $fetchMode
     * @return arrayobj
     */
    public function findTemplateImportDataByTemplateId($templateId = null, $fetchMode='getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        return DaoFactory::TemplateImport()->findTemplateImportData($templateId, null, $fetchMode);
    }

    function findTemplateImportData($templateId = null, $userId = null, $fetchMode='getassoc', $aResultFields = array())
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        if (!is_null($templateId) || !is_null($userId))
        {
            $query = sprintf('
					SELECT
                         tm.template_id
                         , tm.rvs_usr_id
                         , tm.private
					FROM
                     	 %s tm
					WHERE
                         %s
                         %s
                	'
               		, $this->aConf['table']['rvs_template_import']
                    , !is_null($templateId)
                        ? sprintf('tm.template_id = %s', RvsLibs_String::quoteSmart($templateId))
                        : ''
                    , !is_null($userId)
                        ? sprintf('%s = %s'
                            ,!is_null($templateId) ? 'AND tm.rvs_usr_id' : 'tm.rvs_usr_id'
                            , RvsLibs_String::quoteSmart($userId)
                        )
                        : ''
                    );
        } else {
            $query = sprintf('
					SELECT
                         tm.template_id
                         , tm.rvs_usr_id
                         , tm.private
					FROM
                     	 %s tm
                	'
               		, $this->aConf['table']['rvs_template_import']
                    );
        }
        $oTemplateImport->query($query);
        $aCloneData = array();
    	while ($oTemplateImport->fetch()) {
    	    $aCloneData[] = clone($oTemplateImport);
    	}
    	$oTemplateImport = DbWrapper::buildResultFields($oTemplateImport, $aResultFields);
        DB_DataObject::debugLevel();
        return DbWrapper::fetchDatas($oTemplateImport, $aCloneData, $fetchMode);
    }

    /**
     * find template item by template id
     * @author Pharadol
     * @param <string> $parentTemplateId
     * @param <string> $fetchMode
     * @return <array>
     * form file ImportTemplateMgr.php
     */
    public function findTemplateItemByTemplateId($parentTemplateId = null, $fetchMode = 'getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_item']);
        if (!is_null($parentTemplateId)) {
        $query = sprintf('
			SELECT
                         *
            FROM
            	%s  ti
                , %s  cg
            WHERE
                 ti.color_id = cg.color_id
                 AND ti.template_id = %s
                           '
           , $this->aConf['table']['rvs_template_item']
           , $this->aConf['table']['rvs_color_group']
           , RvsLibs_String::quoteSmart($parentTemplateId)
                           );
         $oTemplateImport->query($query);
        }

        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }

    /**
     * find Color Group Name By Color Groupid
     * @author Pharadol
     * @param <string> $ColorGoupId
     * @param <string> $fetchMode
     * @return <aray>
     * form file ImportTemplateMgr.php
     */
    public function findColorGroupNameByColorGroupId($ColorGoupId = null, $fetchMode = 'getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_color_group_name']);
        if (!is_null($ColorGoupId)) {
             $query = sprintf('
                            SELECT
                                        *
                            FROM
                                        %s
                            WHERE
                                        color_group_id = %s
                            '
                            , $this->aConf['table']['rvs_color_group_name']
                            ,  RvsLibs_String::quoteSmart($ColorGoupId)
                            );
                               $oTemplateImport->query($query);
        }
        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }

    /**
     * find Get template import data
     * @author Pharadol
     * @param <string> $templateId
     * @param <string> $resId
     * @param <string> $fetchMode
     * @return array
     * form file ImportTemplateMgr.php
     */
    public function findGetTemplateImportData($templateId = null, $usrId = null, $fetchMode = 'getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        if (!is_null($templateId) && !is_null($usrId)) {
             $query = sprintf('
                    SELECT
                                *
                    FROM
                                %s  ti
                                , %s tp
                    WHERE
                                tp.template_id = ti.template_id
                    AND
                                tp.template_id = %s
                    AND
                                ti.rvs_usr_id = %s
                    '
                    , $this->aConf['table']['rvs_template_import']
                    , $this->aConf['table']['rvs_template']
                    , RvsLibs_String::quoteSmart($templateId)
                    , RvsLibs_String::quoteSmart($usrId)
                   );
                    $oTemplateImport->query($query);
        }
        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
    }

    /**
     * find Cuostom Color Gropid
     * @author Pharadol
     * @param <strng> $templateItemId
     * @param <string> $fetchMode
     * @return <array>
     * form file ImportTemplateMgr.php
        /*
        $query = "
                        SELECT
                                    custom_color_group_id
                        FROM
                                    {$this->conf['table']['rvs_template_item_navigator_color']}
                        WHERE
                                    template_item_id = '$templateItemId'
                    ";
        $res = $this->dbh->getRow($query);
        */
   public function findCustomColorGroupId($templateItemId = null, $fetchMode = 'getassoc')
   {
      SGL::logMessage(null, PEAR_LOG_DEBUG);
      DB_DataObject::debugLevel();
      $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_item_navigator_color']);
      if (!is_null($templateItemId)) {
          $query = sprintf('
                        SELECT
                                    custom_color_group_id
                        FROM
                                    %s
                        WHERE
                                    template_item_id = %s
                    '
                    , $this->aConf['table']['rvs_template_item_navigator_color']
                    , RvsLibs_String::quoteSmart($templateItemId)
                    );
                         $oTemplateImport->query($query);
        }
        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
   }

   /**
    * find TemplateImport Data TemplateId And UsrId
    * @author Pharadol
    * @param <string> $templateId
    * @param <string> $usrId
    * @param <string> $fetchMode
    * @return array
    * ImportTemplateMgr.php
    /*
        $query = "
                    SELECT
                                *
                    FROM
                                {$this->conf['table']['rvs_template_import']} ti
                                , {$this->conf['table']['rvs_template']} tp
                    WHERE
                                tp.template_id = ti.template_id
                    AND
                                tp.template_id = '$input->template_id'
                    AND
                                ti.rvs_usr_id = '$input->rvs_usr_id'
                    ";
        $res = $this->dbh->getRow($query);
        */
     public function findTemplateImportDataByTemplateIdAndUsrId($templateId = null, $usrId = null, $fetchMode = 'getassoc')
     {
      SGL::logMessage(null, PEAR_LOG_DEBUG);
      DB_DataObject::debugLevel();
      $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
      if (!is_null($templateId) && !is_null($usrId)) {
           $query = sprintf('
                    SELECT
                                *
                    FROM
                                 %s ti
                                , %s  tp
                    WHERE
                                ti.template_id = %s
                                AND  ti.rvs_usr_id = %s
                                AND  ti.template_id = tp.template_id
                    '
                    ,  $this->aConf['table']['rvs_template_import']
                    ,  $this->aConf['table']['rvs_template']
                    ,  RvsLibs_String::quoteSmart($templateId)
                    ,  RvsLibs_String::quoteSmart($usrId)
                    );
        $oTemplateImport->query($query);
        }
        $aCloneData = array();
        while ($oTemplateImport->fetch()) {
            $aCloneData[] = clone($oTemplateImport);
        }
        return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
     }

        /*
        $query = "
                        SELECT
                                    *
                        FROM
                                    {$this->conf['table']['rvs_menustyle']}
                        WHERE
                                    menustyle_id = '$input->menustyle_id'
                        ";
        $aMenuStyle = $this->dbh->getAssoc($query);
        */
     public function findgetMenuStyleByMenustyleId($menustyleId = null, $fetchMode = 'getassoc')
     {
         SGL::logMessage(null, PEAR_LOG_DEBUG);
         DB_DataObject::debugLevel();
         $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
         if (!is_null($menustyleId)) {
              $query = sprintf('
                        SELECT
                                    *
                        FROM
                                    %s
                        WHERE
                                    menustyle_id = %s
                                 '
                                 ,  $this->aConf['table']['rvs_menustyle']
                                 ,  RvsLibs_String::quoteSmart($menustyleId)
                                 );
                                 $oTemplateImport->query($query);
         }
         $aCloneData = array();
         while ($oTemplateImport->fetch()) {
             $aCloneData[] = clone($oTemplateImport);
         }
         return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
     }

     public function findAllImportTemplate($fetchMode = 'getassoc')
     {
         SGL::logMessage(null, PEAR_LOG_DEBUG);
         DB_DataObject::debugLevel();
         $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
         $query = sprintf('
        	SELECT
        		DISTINCT t.template_id
        		, t.default_template_item_id
        	FROM
        		%s t
        		, %s it
        		, %s ip
        		, %s ty
        	WHERE
        		t.template_id = it.template_id
        		AND t.template_id = ip.template_id
        		AND t.template_id = ty.template_id
        		AND ty.template_type_id != %s
        		AND it.template_item_folder NOT LIKE %s
        	'
        	, $this->aConf['table']['rvs_template']
        	, $this->aConf['table']['rvs_template_item']
        	, $this->aConf['table']['rvs_template_import']
        	, $this->aConf['table']['rvs_template_type_xref']
        	, RvsLibs_String::quoteSmart('10')
        	, RvsLibs_String::quoteSmart('%_DiyPicture_%')
        	);
       	///template_type_id 10 = DIY Template
        $oTemplateImport->query($query);
        $aCloneData = array();
         while ($oTemplateImport->fetch()) {
             $aCloneData[] = clone($oTemplateImport);
         }
         return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
     }

     /**
     * Find All Template
     * @author Puttipong
     * @param <string> $fetchMode
     * @return <array>
     * form file TemplateList.php
     */
	 public function findAllTemplate($fetchMode = 'getassoc')
     {
         SGL::logMessage(null, PEAR_LOG_DEBUG);
         DB_DataObject::debugLevel();
         $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
         $query = sprintf('
        	SELECT
        		DISTINCT t.template_id
        		, t.default_template_item_id
        	FROM
        		%s t
        		, %s it
        		, %s ip
        	WHERE
        		t.template_id = it.template_id
        		AND t.template_id = ip.template_id
        	'
        	, $this->aConf['table']['rvs_template']
        	, $this->aConf['table']['rvs_template_item']
        	, $this->aConf['table']['rvs_template_import']
        	);
        $oTemplateImport->query($query);
        $aCloneData = array();
         while ($oTemplateImport->fetch()) {
             $aCloneData[] = clone($oTemplateImport);
         }
         return DbWrapper::fetchDatas($oTemplateImport->_resultFields, $aCloneData, $fetchMode);
     }

    public function findImportTemplateByTemplateItemAndUser($templateItemId, $userId, $fetchMode = 'getassoc', $aResultFields=array('template_item_id'))
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateItem = DB_DataObject::factory($this->aConf['table']['rvs_template_item']);
        if (is_null($templateItemId) === false && is_null($userId) === false) {
            $query = sprintf('
            			SELECT
                                *
                         FROM
                                %s  as ti
                                , %s  as ip
                        WHERE
                                ti.template_item_id = %s
                                AND ip.rvs_usr_id = %s
                                AND ti.template_id = ip.template_id
                                '
                                , $this->aConf['table']['rvs_template_item']
                                , $this->aConf['table']['rvs_template_import']
                                , RvsLibs_String::quoteSmart($templateItemId)
                                , RvsLibs_String::quoteSmart($userId)
                        );
            $oTemplateItem->query($query);
        }
        $aCloneData = array();
        while ($oTemplateItem->fetch()) {
            $aCloneData[] = clone($oTemplateItem);
        }
        $oTemplateItem = DbWrapper::buildResultFields($oTemplateItem, $aResultFields);
        return DbWrapper::fetchDatas($oTemplateItem, $aCloneData, $fetchMode);
    }

    /**
     * Find is import template exis user
     * @author Pharadol
     * @param <string> $templateItemId
     * @param <string> $fetchMode
     * @return <array>
     * form file ImportProjectMgr.php
     */
    public function findImportTemplateOnOtherUser($templateItemId, $userId, $fetchMode = 'getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateItem = DB_DataObject::factory($this->aConf['table']['rvs_template_item']);
        if (is_null($templateItemId) === false && is_null($userId) === false) {
            $query = sprintf('
            			SELECT
                                ti.template_item_id
                         FROM
                                %s  as ti
                                , %s as tp
                                , %s  as ip
                        WHERE
                                ti.template_item_id = %s
                                AND ip.rvs_usr_id != %s
                                AND ti.template_id = ip.template_id
                                AND ti.template_id = tp.template_id
                                '
                                , $this->aConf['table']['rvs_template_item']
                                , $this->aConf['table']['rvs_template']
                                , $this->aConf['table']['rvs_template_import']
                                , RvsLibs_String::quoteSmart($templateItemId)
                                , RvsLibs_String::quoteSmart($userId)
                        );
            $oTemplateItem->query($query);
        }

        //SGL::logMessage($query, PEAR_LOG_DEBUG);
        $aCloneData = array();
        while ($oTemplateItem->fetch()) {
            $aCloneData[] = clone($oTemplateItem);
        }
        return DbWrapper::fetchDatas($oTemplateItem->_resultFields, $aCloneData, $fetchMode);
    }


     /**
      * find Catagory id
      * othor pharadol
      * @param unknown_type $fetchMode
      * @return array
      */
    public function findTemplateImportAllCategoryId($fetchMode = 'getassoc')
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateItem = DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);
        $query = sprintf('
            			SELECT
                               ti.template_id
                               , tc.rvs_category_id
                         FROM
                                %s  as tc
                                , %s as ti
                        WHERE
                                 tc.template_id = ti.template_id
                                 AND tc.rvs_category_id = "17"
                                '
                                , $this->aConf['table']['rvs_template_categories_xref']
                                , $this->aConf['table']['rvs_template_import']
                                );
                                $oTemplateItem->query($query);

        $aCloneData = array();
        while ($oTemplateItem->fetch()) {
            $aCloneData[] = clone($oTemplateItem);
        }
        return DbWrapper::fetchDatas($oTemplateItem->_resultFields, $aCloneData, $fetchMode);
    }


    public function fileTemplateCategoriesXref($templateId=null, $rvsCategoryId=null, $fetchMode='getassoc')
    {

      SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateItem = DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);

        if (is_null($templateId) === false) {
			$oTemplateItem->template_id = $templateId;
        }
		if (is_null($rvsCategoryId) === false) {
			$oTemplateItem->rvs_category_id = $rvsCategoryId;
		}
        $oTemplateItem->find();
        $aCloneData = array();
        while ($oTemplateItem->fetch()) {
            $aCloneData[] = clone($oTemplateItem);
        }
        return DbWrapper::fetchDatas($oTemplateItem->_resultFields, $aCloneData, $fetchMode);
    }

     //INSERT
   /**
    * Insert Template Import
    * @author Pharadol
    * @param <array> $field
    * @return Bool
    * Form file ImportTemplateMgr.php
    /*
        $query = "
                        INSERT INTO
                        {$this->conf['table']['rvs_template_import']} (
                                                            template_id
                                                            , rvs_usr_id
                                                            , private
                                                           )
                        VALUES (
                                        '$input->template_id'
                                        , '" . $aData['rvs_usr_id'] . "'
                                        , '" . $aData['private'] . "'
                                      )
                    ";
           $res = $this->dbh->query($query);
           */
   public function insertTemplateImport($templateId = null, $usrId = null, $private = null)
    {
    	SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        if (!is_null($templateId) && !is_null($usrId) && !is_null($private)) {
    	     $query = sprintf('
                        INSERT INTO
                                             %s
                                      (
                                             template_id
                                             , rvs_usr_id
                                             , private
                                      )
                        VALUES (
                                             %s
                                           , %s
                                           , %s
                                      )
                              '
    	                      ,  $this->aConf['table']['rvs_template_import']
    	                      ,  RvsLibs_String::quoteSmart($templateId)
    	                      ,  RvsLibs_String::quoteSmart($usrId)
    	                      ,  (isset($private) && $private != '') ? $private : 0
    	                      );
       $oTemplateImport->query($query);
        }
    }

   /**
    * insert template
    *
    * @param <string> $templateId
    * @param <string> $templateUniqueId
    * @param <string> $fontId
    * @param <string> $menustyleId
    * @param <string> $navigatorId
    * @param <string> $defaultLayoutId
    * @param <string> $sortPriority
    * @param <string> $importCdate
    * form file ImportTemplateMgr.php
    /*  $query = "
                        INSERT INTO
                        {$this->conf['table']['rvs_template']} (
                                            template_id
                                            , default_template_item_id
                                            , default_template_item_id2
                                            , font_id
                                            , menustyle_id
                                            , navigator_id
                                            , default_layout_id
                                            , sort_priority
                                            , cdate
                                            )
                          VALUES(
                                          '$input->template_id'
                                          , '$input->templateUniqueId'
                                          , ''
                                          , '$input->font_id'
                                          , '$input->menustyle_id'
                                          , '$input->navigator_id'
                                        , '$input->default_layout_id'
                                        , '$input->sort_priority'
                                        , '" . $input->importCdate . "'
                                          )
                        ";
                                        */
    public function insertTemplate($templateId = null, $templateUniqueId = null, $default2 = null, $fontId = null, $menustyleId = null, $navigatorId = null, $defaultLayoutId = null, $sortPriority = null, $importCdate = null)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template']);
    	if (!is_null($templateId)  && !is_null($templateUniqueId) && !is_null($default2) && !is_null($fontId) && !is_null($menustyleId) && !is_null($navigatorId) && !is_null($defaultLayoutId) && !is_null($sortPriority) && !is_null($importCdate)) {
             $query = sprintf('
                        INSERT INTO
                                           %s
                                            (
                                            template_id
                                            , default_template_item_id
                                            , default_template_item_id2
                                            , font_id
                                            , menustyle_id
                                            , navigator_id
                                            , default_layout_id
                                            , sort_priority
                                            , cdate
                                            )
                          VALUES
                                          (
                                          %s
                                          , %s
                                          , %s
                                          , %s
                                          , %s
                                          , %s
                                          , %s
                                          , %s
                                          , %s
                                          )
                                         '
                                         , $this->aConf['table']['rvs_template']
                                         , RvsLibs_String::quoteSmart($templateId)
                                         , RvsLibs_String::quoteSmart($templateUniqueId)
                                         , RvsLibs_String::quoteSmart($default2)
                                         , RvsLibs_String::quoteSmart($fontId)
                                         , RvsLibs_String::quoteSmart($menustyleId)
                                         , RvsLibs_String::quoteSmart($navigatorId)
                                         , RvsLibs_String::quoteSmart($defaultLayoutId)
                                         , RvsLibs_String::quoteSmart($sortPriority)
                                         , RvsLibs_String::quoteSmart($importCdate)
                                         );
               $oTemplateImport->query($query);
    	}
    }

    /**
     * insert template categories xref
     * @author Pharadol
     * @param <string> $templateId
     * @param <string> $categoryId
     * form file ImportTemplate
    /*
        $queryInsert = "
                            INSERT INTO
                                        {$this->conf['table']['rvs_template_categories_xref']} (
                                                                                        template_id
                                                                                        , rvs_category_id
                                                                                      )
                            VALUES (
                                            '$input->template_id'
                                            , '$input->rvs_category_id'
                                          )
                                ";
        $res = $this->dbh->query($queryInsert);
       */
    public function insertTemplateCategoriesXref($templateId = null, $categoryId = null)
    {
	    SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);
        if (!is_null($templateId) && !is_null($categoryId)) {
    	     $query = sprintf('
                            INSERT INTO
                                                %s (
                                                        template_id
                                                        , rvs_category_id
                                                       )
                            VALUES (
                                           %s
                                            , %s
                                          )
                                      '
                                      , $this->aConf['table']['rvs_template_categories_xref']
                                      ,  RvsLibs_String::quoteSmart($templateId)
                                      ,  RvsLibs_String::quoteSmart($categoryId)
                                      );
            //SGL::logMessage('queryImport='.$query, PEAR_LOG_DEBUG);
            $oTemplateImport->query($query);
        }
    }

    /**
     * insert template type xref by usrid and templateid
     * @author Pharadol
     * @param <string> $templateId
     * @param <string> $templateTypeId
     * form file ImportTemplateMgr.php
      // Insert rvs_template_type_id

        /*$queryInsert = "
                            INSERT INTO
                                        {$this->conf['table']['rvs_template_type_xref']} (
                                                                                template_id
                                                                                , template_type_id
                                                                              )
                            VALUES (
                                            '$input->template_id'
                                            , '$input->template_type_id'
                                          )
                                ";
        $res = $this->dbh->query($queryInsert);
        */
    public function insertTemplateTypeXrefByUsrIdAndTemplateId($templateId, $templateTypeId)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template_type_xref']);
        if (!is_null($templateId) && !is_null($templateTypeId)) {
        	 $query = sprintf('
                                INSERT INTO
                                                   %s  (
                                                            template_id
                                                            , template_type_id
                                                           )
                                VALUES (
                                                 %s
                                                , %s
                                              )
                                    '
                                    , $this->aConf['table']['rvs_template_type_xref']
                                    , RvsLibs_String::quoteSmart($templateId)
                                    , RvsLibs_String::quoteSmart($templateTypeId)
        	                        );
        //SGL::logMessage('query'.$query , PEAR_LOG_DEBUG);
    	     $oTemplateImport->query($query);
        }
    }

    /**
     * insert TemplateItem navigator Color
     * @author Pharadol
     * @param <string> $templateUniqueId
     * @param <string> $customColorGroupId
     * form file ImportTemplateMgr.php
    /*
        $query = "
                        INSERT INTO
                                    {$this->conf['table']['rvs_template_item_navigator_color']} (
                                                                            template_item_id
                                                                            , custom_color_group_id
                                                                          )
                        VALUES (
                                        '$input->templateUniqueId'
                                        , '$input->custom_color_group_id'
                                      )
                    ";
         $res = $this->dbh->query($query);
        */
    public function insertTemplateItemNavigatorColor($templateUniqueId, $customColorGroupId)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template_item_navigator_color']);
        $query = sprintf('
                        INSERT INTO
                                    %s (
                                             template_item_id
                                             , custom_color_group_id
                                          )
                        VALUES (
                                       %s
                                        , %s
                                      )
                                '
                                , $this->aConf['table']['rvs_template_item_navigator_color']
                                ,  RvsLibs_String::quoteSmart($templateUniqueId)
                                ,  RvsLibs_String::quoteSmart($customColorGroupId)
                                );
        $res = $oTemplateImport->query($query);
        return (isset($res) && $res)? true : false;
    }

    /**
     * update Template item by templateid and usrid
     * @author Pharadol
     * @param <string> $usrId
     * @param <string> $templateId
     * @param <string> $refColorId
     * @param <string> $colorId
     * @return Bool
     * form file ImportTemplate
     // EDIT TEMPLATE update color_id template_item ๏ฟฝ๏ฟฝ๏ฟฝ group_id ๏ฟฝ๏ฟฝ๏ฟฝวกัน
     /* $query = "
                            UPDATE
                                        {$this->conf['table']['rvs_template_item']} as ti
                                        ,{$this->conf['table']['rvs_template_import']} as tm
                                        ,{$this->conf['table']['rvs_template']} as tt
                            SET
                                        ti.color_id = '$input->color_id'
                            WHERE
                                         ti.template_id = tm.template_id
                                        AND ti.template_id = tt.template_id
                                        AND ti.color_id = '$input->ref_color_id'
                                        AND ti.template_id = '$input->template_id'
                                        AND tm.rvs_usr_id = '$input->rvs_usr_id'
                        ";

        $res = $this->dbh->query($query);
        */
    public function updateTemplateItemByTemplateIdAndUsrId($usrId, $templateId, $refColorId, $colorId)
    {
	    SGL::logMessage(null, PEAR_LOG_DEBUG);
    	DB_DataObject::debugLevel(0);
    	$res = new stdClass();
    	$oTemplateImport =  DB_DataObject::factory($this->aConf['table']['rvs_template_item']);
    	if (!is_null($usrId) && !is_null($templateId) && !is_null($refColorId) && !is_null($colorId)) {
             $query = sprintf('
                                UPDATE
                                            %s  as ti
                                            , %s  as tm
                                            , %s  as tt
                                SET
                                            ti.color_id = %s
                                WHERE
                                             ti.template_id = tm.template_id
                                            AND ti.template_id = tt.template_id
                                            AND ti.color_id = %s
                                            AND ti.template_id = %s
                                            AND tm.rvs_usr_id = %s
                                   '
                                   , $this->aConf['table']['rvs_template_item']
                                   , $this->aConf['table']['rvs_template_import']
                                   , $this->aConf['table']['rvs_template']
                                   , RvsLibs_String::quoteSmart($colorId)
                                   , RvsLibs_String::quoteSmart($refColorId)
                                   , RvsLibs_String::quoteSmart($templateId)
                                   , RvsLibs_String::quoteSmart($usrId)
                                   );
              $res = $oTemplateImport->query($query);
    	}
    	DB_DataObject::debugLevel();
    	return (isset($res) && $res)? true : false;
    }


/**
 * update TemplateImport
 * @author Pharadol
 * @param <string> $templateId
 * @param <string> $usrId
 * @param <string> $private
 * @return <array>
 /*
        $query = "
                        UPDATE
                                    {$this->conf['table']['rvs_template_import']} as ti
                                    , {$this->conf['table']['rvs_template']} as tt
                        SET
                                    ti.private = '" . $aData['private'] . "'
                        WHERE
                                    ti.template_id = tt.template_id
                                    AND ti.template_id = '$input->template_id'
                                    AND ti.rvs_usr_id = '" . $aData['rvs_usr_id'] . "'
                    ";

        $res = $this->dbh->query($query);
 */
    public function updataTemplateImport($templateId, $usrId, $private)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        $query = sprintf('
                        UPDATE
                                    %s as ti
                                    , %s as tt
                        SET
                                    ti.private = %s
                        WHERE
                                     ti.template_id = %s
                                    AND ti.rvs_usr_id = %s
                                    AND ti.template_id = tt.template_id
                     '
                     ,  $this->aConf['table']['rvs_template_import']
                     ,  $this->aConf['table']['rvs_template']
                     ,  RvsLibs_String::quoteSmart($private)
                     ,  RvsLibs_String::quoteSmart($templateId)
                     ,  RvsLibs_String::quoteSmart($usrId)
                     );
                     $res = $oTemplateImport->query($query);
                     DB_DataObject::debugLevel();
    	             return (isset($res) && $res)? true : false;
    }

    /**
     * updatate template
     * @author Pharadol
     * @param <string> $usId
     * @param <string> $templateId
     * @param <string> $sortPriority
     * @param <string> $defaultLayoutId
     * @param <string> $navigatorId
     * @param <string> $templateChild
     * @param <string> $fontId
     * @return Bool
     * form file ImportTemplateMgr.php
     /*
            $query = "
                         UPDATE
                                    {$this->conf['table']['rvs_template']} as tt
                                    , {$this->conf['table']['rvs_template_import']} as ti
                         SET
                                    tt.font_id = '$input->font_id' ";
            if ( !$input->templateChild ) {
            $query .= "        , tt.navigator_id = '$input->navigator_id' ";
            }
            $query .= "        , tt.default_layout_id = '$input->default_layout_id'
                                     , tt.sort_priority = '$input->sort_priority'
                        WHERE
                                     tt.template_id = ti.template_id
                                    AND tt.template_id = '$input->template_id'
                                    AND ti.rvs_usr_id = '$input->rvs_usr_id'
                    ";

        $res = $this->dbh->query($query);
        */
    public function updateTemplate($usId, $templateId, $sortPriority, $defaultLayoutId, $navigatorId, $fontId, $templateChild = null)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template']);
        $query = sprintf('
                         UPDATE
                                    %s as tt
                                    , %s as ti
                         SET
                                    tt.font_id = %s
                                    '
                                    , $this->aConf['table']['rvs_template']
                                    , $this->aConf['table']['rvs_template_import']
                                    , RvsLibs_String::quoteSmart($fontId)
                                    );
            if (!$templateChild) {
                 $query .= sprintf(', tt.navigator_id = %s
                                    '
                                    , RvsLibs_String::quoteSmart($navigatorId)
                                    );
            }
                 $query .= sprintf(', tt.default_layout_id = %s
                                     , tt.sort_priority = %s
                        WHERE
                                     tt.template_id = ti.template_id
                                    AND tt.template_id = %s
                                    AND ti.rvs_usr_id =%s
                                    '
                                    , RvsLibs_String::quoteSmart($defaultLayoutId)
                                    , RvsLibs_String::quoteSmart($sortPriority)
                                    , RvsLibs_String::quoteSmart($templateId)
                                    , RvsLibs_String::quoteSmart($usId)
                                     );
                     $res = $oTemplateImport->query($query);
                     DB_DataObject::debugLevel();
    	             return (isset($res) && $res)? true : false;
        }

        /*
        $query = "
                        UPDATE
                                    {$this->conf['table']['rvs_template_item_navigator_color']} as tc
                                    , {$this->conf['table']['rvs_template_item']} as tm
                                    , {$this->conf['table']['rvs_template_import']} as ti
                                    , {$this->conf['table']['rvs_template']} as tt
                        SET
                                    tc.custom_color_group_id = '$input->custom_color_group_id'
                        WHERE
                                    ti.template_id = tt.template_id
                                    AND tc.template_item_id = tm.template_item_id
                                    AND tt.template_id = '$input->template_id'
                                    AND ti.rvs_usr_id = '$input->rvs_usr_id'
                                    AND tc.template_item_id = '$input->parent_template_id'
                            ";
        $res = $this->dbh->query($query);
        */
      public function  updateTemplateItemNavigatorColor($parentTemplateId, $usrId, $templateId, $customColorGroupId)
      {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
        if (!is_null($parentTemplateId) && !is_null($usrId) && !is_null($templateId) && !is_null($customColorGroupId)) {
             $query = sprintf('
                            UPDATE
                                        %s  as tc
                                        , %s  as tm
                                        , %s  as ti
                                        , %s as tt
                            SET
                                        tc.custom_color_group_id = %s
                            WHERE
                                        tt.template_id = %s
                                        AND ti.rvs_usr_id =  %s
                                        AND tc.template_item_id = %s
                                        AND tc.template_item_id = tm.template_item_id
                                        AND ti.template_id = tt.template_id
                                  '
                                  , $this->aConf['table']['rvs_template_item_navigator_color']
                                  , $this->aConf['table']['rvs_template_item']
                                  , $this->aConf['table']['rvs_template_import']
                                  , $this->aConf['table']['rvs_template']
                                  , RvsLibs_String::quoteSmart($customColorGroupId)
                                  , RvsLibs_String::quoteSmart($templateId)
                                  , RvsLibs_String::quoteSmart($usrId)
                                  , RvsLibs_String::quoteSmart($parentTemplateId)
                                  );
            $res = $oTemplateImport->query($query);
        }
            DB_DataObject::debugLevel();
            return (isset($res) && $res) ? true : false;
      }

    public function updaterTemplateCategoriesXref($templateId, $categoryIdOld, $categoryIdNew)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplateImport = DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);
        $query = sprintf('
                            UPDATE
                                        %s  as tc
                            SET
                                        tc.rvs_category_id = %s
                            WHERE
                                        tc.rvs_category_id = %s
                                      AND  tc.template_id  = %s
                                  '
                                  , $this->aConf['table']['rvs_template_categories_xref']
                                  , RvsLibs_String::quoteSmart($categoryIdNew)
                                  , RvsLibs_String::quoteSmart($categoryIdOld)
                                  , RvsLibs_String::quoteSmart($templateId)
                                  );
        $res = $oTemplateImport->query($query);
        DB_DataObject::debugLevel();
        return (isset($res) && $res)? true : false;
    }


    /****************************************************************
     *              *****  DELETE *****								*
     ****************************************************************/

    /**
    * delete template import  by template_id and user_id in template_import  table
    * Resulting SQL
    *         DELETE
    *            rvs_template_import
    *         FROM
    *            rvs_template_import
    *          WHERE
    *              template_id = {$templateId}
    *              rvs_usr_id = {$usrId}
    * $res = $this->dbh->query($query);
    *
    * @author Darawan Taorong
    * @param  string $templateId
    * @param  string $usrId
    * @form EditDeleteTemplate.php , Fn: table_rvs_template_import
   **/
   public function deleteTemplateImportByTemplateIdAndUsrId($templateId = null, $usrId = null)
   {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplate = DB_DataObject::factory($this->aConf['table']['rvs_template_import']);
		if (!is_null($templateId) && !is_null($usrId)){
        	 $query = sprintf('
        		DELETE
        			%s
                FROM
                    %s
                WHERE
                 	template_id = %s
                 	AND rvs_usr_id = %s
                '
                , $this->aConf['table']['rvs_template_import']
                , $this->aConf['table']['rvs_template_import']
                , RvsLibs_String::quoteSmart($templateId)
                , RvsLibs_String::quoteSmart($usrId)
                );
         	$res = $oTemplate->query($query);
		}
        DB_DataObject::debugLevel();
        return (isset($res) && $res)? true : false;
   }

   /**
    * delete Templaate Categories Xref
     * @author Pharadol
    * @param <string> $templateId
    * @param <string> $usrId
    * @return bool
    * From file ImportTemplateMgr.php
    /*
        $query = "
                       DELETE
                                    {$this->conf['table']['rvs_template_categories_xref']} as cx
                        FROM
                                    {$this->conf['table']['rvs_template_categories_xref']} as cx
                                    , {$this->conf['table']['rvs_template_import']} as ti
                                    , {$this->conf['table']['rvs_template']} as tt
                        WHERE
                                    cx.template_id = ti.template_id
                                    AND tt.template_id = ti.template_id
                                    AND cx.template_id = '$input->template_id'
                                    AND ti.rvs_usr_id = '$input->rvs_usr_id'
                    ";
        $res = $this->dbh->query($query);
        */
    public function  deleteTemplateCategoriesXref($templateId, $usrId)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $oTemplate = DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);
        if (!is_null($templateId) && !is_null($usrId)) {
        	/*$query = sprintf('
                       DELETE
                                    %s  as cx
                        FROM
                                   %s  as cx
                                    , %s as ti
                                    , %s  as tt
                        WHERE
                                    cx.template_id = ti.template_id
                                    AND tt.template_id = ti.template_id
                                    AND cx.template_id = %s
                                    AND ti.rvs_usr_id = %s
                                  '
                                  ,  $this->aConf['table']['rvs_template_categories_xref']
                                  ,  $this->aConf['table']['rvs_template_categories_xref']
                                  ,  $this->aConf['table']['rvs_template_import']
                                  ,  $this->aConf['table']['rvs_template']
                                  ,  RvsLibs_String::quoteSmart($templateId)
                                  ,  RvsLibs_String::quoteSmart($usrId)
                                  );
                                  */

        	$query = sprintf('
                       DELETE

                        FROM
                                   %s
                        WHERE
                                    template_id = %s
                                  '
                                  ,  $this->aConf['table']['rvs_template_categories_xref']
                                  ,  RvsLibs_String::quoteSmart($templateId)
                                  );
           	$res = $oTemplate->query($query);
		}
        DB_DataObject::debugLevel();
        return (isset($res) && $res)? true : false;
    }

    /**
     * delele Template Type xref by usrid and templateid
     *
     * @param <string> $templateId
     * @param <string> $usrId
     * @return bool
     * form file importTemplateMgr.php
     /*
        $query = "
                        DELETE
                                    {$this->conf['table']['rvs_template_type_xref']} as tx
                        FROM
                                    {$this->conf['table']['rvs_template_type_xref']} as tx
                                    ,{$this->conf['table']['rvs_template_import']} as ti
                                    , {$this->conf['table']['rvs_template']} as tt
                        WHERE
                                    tx.template_id = ti.template_id
                                    AND ti.template_id = tt.template_id
                                    AND tx.template_id = '$input->template_id'
                                    AND ti.rvs_usr_id = '$input->rvs_usr_id'
                    ";
        $res = $this->dbh->query($query);
        */
    public function deleteTemplateTypeXrefByUsrIdAndTemplateId($templateId = null, $usrId = null)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        DB_DataObject::debugLevel();
        $res = new stdClass();
        $oTemplate = DB_DataObject::factory($this->aConf['table']['rvs_template_categories_xref']);
        if (!is_null($templateId) && !is_null($usrId)) {
             $query = sprintf('
                        DELETE

                        FROM
                                    %s
                        WHERE
                                    template_id = %s
                             '
                             , $this->aConf['table']['rvs_template_type_xref']
                             , RvsLibs_String::quoteSmart($templateId)
                             );
            $res = $oTemplate->query($query);
		}
        DB_DataObject::debugLevel();
        return (isset($res) && $res)? true : false;
    }

    public function backupsql($projectId, $usrId)
    {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
        $aSQLData = array();
        $aTemplateId = array();
        $aTemplateItem = array();
        $aProjectInfoId = array();
        $aTemplateImport = array();
        /// Get Project info id By project_id
        $aProjectInfoId = DaoFactory::Project()->findProjectInfoDataByProjectId($projectId, 'getDataObject');
        if (count($aProjectInfoId) > 0 && !empty($aProjectInfoId[0]->template_item_id)) {
            /// Backup table rvs_template_import
            $aTemplateItem = DaoFactory::Template()->findTemplateItemByTemplateItemId($aProjectInfoId[0]->template_item_id, 'getDataObject');
        }
        if (count($aTemplateItem) > 0) {
            $aTemplateImport = DaoFactory::TemplateImport()->findTemplateImportData($aTemplateItem[0]->template_id, $usrId, 'getDataObject');
            foreach ($aTemplateImport as $oTemplateImport) {
                //$aTemplateId[] = $oTemplateImportSql->template_id;
                $aSQLData[] = DbWrapper::buildSQLFormat($oTemplateImport);
            }
        }
        return $aSQLData;
    }

    public function deleteProjectOfUserId($projectId, $usrId, $aProjectPageId=array()) {
        SGL::logMessage(null, PEAR_LOG_DEBUG);
    }
}
?>