PHP Classes

File: engine/modules/core/localization/localization.hook.inc

Recommend this page to a friend!
  Classes of Aldo Tripiciano   Quanta CMS   engine/modules/core/localization/localization.hook.inc   Download  
File: engine/modules/core/localization/localization.hook.inc
Role: Example script
Content type: text/plain
Description: Example script
Class: Quanta CMS
Manage content that works without a database
Author: By
Last change:
Date: 5 years ago
Size: 2,192 bytes
 

Contents

Class file image Download
<?php

/**
 * Implements hook_load_includes().
 *
 * @param Environment $env
 * The Environment.
 * @param array $vars
 * An array of variables.
 *
 */
function localization_load_includes($env, $vars) {
 
$module_path = $env->getModulePath('localization');
 
$env->addInclude($module_path . '/css/localization.css');
}

/**
 * Implements hook_boot().
 * Checks if there is a language switch request.
 *
 * @param Environment $env
 * The Environment.
 * @param array $vars
 * An array of variables.
 */
function localization_boot($env, $vars) {
 
$env->sysdir('languages', DIR_LANGUAGES);
  if (isset(
$_GET['lang'])) {
   
Localization::switchLanguage($env, $_GET['lang']);
  }
}

/**
 * Implements hook_doctor_setup().
 *
 * Main setup of languages.
 *
 * @param Environment $env
 * The Environment.
 * @param array $vars
 * An array of variables.
 */
function localization_doctor_setup($env, $vars) {
 
/** @var Doctor $doctor */
 
$doctor = $vars['doctor'];

 
$enabled_languages = Localization::getEnabledLanguages($env);
 
$doctor->talk('Looking for enabled languages...');

 
// Check if there are enabled languages already. If not, setup basic languages.
 
if (empty($enabled_languages)) {
   
$doctor->op('None Found. Setting up basic languages...');
   
// We only use english as a basic language. TODO: could be better with a custom folder.
   
$basic_languages = array(
     
'en' => 'English',
    );
   
// Create basic languages.
   
foreach ($basic_languages as $langcode => $lang) {
      if (!
is_dir($env->dir['languages'] . '/' . $langcode)) {
       
NodeFactory::buildNode($env, $langcode, DIR_LANGUAGES, array(
           
'title' => $lang,
           
'language' => LANGUAGE_NEUTRAL,
           
'status' => NODE_STATUS_PUBLISHED,
          )
        );
       
$doctor->ok('...' . $lang . ' (' . $langcode . ')');
      }
    }
  }
}

/**
 * Implements hook_shadow_extra().
 *
 * Add translation links to node edit shadow form.
 *
 * @param Environment $env
 * The Environment.
 * @param array $vars
 * An array of variables.
 */
function localization_shadow_node_edit_extra($env, $vars) {
 
$vars['html'] .= qtag_TRANSLATE_LINKS($env, NULL, array());
}