123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <?php
- /**
- * Implements hook_menu().
- */
- function jeemod_menu() {
- $items = array();
- $base = array(
- 'type' => MENU_CALLBACK,
- 'file' => 'jeemod.pages.inc',
- );
- $items['jee/chapter'] = $base+array(
- 'title' => 'jee',
- 'page callback' => 'jeemod_chapter',
- 'page arguments' => array(2),
- 'access callback' => TRUE,
- // 'access arguments' => array('use materio search api'),
- );
- $items['jee/static'] = $base+array(
- 'title' => 'jee',
- 'page callback' => 'jeemod_static',
- // 'page arguments' => array(2),
- 'access callback' => TRUE,
- // 'access arguments' => array('use materio search api'),
- );
- return $items;
- }
- /**
- * Implements hook_entity_info_alter().
- */
- function jeemod_entity_info_alter(&$entity_info) {
- $entity_info['node']['view modes']['chapter'] = array(
- 'label' => t('chapter'),
- 'custom settings' => TRUE,
- );
- }
- /**
- * Implements hook_video_embed_field_handlers_alter().
- */
- function jeemod_video_embed_field_handlers_alter(&$handlers) {
- $handlers['vimeo']['function'] = 'jeemod_handle_vimeo';
- }
- /**
- * Wrapper function to allow forcing API to be enabled for Vimeo videos.
- */
- function jeemod_handle_vimeo($url, $settings) {
- // dsm($settings, 'settings');
- // dsm($url, 'url');
- $settings['api'] = 1;
- // $r = db_query("SELECT entity_id FROM {field_data_field_video} WHERE field_video_video_url = :url", array(
- // ':url' => $url
- // ));
- // foreach($r as $result){
- // $id = $result->entity_id;
- // }
- // $id =
- // $settings['player_id'] = "video".$id;
- // return video_embed_field_handle_vimeo($url, $settings);
- // needed to rewrite the whole output here
- // https://github.com/jrue/Vimeo-jQuery-API
- // Get ID of video from URL
- $vid = _video_embed_field_get_vimeo_id($url);
- if (!$vid) {
- return array(
- '#markup' => l($url, $url),
- );
- }
- // Construct the embed code
- $settings['portrait'] = 0;
- $width = $settings['width'];
- $height = $settings['height'];
- unset($settings['width']);
- unset($settings['height']);
- unset($settings['color']);
- unset($settings['portrait']);
- unset($settings['title']);
- unset($settings['byline']);
- unset($settings['autoplay']);
- unset($settings['loop']);
- $settings['player_id'] = "video-".uniqid();
- $settings_str = _video_embed_code_get_settings_str($settings);
- return array(
- '#markup' => '<iframe id="video'.$settings['player_id'].'" width="' . $width . '" height="' . $height . '" src="//player.vimeo.com/video/' . $vid .
- '?' . $settings_str . '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>',
- );
- }
- /**
- * Implements hook_field_formatter_info().
- */
- function jeemod_field_formatter_info() {
- return array(
- 'share_butons' => array(
- 'label' => t('Share butons (Twitter, Facebook)'),
- 'field types' => array('text'),
- ),
- );
- }
- /**
- * Implements hook_field_formatter_view().
- */
- function jeemod_field_formatter_view($entity_type, $entity, $field, $instance, $lang_code, $items, $display) {
- $element = array();
- foreach ($items as $delta => $item) {
- $element[$delta] = array(
- '#theme' => 'jeemod_share_links',
- '#entity' => $entity,
- // '#url' => $entity->field_partager['und'][0]['url'],
- );
- }
- return $element;
- }
- /**
- * Implements hook_theme().
- */
- function jeemod_theme() {
- return array(
- 'jeemod_share_links' => array(
- 'template' => 'jeemod_share_links',
- 'variables' => array(
- 'entity' => NULL,
- // 'url' => NULL,
- ),
- ),
- );
- }
- function jeemod_preprocess_jeemod_share_links(&$vars){
- global $base_url;
- // dsm($vars);
- $entity = $vars['entity'];
- $sitetitle = variable_get('site_name', '');
- $nodetitle = $entity->title;
- $nodeurl = $base_url . url('node/'.$entity->nid);//$base_url . base_path() . "#principe-" . $entity->nid;
- $text = $nodetitle ." | ". $sitetitle . " - " . $nodeurl;
- $tags = explode(' ', str_replace('#', '', $entity->field_partager['und'][0]['value']));
- // twitter
- $vars['twitter_url'] = url("https://twitter.com/intent/tweet", array(
- 'absolute'=>true,
- 'query'=>array(
- // "button_hashtag"=>implode(',',$tags),
- "button_hashtag"=>$tags[0],
- "text"=>$text,
- )
- ));
- $vars['twitter_title'] = "Twitter $nodetitle";
- // face book
- $vars['fb_url'] = url("https://www.facebook.com/sharer.php", array(
- 'absolute'=>true,
- 'query'=>array(
- "u"=>$nodeurl,
- "t"=>$text,
- )
- ));
- $vars['fb_title'] = "Partager $nodetitle";
- // mail
- // $vars['mail_url'] = "mailto:?subject=$nodetitle&body=$text";
- $vars['mail_url'] = url("mailto:", array(
- 'absolute'=>true,
- 'query'=>array(
- "subject"=>$text,
- "body"=>$text,
- )
- ));
- $vars['mail_title'] = "Envoyer par email $nodetitle";
- }
|