cms/corpus_module/corpus.module
author nowmad@23.1.168.192.in-addr.arpa
Fri, 06 Nov 2015 17:23:26 +0100
changeset 11 9e5799ff8538
parent 9 cfee18a7f900
child 17 ac3dc090e987
permissions -rw-r--r--
define variable with app name refered later. Make it easier to change the name module later

<?php
define('CORPUS_URL', 'corpus');
define('CORPUS_APP', 'app-client');
define('MODULE_NAME', 'corpus');

/**
 * Implements hook_menu().
 */
function corpus_menu() {

  $items[CORPUS_URL] = array(
    'title'             => 'Corpus de la Parole',
    'access callback'   => TRUE,
    'page callback'     => 'corpus_page',
    'type'              => MENU_CALLBACK
  );

  return $items;
}

/**
 * The page callback function. Loads the Ember app
 */
function corpus_page() {

 $app = CORPUS_APP;
 $path = drupal_get_path('module', MODULE_NAME) . '/' . $app;

 $element = array(
   '#tag' => 'base', // The #tag is the html tag - <link />
   '#attributes' => array( // Set up an array of attributes inside the tag
     'href' => '/corpus/',
   ),
 );
 drupal_add_html_head($element, 'ember_init_base');

 $element = array(
   '#tag' => 'meta', // The #tag is the html tag - <link />
   '#attributes' => array( // Set up an array of attributes inside the tag
     'name' => 'app-client/config/environment',
     'content' => '%7B%22rootElement%22%3A%22%23corpus-app%22%2C%22modulePrefix%22%3A%22app-client%22%2C%22environment%22%3A%22production%22%2C%22baseURL%22%3A%22/corpus%22%2C%22locationType%22%3A%22auto%22%2C%22APP%22%3A%7B%22baseStatic%22%3A%22/'.drupal_get_path('module', MODULE_NAME).'/app-client/%22%2C%22name%22%3A%22app-client%22%2C%22version%22%3A%220.0.0+%22%7D%2C%22contentSecurityPolicyHeader%22%3A%22Content-Security-Policy-Report-Only%22%2C%22contentSecurityPolicy%22%3A%7B%22default-src%22%3A%22%27none%27%22%2C%22script-src%22%3A%22%27self%27%22%2C%22font-src%22%3A%22%27self%27%22%2C%22connect-src%22%3A%22%27self%27%22%2C%22img-src%22%3A%22%27self%27%22%2C%22style-src%22%3A%22%27self%27%22%2C%22media-src%22%3A%22%27self%27%22%7D%2C%22exportApplicationGlobal%22%3Afalse%7D'
   ),
 );

 drupal_add_html_head($element, 'ember_init');

 drupal_add_js("{$path}/assets/vendor.js");
 drupal_add_css("{$path}/assets/vendor.css");
 drupal_add_css("{$path}/assets/{$app}.css");

 drupal_add_js("{$path}/assets/{$app}.js", array('type' => 'file', 'scope' => 'footer'));
 // drupal_add_js("{$path}/dist/assets/{$app}.js");

 return "<div id='corpus-app'></div>";
}