1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 
<?php
/* --------------------------------------------------------------
   CreateGuestController.inc.php 2018-01-17 
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2018 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

MainFactory::load_class('HttpViewController');

/**
 * Class JsTranslationsController
 * 
 * @extends    HttpViewController
 * @category   System
 * @package    HttpViewControllers
 */
class JsTranslationsController extends HttpViewController
{
    /**
     * @var LanguageTextManager
     */
    private $languageTextManager;


    /**
     * Returns a json encoded language section array.
     * This method is used by js modules to receive the language values of specific sections.
     *
     * Example (Javascript):
     *  var lang = jse.core.config.get('appUrl') + '/shop.php?do=JsTranslations&section=shared_shopping_cart'
     *
     * The GET-Param 'section' is required.
     *
     * @return \JsonHttpControllerResponse
     */
    public function actionDefault()
    {
        $section = $this->_getQueryParameter('section');
        if(null === $section)
        {
            return new JsonHttpControllerResponse(array('status' => 'error'));
        }

        $this->languageTextManager = MainFactory::create('LanguageTextManager', 'shared_shopping_cart_configuration',
                                                         (int)$_SESSION['languages_id']);
        $sectionArray              = $this->languageTextManager->get_section_array($section);

        return new JsonHttpControllerResponse($sectionArray);
    }
}