<?php
define('MBQ_PROTOCOL','web');
global $tapatalk_cmd;
$tapatalk_cmd = 'update';
define('IN_MOBIQUO', true);
define('TT_ROOT', getcwd() . DIRECTORY_SEPARATOR);

require_once('mobiquoCommon.php');

MbqMain::init(); // frame init
MbqMain::input(); // handle input data
require_once(MBQ_PATH.'IncludeBeforeMbqAppEnv.php');
MbqMain::initAppEnv(); // application environment init
MbqMain::$oMbqConfig->calCfg();
@ ob_start();
require_once(MBQ_PATH . '/logger.php');
require_once(MBQ_FRAME_PATH . '/MbqBaseStatus.php');
class MbqStatus extends MbqBaseStatus
{
    
    public function GetLoggedUserName()
    {
        if(MbqMain::$oCurMbqEtUser != null)
        {
            return MbqMain::$oCurMbqEtUser->loginName->oriValue;
        }
        return 'anonymous';
    }
    protected function GetMobiquoFileSytemDir()
    {
        return TT_ROOT;
    }
    protected function GetMobiquoDir()
    {
        if ($plugin = JPluginHelper::getPlugin('system', 'tapatalk')) {
            $settings = json_decode($plugin->params);
            $tapatalk_dir = isset($settings->tapatalk_directory) && !empty($settings->tapatalk_directory) ? $settings->tapatalk_directory : "mobiquo";  // default as 'mobiquo'
            return $tapatalk_dir;
        }
    }
    protected function GetApiKey()
    {
        if ($plugin = JPluginHelper::getPlugin('system', 'tapatalk')) {
            $settings = json_decode($plugin->params);
            return $settings->tapatalk_push_key;
        }
    }
    protected function GetForumUrl()
    {
        return JURI::root();
    }
    protected function GetPushSlug()
    {
        $query ="SELECT * FROM #__tapatalk_status LIMIT 1";
        $oDb = JFactory::getDBO ();
        $oDb->setQuery($query);
		$results = $oDb->loadAssocList ();
		if ($results) {
            return json_decode($results[0]['status_info']);
		} else {
		    return 0;  //default is empty array
		}
    }

    protected function ResetPushSlug()
    {
        $data = '';
        $oDb = JFactory::getDBO ();
        $query ="SELECT count(update_time) as num FROM #__tapatalk_status";
		$oDb->setQuery($query);
		$results = $oDb->loadAssocList ();
		if ($results[0]['num'] == 1) {
            $query = "UPDATE #__tapatalk_status SET update_time = ".$oDb->quote(time()).", status_info = ".$oDb->quote($data);
		} elseif ($results[0]['num'] == 0) {
		    $query = "INSERT INTO #__tapatalk_status (status_info, create_time, update_time) VALUES (".$oDb->quote($data).", ".$oDb->quote(time()).", ".$oDb->quote(time()).")";
		} else {
		    return false;
		}
        $oDb->setQuery($query);
        return $oDb->query ();
    }

    protected function GetBYOInfo()
    {
        $plugin = JPluginHelper::getPlugin('system', 'tapatalk');
        $settings = json_decode($plugin->params);
        $app_banner_enable =  $settings->tapatalk_smartbanner_enabled;
        $google_indexing_enabled = $settings->tapatalk_google_indexing_enabled;
        $facebook_indexing_enabled = $settings->tapatalk_facebook_indexing_enabled;
        $twitter_indexing_enabled = $settings->tapatalk_twitter_indexing_enabled;
        $TT_expireTime = isset($settings->tapatalk_banner_expire) ? intval($settings->tapatalk_banner_expire) : null;
        $TT_bannerControlData = isset($settings->tapatalk_banner_control) ? $settings->tapatalk_banner_control : null;
        $TT_bannerControlData = unserialize($TT_bannerControlData);
        if (file_exists(MBQ_3RD_LIB_PATH .'/classTTConnection.php')){
            include_once(MBQ_3RD_LIB_PATH .'/classTTConnection.php');
        }
        $TT_connection = new classTTConnection();
        $TT_connection->calcSwitchOptions($TT_bannerControlData, $app_banner_enable, $google_indexing_enabled, $facebook_indexing_enabled, $twitter_indexing_enabled);
        $TT_bannerControlData['update'] = $TT_expireTime;
        $TT_bannerControlData['banner_enable'] = $app_banner_enable;
        $TT_bannerControlData['google_enable'] = $google_indexing_enabled;
        $TT_bannerControlData['facebook_enable'] = $facebook_indexing_enabled;
        $TT_bannerControlData['twitter_enable'] = $twitter_indexing_enabled;
        return $TT_bannerControlData;
    }
   

    protected function GetOtherPlugins()
    {
        $db = JFactory::getDBO();
        $query = $db->getQuery(true);
        $query
            ->select($db->quoteName('a.manifest_cache'))
            ->from($db->quoteName('#__extensions', 'a'))
            ->where($db->quoteName('a.enabled').' = '.$db->quote('1'))
            ->where($db->quoteName('a.name').' not like '.$db->quote('com_%'))
            ->where($db->quoteName('a.name').' not like '.$db->quote('mod_%'))
            ->where($db->quoteName('a.name').' not like '.$db->quote('plg_%'))
            ;
        $db->setQuery($query);
        $db->execute();
        $result = array();
        $plugins = $db->loadRowList();
        foreach ($plugins as $addOnEnc)
        {
            $addOn = json_decode($addOnEnc[0]);
            $result[] = array('name'=>$addOn->name, 'version'=>$addOn->version);
        }
        return $result;
    }

}
$mbqStatus = new MbqStatus();

