1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Modification Youtube video в всплывающем окне

Discussion dans 'Моды / Хаки - Mods / Hacks' créé par jana, 14 Mars 2013.

  1. Controller User


    Оффлайн
    Messages:
    22
    J'aime reçus:
    5
    Версия SocialEngine:
    4.2.9
    Вообщем видео генерится в файле application/modules/Video/Model/Video.php (html также, просто посмотрите весь файл )
    Оно и для страницы просмотра и для ленты активности
    По мне более простым решением будет купить скачать плагин с лайтбоксом видео от SocialEngineAddons
    jana aime ça.
  2. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    Wertos spasiba konewno, no ja tak ponila eto dlja foto albomov, no mne nada dlja video chtobe otkritj video youtube v vsplivajuschem okne. Da ix raznix v internete popolnim,no ja skolkonestavlu u menja nepoluchajetsa. ja neznaju koda php, vot izza etogo i problemi. Bilo b v html mozet b i razobralasj. No vseravno vsem spasiba za pomosch. Budut noviji ideji ilikto gotov pomoch, piwite! :hat:
  3. Wertos User


    Оффлайн
    Messages:
    16
    J'aime reçus:
    6
    Версия SocialEngine:
    4.2.9
    jana, все из этих плагинов поддерживают подгрузку в окне html-контента. Что есть видео от ютуба... тот же html контент !
    вот и грузи в окно
    HTML:
    <iframe width="640" height="360" src="http://www.youtube.com/embed/LDHR8FHzRY0?feature=player_detailpage" frameborder="0" allowfullscreen></iframe>
    например вот... это обычное html
  4. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    ex ladna, mne uze daze neudobno stala, dumoju chto nepoluchetsa u menja nichego, ja sama nenastolko silna v kodax chtobe gdeto chegoto vstavitj i gdeto ubratj, ja bojusj naportachitj jescho huze budet... ladna izvenite chto potrevozela, budu kakto ponemnogu sama probovatj :wcread:
  5. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    podskazite pozalujsta kuda i kak pravilno nada propisatj vot etu strochku class="fancybox" vot v etom kode chto v nizu. Nu mne nada chtobe nazimaja na malenkuju kartingu thumbnails perexodilo po etoj ssilke i bil b zadeistvovam etot class.


    Code:
              <?php
                if( $item->photo_id ) echo $this->htmlLink($item->getHref(), $this->itemPhoto($item, 'thumb.normal'));
                else echo '<img alt="" src="application/modules/Video/externals/images/video.png">';
              ?>
  6. Wertos User


    Оффлайн
    Messages:
    16
    J'aime reçus:
    6
    Версия SocialEngine:
    4.2.9
    jana, дак это не то скорее всего. Конструкция выводит скриншот видео, если есть, если нету то выводит стандартный рисунок... но не само видео...
  7. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    Wertos vi na verno kak vsegda prav, nravitsa mne umnije ljudi... Vot ja vilozu fail kotorij otobrozajet malenkije thumbnailsi vsex video, podskazite pozalujsta gde v kakoj strochke propisivatj class chtobe on zadeistvoval nu naprimer Lightbox. V Lightboxtam idjot takaja strochka rel=lightbox napisano chto etu strocku nada vstavitj v ssilku kotoraja perexodit na bolwoj vivod video. Ex kak slozno naverna napisala, sama uze zaputalasj... Vot kod vsex video prevjuwek.

    browser.tpl
    Code:
    <?php
    /**
    * SocialEngine
    *
    * @category  Application_Extensions
    * @package    Video
    * @copyright  Copyright 2006-2010 Webligo Developments
    * @license    http://www.socialengine.net/license/
    * @version    $Id: browse.tpl 8330 2011-01-28 23:21:05Z john $
    * @author    Jung
    */
    ?>
     
    <div class="headline">
      <h2>
      <img src="foto/iconas/video_icon.png"> <?php echo $this->translate('Videos');?>
      </h2>
      <div class="tabs">
        <?php
          // Render the menu
          echo $this->navigation()
            ->menu()
            ->setContainer($this->navigation)
            ->render();
        ?>
      </div>
    </div>
     
    <div class='layout_right'>
      <?php echo $this->form->render($this) ?>
      <?php if($this->can_create):?>
      <div class="quicklinks">
        <ul>
          <li>
         
        <img src="foto/iconas/bezmaksas-sludinajumi.jpg" border="0" alt=""> </ul>
      </div>
      <?php endif; ?><div><center><br><script type="text/javascript" src="http://show.adclick.lv/show?id=9tzinb919et2aqg89srgkrbzw7mpienj"></script></center></div>
    </div>
     
    <div class='layout_middle'>
      <?php if( $this->tag ): ?>
        <h3>
          <?php echo $this->translate('Videos using the tag') ?>
          #<?php echo $this->tag ?>
          <a href="<?php echo $this->url(array('module' => 'video', 'controller' => 'index', 'action' => 'browse'), 'default', true) ?>">(x)</a>
        </h3>
      <?php endif; ?>
     
      <?php if( $this->paginator->getTotalItemCount() > 0 ): ?>
     
      <ul class="videos_browse">
        <?php foreach( $this->paginator as $item ): ?>
          <li>
           
            <div class="video_thumb_wrapper">
              <?php if( $item->duration ): ?>
              <span class="video_length">
                <?php
                  if( $item->duration > 360 ) $duration = gmdate("H:i:s", $item->duration); else $duration = gmdate("i:s", $item->duration);
                  if( $duration[0] == '0' ) $duration = substr($duration,1);
                  echo $duration;
                ?>
              </span>
              <?php endif ?>
              <?php
                if( $item->photo_id ) echo $this->htmlLink($item->getHref(), $this->itemPhoto($item, 'thumb.normal'));
                else echo '<img alt="" src="application/modules/Video/externals/images/video.png">';
              ?>
            </div>
            <?php echo $this->htmlLink($item->getHref(), $item->getTitle(), array('class' => 'video_title')) ?>
            <div class="video_author">
              <?php echo $this->translate('By') ?>
              <?php echo $this->htmlLink($item->getOwner()->getHref(), $item->getOwner()->getTitle()) ?>
            </div>
            <div class="video_stats">
              <span class="video_views">
                <?php echo $this->translate(array('%1$s view', '%1$s views', $item->view_count), $this->locale()->toNumber($item->view_count)) ?>
              </span>
              <?php if( $item->rating > 0 ): ?>
                <?php for( $x=1; $x<=$item->rating; $x++ ): ?>
                  <span class="rating_star_generic rating_star"></span>
                <?php endfor; ?>
                <?php if( (round($item->rating) - $item->rating) > 0): ?>
                  <span class="rating_star_generic rating_star_half"></span>
                <?php endif; ?>
              <?php endif; ?>
            </div>
          </li>
        <?php endforeach; ?>
      </ul>
      <?php elseif( $this->category ):?>
        <div class="tip">
          <span>
            <?php echo $this->translate('Nobody has posted a video with that criteria.');?>
          </span>
        </div>
      <?php else:?>
        <div class="tip">
          <span>
            <?php echo $this->translate('Nobody has created a video yet.');?>
            <?php if ($this->can_create):?>
              <?php echo $this->translate('Be the first to %1$spost%2$s one!', '<a href="'.$this->url(array('action' => 'create'), "video_general").'">', '</a>'); ?>
            <?php endif; ?>
          </span>
        </div>
      <?php endif; ?>
      <?php echo $this->paginationControl($this->paginator, null, null, array(
          'query' => $this->formValues,
          'pageAsQuery' => true,
        )); ?>
    </div>
  8. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    Вот и сам video.php файл, посмотрите может кто подскажет где тут чего поменять чтобе подключить Lightbox и вывести видео в сплывающем окне Спасиба!
    Code:
     <?php
    /**
    * SocialEngine
    *
    * @category  Application_Extensions
    * @package    Video
    * @copyright  Copyright 2006-2010 Webligo Developments
    * @license    http://www.socialengine.net/license/
    * @version    $Id: Video.php 7869 2010-12-01 00:20:30Z shaun $
    * @author    Jung
    */
     
    /**
    * @category  Application_Extensions
    * @package    Video
    * @copyright  Copyright 2006-2010 Webligo Developments
    * @license    http://www.socialengine.net/license/
    */
    class Video_Model_Video extends Core_Model_Item_Abstract
    {
      protected $_parent_type = 'user';
     
      protected $_owner_type = 'user';
     
      protected $_parent_is_owner = true;
     
      public function getHref($params = array())
      {
        $params = array_merge(array(
          'route' => 'video_view',
          'reset' => true,
          'user_id' => $this->owner_id,
          'video_id' => $this->video_id,
          'slug' => $this->getSlug(),
        ), $params);
        $route = $params['route'];
        $reset = $params['reset'];
        unset($params['route']);
        unset($params['reset']);
        return Zend_Controller_Front::getInstance()->getRouter()
          ->assemble($params, $route, $reset);
      }
     
      public function getRichContent($view = false, $params = array())
      {
        // if video type is youtube
        if ($this->type == 1){
          $videoEmbedded = $this->compileYouTube($this->code, $view);
        }
        // if video type is vimeo
        if ($this->type == 2){
          $videoEmbedded = $this->compileVimeo($this->code, $view);
        }
     
        // if video type is uploaded
        if ($this->type ==3){
          $video_location = Engine_Api::_()->storage()->get($this->file_id, $this->getType())->getHref();
          $videoEmbedded = $this->compileFlowPlayer($video_location, $view);
        }
     
        // $view == false means that this rich content is requested from the activity feed
        if($view==false){
        // prepare the duration
        //
        $video_duration = "";
        if($this->duration){
          if($this->duration>360) $duration = gmdate("H:i:s", $this->duration);
          else $duration = gmdate("i:s", $this->duration);
          if ($duration[0] =='0') $duration= substr($duration,1);
          $video_duration = "<span class='video_length'>".$duration."</span>";
        }
       
        // prepare the thumbnaile
        $thumb = Zend_Registry::get('Zend_View')->itemPhoto($this, 'thumb.video.activity');
     
        if ($this->photo_id){
          $thumb = Zend_Registry::get('Zend_View')->itemPhoto($this, 'thumb.video.activity');
        }
        else {
          $thumb = '<img alt="" src="application/modules/Video/externals/images/video.png">';
        }
     
        $thumb = '<a id="video_thumb_'.$this->video_id.'" style="" href="javascript:void(0);" onclick="javascript:var myElement = $(this);myElement.style.display=\'none\';var next = myElement.getNext(); next.style.display=\'block\';">
                  <div class="video_thumb_wrapper">'.$video_duration.$thumb.'</div>
                  </a>';
     
        // prepare title and description
        $title = "<a href='".$this->getHref($params)."'>$this->title</a>";
        $tmpBody = strip_tags($this->description);
        $description = "<div class='video_desc'>".(Engine_String::strlen($tmpBody) > 255 ? Engine_String::substr($tmpBody, 0, 255) . '...' : $tmpBody)."</div>";
     
        $videoEmbedded = $thumb.'<div id="video_object_'.$this->video_id.'" style="display:none;">'.$videoEmbedded.'</div><div class="video_info">'.$title.$description.'</div>';
        }
       
        return $videoEmbedded;
      }
     
      public function compileYouTube($code, $view){
        //560 x 340
        $embedded = '
        <object width="'.($view?"640":"425").'" height="'.($view?"420":"344").'">
        <param name="movie" value="http://www.youtube.com/v/'.$code.'&autoplay=1&hl=en_US&feature=player_embedded&fs=1"/>
        <param name="allowFullScreen" value="true"/>
        <param name="allowScriptAccess" value="always"/>
        <embed src="http://www.youtube.com/v/'.$code.'&autoplay=1&hl=en_US&feature=player_embedded&fs=1'.($view?"":"&autoplay=1").'" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="'.($view?"640":"425").'" height="'.($view?"420":"344").'" wmode="transparent"/>
        <param name="wmode" value="transparent" />
        </object>';
     
        return $embedded;
      }
      public function compileVimeo($code, $view){
        //640 x 360
        $embedded = '
        <object width="'.($view?"640":"400").'" height="'.($view?"360":"230").'">
        <param name="allowfullscreen" value="true"/>
        <param name="allowscriptaccess" value="always"/>
        <param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id='.$code.'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />
        <embed src="http://vimeo.com/moogaloop.swf?clip_id='.$code.'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1'.($view?"":"&amp;autoplay=1").'" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="'.($view?"640":"400").'" height="'.($view?"360":"230").'" wmode="transparent"/>
        <param name="wmode" value="transparent" />
        </object>';
     
        return $embedded;
      }
     
      public function compileFlowPlayer($location, $view){
        //    php echo $this->baseUrl() /externals/flowplayer/flowplayer-3.1.5.swf"
        $embedded = "
        <script type='text/javascript'>
        en4.core.runonce.add(function(){\$('video_thumb_".$this->video_id."').removeEvents('click').addEvent('click', function(){flashembed('video_object_$this->video_id',{src: '".Zend_Registry::get('Zend_View')->baseUrl()."/externals/flowplayer/flowplayer-3.1.5.swf', width: ".($view?"480":"420").", height: ".($view?"386":"326").", wmode: 'transparent'},{config: {clip: {url: '$location',autoPlay: ".($view?"false":"true").", duration: '$this->duration', autoBuffering: true},plugins: {controls: {background: '#000000',bufferColor: '#333333',progressColor: '#444444',buttonColor: '#444444',buttonOverColor: '#666666'}},canvas: {backgroundColor:'#000000'}}});})});
        </script>";
     
        return $embedded;
      }
     
      public function getKeywords($separator = ' ')
      {
        $keywords = array();
        foreach( $this->tags()->getTagMaps() as $tagmap ) {
          $tag = $tagmap->getTag();
          $keywords[] = $tag->getTitle();
        }
     
        if( null === $separator ) {
          return $keywords;
        }
     
        return join($separator, $keywords);
      }
     
      // Interfaces
     
      /**
      * Gets a proxy object for the comment handler
      *
      * @return Engine_ProxyObject
      **/
      public function comments()
      {
        return new Engine_ProxyObject($this, Engine_Api::_()->getDbtable('comments', 'core'));
      }
     
      /**
      * Gets a proxy object for the like handler
      *
      * @return Engine_ProxyObject
      **/
      public function likes()
      {
        return new Engine_ProxyObject($this, Engine_Api::_()->getDbtable('likes', 'core'));
      }
     
      /**
      * Gets a proxy object for the tags handler
      *
      * @return Engine_ProxyObject
      **/
      public function tags()
      {
        return new Engine_ProxyObject($this, $this->api()->getDbtable('tags', 'core'));
      }
    }
  9. Wertos User


    Оффлайн
    Messages:
    16
    J'aime reçus:
    6
    Версия SocialEngine:
    4.2.9
    jana, я нашёл нужный код ! котел написать, но мне форум сказал что нет прав и отредактировать предыдущий пост я не смог !
    Смысл в этом коде, это превьюшка скриншота видео
    PHP:

    $thumb 
    '<a id="video_thumb_'.$this->video_id.'" style="" href="javascript:void(0);" onclick="javascript:var myElement = $(this);myElement.style.display=\'none\';var next = myElement.getNext(); next.style.display=\'block\';">
    <div class="video_thumb_wrapper">'
    .$video_duration.$thumb.'</div>
    </a>'
    ;
    По клику на нём оно вот этот блок делает видимым, а это и есть плеер ютуба/мивео
    PHP:

    $videoEmbedded 
    $thumb.'<div id="video_object_'.$this->video_id.'" class="video_object">'.$videoEmbedded.'</div><div class="video_info">'.$title.$description.'</div>';
    тебе же надо чтобы по клику инициализировалось модальное окно... Если бы ты точно указала какую библиотеку хочешь использовать я бы попробовал написать функцию для onclick в ссылке.

    PS. Настоятельно НЕ рекомендую мешать mootools с jquery ! Есть всякие прикольные вещи на mootools(только вот к великому сожалению я с ним очень мало знаком, я работал только с jquery) !
    jana aime ça.
  10. jana Auteur de la discussion User


    Оффлайн
    Messages:
    82
    J'aime reçus:
    18
    Дорогой ты мой Wertosik, если все получется постораюсь тебя както одблагодарить, я б хотела на вот этом и думою он подойдет для видео, да и у меня уже на нем зделана всплывающая фотка профиля. Вот с этим: http://lokeshdhakar.com/projects/lightbox2/ Wertos, будет время напишите пожалуйста где и на что поменять и в каких фойлах. Ok?

Partager cette page

All rights reserved SocEngine.ru ©