function create_swfdoc($ppt_id, $video_id, $name, $path)
{
    global $USER;
    $kClient = KalturaHelpers::getKalturaClient();
    $real_path = $kClient->getConfig()->serviceUrl . '/index.php/extwidget/raw/entry_id/' . $ppt_id . '/p/' . $kClient->getConfig()->partnerId . '/sp/' . $kClient->getConfig()->partnerId * 100 . '/type/download/format/swf/direct_serve/1';
    $entry_id = $video_id;
    //	$path = $_SESSION[$_POST["ppt"]];
    if (strpos($kClient->getConfig()->serviceUrl, 'www.kaltura.com') && strpos($path, 'www.kaltura.com')) {
        $real_path = str_replace('www.kaltura.com', 'cdn.kaltura.com', $real_path);
    }
    $xml = '<sync><video><entryId>' . $entry_id . '</entryId></video><slide><path>' . $real_path . '</path></slide>';
    $xml .= '<times></times></sync>';
    $entry = new KalturaDataEntry();
    $entry->dataContent = $xml;
    $entry->mediaType = KalturaEntryType::DOCUMENT;
    $result = $kClient->data->add($entry);
    // Insert the entry into kaltura_entries
    /*	$entry = new stdClass;
    	$entry->media_type = '10';
    	$entry->entry_id = $result["result"]["entry"]["id"];
    	$entry->parent_id = $entry->entry_id;
    	$entry->title = mysql_real_escape_string($name);
    	$entry->user_id = $USER->id;
    	$entry->created = time();
    	$newId = insert_record('kaltura_entries', $entry);
    */
    return $result->id;
}
function check_video_status($entryId)
{
    try {
        $client = KalturaHelpers::getKalturaClient();
        $entry = $client->baseEntry->get($entryId);
        if ($entry->status == KalturaEntryStatus::READY) {
            echo 'y:<img src="' . KalturaHelpers::getThumbnailUrl(null, $entryId, 140, 105) . '" />';
        } else {
            echo 'n:';
        }
    } catch (Exception $exp) {
        die('e:' . $exp->getMessage());
    }
}
예제 #3
0
 function hasMobileFlavores()
 {
     try {
         $kaltura_client = KalturaHelpers::getKalturaClient(TRUE);
         $session_user = KalturaHelpers::getSessionUser();
         $filter = new KalturaPermissionFilter();
         // Class KalturaPermissionName don't exist in later versions of client
         // library, so just replace the needed property with its value.
         $filter->nameEqual = 'FEATURE_MOBILE_FLAVORS';
         // create a permission service object
         $permissionService = new KalturaPermissionService($kaltura_client);
         $res = $permissionService->listAction($filter);
         if ($res->totalCount == 1) {
             // expected only one permission or no permissions at all
             if ($res->objects[0]->status == KalturaPermissionStatus::ACTIVE) {
                 return TRUE;
             }
         }
     } catch (Exception $e) {
         watchdog_exception('kaltura', $e);
     }
     return FALSE;
 }
    function setup_elements(&$mform)
    {
        global $CFG, $RESOURCE_WINDOW_OPTIONS;
        $isNew = true;
        if (KalturaHelpers::getPlatformKey("partner_id", "none") == "none") {
            //        $basic = get_string('needreg', 'kaltura');
            //        $str = str_replace("##SERVER##", $CFG->wwwroot . "/admin/settings.php?section=modsettingkaltura", $basic);
            //        $mform->addElement('static', 'pleasereg',$str, '');
            redirect($CFG->wwwroot . "/admin/module.php?module=kaltura");
            die;
            //        return;
        }
        if (isset($_GET['update'])) {
            $isNew = false;
            $item_id = $_GET['update'];
            $result = get_record('course_modules', 'id', $item_id);
            $result = get_record('resource', 'id', $result->instance);
            $entry = get_record('kaltura_entries', 'context', "R_" . "{$result->id}");
            $default_entry = $entry;
            $url = $CFG->wwwroot . '/mod/kaltura/kswfdoc.php?entry_id=' . $entry->entry_id . '&context=' . $this->course->id;
            $editSyncButton = '<button onclick="kalturaInitModalBox(\'' . $url . '\', {width:780, height:400});return false;">' . get_string('editsyncpoints', 'kaltura') . '</button>';
            $mform->addElement('static', 'edit_sync', get_string('editsyncpoints', 'kaltura'), $editSyncButton);
        } else {
            $last_entry_id = get_field('kaltura_entries', 'max(id)', 'id', 'id');
            if (!empty($last_entry_id)) {
                $default_entry = get_record('kaltura_entries', 'id', "{$last_entry_id}");
                $default_entry->title = "";
            } else {
                $default_entry = new kaltura_entry();
            }
        }
        $hidden_alltext = new HTML_QuickForm_hidden('alltext', $default_entry->dimensions, array('id' => 'id_alltext'));
        $mform->addElement($hidden_alltext);
        $hidden_popup = new HTML_QuickForm_hidden('popup', '', array('id' => 'id_popup'));
        $mform->addElement($hidden_popup);
        $hidden_dimensions = new HTML_QuickForm_hidden('dimensions', $default_entry->dimensions, array('id' => 'id_dimensions'));
        $mform->addElement($hidden_dimensions);
        $hidden_size = new HTML_QuickForm_hidden('size', $default_entry->size, array('id' => 'id_size'));
        $mform->addElement($hidden_size);
        $hidden_custom_width = new HTML_QuickForm_hidden('custom_width', $default_entry->custom_width, array('id' => 'id_custom_width'));
        $mform->addElement($hidden_custom_width);
        $hidden_design = new HTML_QuickForm_hidden('design', $default_entry->design, array('id' => 'id_design'));
        $mform->addElement($hidden_design);
        $hidden_title = new HTML_QuickForm_hidden('title', $default_entry->title, array('id' => 'id_title'));
        $mform->addElement($hidden_title);
        $hidden_entry_type = new HTML_QuickForm_hidden('entry_type', $default_entry->entry_type, array('id' => 'id_entry_type'));
        $mform->addElement($hidden_entry_type);
        $hidden_ppt = new HTML_QuickForm_hidden('ppt_input', $ppt_id, array('id' => 'id_ppt_input'));
        $mform->addElement($hidden_ppt);
        $hidden_video = new HTML_QuickForm_hidden('video_input', $video_id, array('id' => 'id_video_input'));
        $mform->addElement($hidden_video);
        $hidden_ppt_dnld = new HTML_QuickForm_hidden('ppt_dnld_url', $dnld_url, array('id' => 'id_ppt_dnld_url'));
        $mform->addElement($hidden_ppt_dnld);
        $cw_url = $CFG->wwwroot . '/mod/kaltura/kcw.php?mod=ppt_resource';
        $resource = $this->resource;
        $kaltura_client = KalturaHelpers::getKalturaClient();
        $thumbnail = "";
        $ppt_id = $video_id = $dnld_url = '';
        $vid_thumb = '';
        $has_ppt = $has_video = '0';
        if ($isNew) {
            $uploader = '<div id="swfdoc_section">
      <div style="border:1px solid #bcbab4;background-color:#f5f1e9;width:140px;height:105px;float:left;margin-right:80px;text-align:center;font-size:85%" id="thumb_video_holder">
      ' . $vid_thumb . '&nbsp;</div>
      <div style="border:1px solid #bcbab4;background-color:#f5f1e9;width:140px;height:105px;float:left;text-align:center;font-size:85%" id="thumb_doc_holder">' . $ppt_thumb . '&nbsp;</div><br/>
      <div style="width:140px;float:left;margin-right:80px;text-align:center;margin-top:10px;">
	      <input type="button" id="btn_selectvideo" value="' . get_string("selectvideo", "resource_kalturaswfdoc") . '" onclick="kalturaInitModalBox(\'' . $cw_url . '\', {width:760, height:422});return false;">
      </div>

      <div id="flashContainer" style="width:140px;float:left;text-align:center;margin-top:10px;">
      <script>	
	      pptIdHolder = document.getElementById("id_ppt_input");
	      pptThumbHolder = document.getElementById("thumb_doc_holder");
	      videoIdHolder = document.getElementById("id_video_input");
	      videoThumbHolder = document.getElementById("thumb_video_holder");
	      pptDnldUrlHolder = document.getElementById("id_ppt_dnld_url");
        
	      var has_ppt = ' . $has_ppt . ';
	      var has_video = ' . $has_video . ';
      	
	      $("document").ready(function(){ if(has_ppt && has_video) document.getElementById("sync_btn").disabled = false; });
      	
	      txt_document = "<br/>The Document is now being converted.<br/><br/><a href=\\"javascript:check_ready(\'ppt\')\\">Click here</a> to check if conversion is done";
	      function check_ready(theType){
		      if (theType == "ppt") {
			      theId = pptIdHolder.value;
			      theThumb = pptThumbHolder;
            theUrl = pptDnldUrlHolder.value;
		      }
		      var ksoa = new SWFObject("' . $CFG->wwwroot . '/mod/kaltura/images/Pleasewait.swf", "kwait", "140", "105", "9", "#ffffff");
		      ksoa.addParam("allowScriptAccess", "always");
		      ksoa.addParam("allowFullScreen", "TRUE");
		      ksoa.addParam("allowNetworking", "all");
		      ksoa.addParam("wmode","transparent");
		      if(ksoa.installedVer.major >= 9) {
			      ksoa.write("thumb_doc_holder");
		      }
      		
		      $.ajax({ 
		        type: "POST", 
		        url: "' . $CFG->wwwroot . '/mod/kaltura/kcheck_status.php", 
		        data: "type=ppt&downloadUrl="+theUrl, 
		        success: function(msg){ 
			      if (msg == "200") {
				      if (theType != "ppt") { 
					      theThumb.innerHTML = "<img src=\\"' . $kaltura_cdn_url . '/p/' . $CFG->kaltura_partner_id . '/sp/' . $CFG->kaltura_subp_id . '/thumbnail/entry_id/"+theId+"/width/140/height/105/type/3/bgcolor/ffffff\\">";
					      has_video = 1;
					      if (has_ppt) { document.getElementById("sync_btn").disabled = false; }
				      } else {
					      theThumb.innerHTML = "<img src=\\"' . $CFG->wwwroot . '/mod/kaltura/images/V_ico.png\\" style=\\"margin:12px;\\">";
					      has_ppt = 1;
					      if (has_video) { document.getElementById("sync_btn").disabled = false; }
				      }
      					
			      } else {
				      document.getElementById("thumb_doc_holder").innerHTML = txt_document;
			      } 
		        } 
		      });

	      }
	      var has_swfdoc = false;
              function set_has_swfdoc(val)
              {
                  has_swfdoc = val;
              }	
	      function create_swfdoc(){
                      if (has_swfdoc)
                      {
                          entry_id = document.getElementById("id_alltext").value;
                          url = "' . $CFG->wwwroot . '/mod/kaltura/kswfdoc.php?entry_id=" + entry_id + "&context=' . $this->course->id . '";
                          kalturaInitModalBox(url, {width:780, height:400});		
                      } else
                      {  	
		          $.ajax({ 
			          type: "POST", 
			          url: "' . $CFG->wwwroot . '/mod/kaltura/kcreate.php", 
			          data: "action=swfdoc&ppt=" + document.getElementById("id_ppt_input").value + "&video=" + document.getElementById("id_video_input").value + "&name=" + document.getElementById("id_name").value + "&downloadUrl="+pptDnldUrlHolder.value,
			          success: function(entry_id){ 
				          if (entry_id){
					          set_has_swfdoc(true);
					          document.getElementById("id_alltext").value = entry_id;
					          url = "' . $CFG->wwwroot . '/mod/kaltura/kswfdoc.php?entry_id=" + entry_id + "&context=' . $this->course->id . '";
					          kalturaInitModalBox(url, {width:780, height:400});
				          }
			          }
		          });
		      }
	      }
      		
	      function user_selected()
	      {
		      document.getElementById("uploader").upload();
	      }
      	
	      function uploaded()
	      {
        
	        document.getElementById("uploader").addEntries();
	      }
      	
	      function uploading(){
		      has_ppt = 0;

            var ksoa = new SWFObject("' . $CFG->wwwroot . '/mod/kaltura/images/Pleasewait.swf", "kwait", "140", "105", "9", "#ffffff");
            ksoa.addParam("allowScriptAccess", "always");
            ksoa.addParam("allowFullScreen", "TRUE");
            ksoa.addParam("allowNetworking", "all");
            ksoa.addParam("wmode","transparent");
            if(ksoa.installedVer.major >= 9) {
              ksoa.write("thumb_doc_holder");
            }

	      }
      	
	      function entries_added(obj)
	      {
		      document.getElementById("thumb_doc_holder").innerHTML = txt_document;
		      myobj = obj[0];
		      document.getElementById("id_ppt_input").value = myobj.entryId;

	        $.ajax({ 
			      type: "POST", 
			      url: "' . $CFG->wwwroot . '/mod/kaltura/kcreate.php", 
			      data: "action=ppt&ppt=" + document.getElementById("id_ppt_input").value,
            success: function(url){
                if( url.substring(0,2) == "y:")
                {
                  pptDnldUrlHolder.value = url.substring(2);
                }
            }
		      });
	          document.getElementById("uploader").removeFiles(0,0);
      	  
	      }
      	
	      delegate = { selectHandler: user_selected, progressHandler: uploading, allUploadsCompleteHandler: uploaded, entriesAddedHandler: entries_added };
      	
      	
      	
      </script>
          <span><input type="button" id="btn_uploaddoc" value="' . get_string("uploaddocument", "resource_kalturaswfdoc") . '.">
          <span style="border: 0px solid black; position: relative; top: -20px; width: 110px;" id="divKalturaKupload">
          
          <script type="text/javascript">
            var kso = new SWFObject("' . $kaltura_client->getConfig()->serviceUrl . '/kupload/ui_conf_id/1002613", "uploader", "110", "25", "9", "#ffffff");
            kso.addParam("flashVars", "ks=' . $kaltura_client->getKs() . '&uid=' . $USER->id . '&partnerId=' . $CFG->kaltura_partner_id . '&subPId=' . $CFG->kaltura_subp_id . '&entryId=-2&conversionProfile=5&maxUploads=10&maxFileSize=128&maxTotalSize=200&uiConfId=1002613&jsDelegate=delegate");
            kso.addParam("allowScriptAccess", "always");
            kso.addParam("allowFullScreen", "TRUE");
            kso.addParam("allowNetworking", "all");
            kso.addParam("wmode","transparent");
            if(kso.installedVer.major >= 9) {
              kso.write("divKalturaKupload");
            } else {
              document.getElementById("divKalturaKupload").innerHTML = "Flash player version 9 and above is required. <a href=\\"http://get.adobe.com/flashplayer/\\">Upgrade your flash version</a>";
            }
            
          function do_on_wait()
          {
            has_video = 1;
            if(has_ppt && has_video) document.getElementById("sync_btn").disabled = false;
          }

          </script>
	      </span></span>
      </div>
      <script>
      function save_sync() {
      
          create_swfdoc();
          document.getElementById("btn_uploaddoc").disabled = true;
          document.getElementById("btn_selectvideo").disabled = true;
          document.getElementById("divKalturaKupload").innerHTML = "";
      }
      </script>
      <div style="clear:both;text-align:center;width:370px;padding-top:20px;margin:0 auto;margin-left:-10px">' . get_string('syncdescription', 'resource_kalturaswfdoc') . '</div>
      <div style="clear:both;text-align:center;width:370px;padding-top:20px"><input type="button" id="sync_btn" onclick="save_sync()" value="' . get_string('syncpoints', 'kaltura') . '" DISABLED></div>

      </div>';
            $mform->addElement('static', 'divWait', '', get_wait_image("thumb_video_holder", "id_video_input"));
            $mform->addElement('static', 'ppt_thing', '', $uploader);
        }
        $mform->addElement('header', 'displaysettings', get_string('display', 'resource'));
    }
function embed_kswfdoc($entryId, $width, $height, $context_id)
{
    global $CFG, $USER;
    $client = KalturaHelpers::getKalturaClient();
    $kswf_player = KalturaHelpers::getPlatformKey("video_presentation", KalturaSettings_PLAY_VIDEO_PRESENTATION_UICONF_ID);
    $partnerId = KalturaHelpers::getPlatformKey("partner_id", "0");
    $swfUrl = KalturaHelpers::getSwfUrlForWidget($partnerId);
    $div_id = "kaltura_wrapper_" . $entryId;
    $kaltura_poweredby = '';
    $align = '';
    $custom_style = '';
    $links = '';
    $config = $client->getConfig();
    $context = get_context_instance(CONTEXT_COURSE, $context_id);
    if (has_capability('moodle/course:manageactivities', $context)) {
        //is admin
        $kc = KalturaHelpers::getKalturaClient(0, 'edit:' . $_GET['entry']);
        $adminvars = '"&adminMode=true"+"&partnerid=' . $config->partnerId . '"+"&subpid=' . $config->partnerId * 100 . '"+"&ks=' . $client->getKs() . '"+"&uid=' . $USER->id . '"';
    } else {
        //is student
        $kc = KalturaHelpers::getKalturaClient(0, 0);
        $adminvars = '"&adminMode=false"+"&partnerid=' . $config->partnerId . '"+"&subpid=' . $config->partnerId * 100 . '"+"&ks=' . $client->getKs() . '"+"&uid=' . $USER->id . '"';
    }
    $host = 'www.kaltura.com';
    if ($client->getConfig()->serviceUrl != 'http://www.kaltura.com') {
        $host = str_replace('http://', '', $kc->config->serviceUrl);
    }
    $flashVarsStr = '"host=' . $host . '"+' . $adminvars . '+"&debugMode=1" +"&kshowId=-1"+"&pd_sync_entry=' . $entryId . '"';
    $html = '
      <div id="' . $div_id . '" class="kaltura_wrapper" style="' . $align . $custom_style . '"' . $embed_options['js_events'] . '>' . $links . '</div>' . $kaltura_poweredby;
    $html .= '<script type="text/javascript">';
    $html .= 'function gotoEditorWindow(param1)';
    $html .= '{';
    $html .= '     onPlayerEditClick(param1);';
    $html .= '}';
    $html .= 'function onPlayerEditClick(param1)';
    $html .= '{';
    $html .= '      kalturaInitModalBox(\'' . $CFG->wwwroot . '/mod/kaltura/keditor.php?entry_id=' . '\'+param1 , {width:890, height:546});';
    $html .= '}';
    $html .= '        var kaltura_swf = new SWFObject("' . $swfUrl . '/uiconf_id/' . $kswf_player . '", "' . $div_id . '", "' . $width . '", "' . $height . '", "9", "#ffffff");';
    $html .= '        kaltura_swf.addParam("flashVars", ' . $flashVarsStr . ');';
    $html .= '        kaltura_swf.addParam("wmode", "opaque");';
    $html .= '        kaltura_swf.addParam("allowScriptAccess", "always");';
    $html .= '        kaltura_swf.addParam("allowFullScreen", "TRUE");';
    $html .= '        kaltura_swf.addParam("allowNetworking", "all");';
    $html .= '        if(kaltura_swf.installedVer.major >= 9) {';
    $html .= '          kaltura_swf.write("' . $div_id . '");';
    $html .= '        } else {';
    $html .= '          document.getElementById("' . $div_id . '").innerHTML = "Flash player version 9 and above is required. <a href=\'http://get.adobe.com/flashplayer/\'>Upgrade your flash version</a>";';
    $html .= '        }</script>';
    return $html;
}
예제 #6
0
 function hasMobileFlavores()
 {
     $kaltura_client = KalturaHelpers::getKalturaClient(TRUE);
     $session_user = KalturaHelpers::getSessionUser();
     $filter = new KalturaPermissionFilter();
     $filter->nameEqual = KalturaPermissionName::FEATURE_MOBILE_FLAVORS;
     // create a permission service object
     $permissionService = new KalturaPermissionService($kaltura_client);
     $res = $permissionService->listAction($filter);
     if ($res->totalCount == 1) {
         // expected only one permission or no permissions at all
         if ($res->objects[0]->status == KalturaPermissionStatus::ACTIVE) {
             return TRUE;
         }
     }
     return FALSE;
 }
예제 #7
0
 /**
  * oferc
  * @return: the list of players defined for the account
  */
 function getSitePlayers(&$arr)
 {
     static $players;
     $arr['48501'] = array('name' => 'Light', 'width' => 0, 'height' => 0);
     $arr['48502'] = array('name' => 'Dark', 'width' => 0, 'height' => 0);
     if (empty($players)) {
         $players = array();
         $client = KalturaHelpers::getKalturaClient(true);
         $listResponse = $client->uiConf->listAction();
         for ($i = 0; $i < $listResponse->totalCount; $i++) {
             if ($listResponse->objects[$i]->objType == KalturaUiConfObjType::PLAYER) {
                 //Don't show playlist as regular player
                 if (stristr($listResponse->objects[$i]->tags, "playlist") != FALSE) {
                     continue;
                 }
                 $arr[$listResponse->objects[$i]->id] = array('name' => $listResponse->objects[$i]->name, 'width' => $listResponse->objects[$i]->width, 'height' => $listResponse->objects[$i]->height);
                 $players[$listResponse->objects[$i]->id] = array('name' => $listResponse->objects[$i]->name, 'width' => $listResponse->objects[$i]->width, 'height' => $listResponse->objects[$i]->height);
                 //         print($listResponse->objects[$i]->tags); //this is a KalturaUiConf object
             }
         }
     } else {
         foreach ($players as $key => $sitePlayer) {
             $arr[$key] = $sitePlayer;
         }
     }
 }