/** * Save editted video details */ function saveVideoInfo() { global $Itemid, $mainframe; $db = & JFactory::getDBO(); $my = & JFactory::getUser(); $c = hwd_vs_Config::get_instance(); $app = & JFactory::getApplication(); $row = new hwdvids_video($db); $uid = JRequest::getInt( 'owner', 0, 'post' ); $rowid = JRequest::getInt( 'id', 0, 'post' ); $referrer = JRequest::getVar( 'referrer', JURI::root( true ) . '/index.php?option=com_hwdvideoshare&Itemid='.$Itemid ); // check component access settings and deny those without privileges if (!hwd_vs_access::allowAccess( $c->gtree_mdrt, $c->gtree_mdrt_child, hwd_vs_access::userGID( $my->id ))) { if ($my->id == $uid) { if ($my->id == "0") { $app->enqueueMessage(_HWDVIDS_ALERT_NOPERM); $app->redirect( $referrer ); } if ($c->allowvidedit == "0") { $app->enqueueMessage(_HWDVIDS_ALERT_NOPERM); $app->redirect( $referrer ); } // continue } else { $app->enqueueMessage(_HWDVIDS_ALERT_NOPERM); $app->redirect( $referrer ); } } $row->load( $rowid ); $old_category = $row->category_id; $file_name_org = $_FILES['thumbnail_file']['name']; $file_ext = substr($file_name_org, strrpos($file_name_org, '.') + 1); $thumbnail = ''; if ($_FILES['thumbnail_file']['tmp_name'] !== "") { if ($row->video_type == "local" || $row->video_type == "swf" || $row->video_type == "mp4") { $videocode = $row->video_id; $thumbnail = $file_ext; } else { $videocode = "tp-".$row->id; $thumbnail = "tp-".$row->id.".".$file_ext; } $base_Dir = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS; $upload_result = hwd_vs_tools::uploadFile("thumbnail_file", $videocode, $base_Dir, 2, "jpg,jpeg", 1); if ($upload_result[0] == "0") { $msg = $upload_result[1]; $app->enqueueMessage($msg); $app->redirect( JURI::root( true ) . '/index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editvideo&video_id='.$row->id ); } else { require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'thumbnail.inc.php'); $thumb_path_s = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.$videocode.'.'.$file_ext; $thumb_path_l = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.'l_'.$videocode.'.'.$file_ext; $twidth_s = round($c->con_thumb_n); $theight_s = round($c->con_thumb_n*$c->tar_fb); $twidth_l = round($c->con_thumb_l); $theight_l = round($c->con_thumb_l*$c->tar_fb); list($width, $height, $type, $attr) = @getimagesize($thumb_path_s); $ratio = $width/$height; //echo $thumb_path_s."<br />".$ratio."<br />".$width."<br />".$height."<br />".$c->tar_fb."<br />".$twidth_s."<br />".$theight_s; if ($ratio > 1) { $resized_l = new Thumbnail($thumb_path_s); $resized_l->resize($twidth_l,$twidth_l); $resized_l->cropFromCenter($twidth_l, $theight_l); $resized_l->save($thumb_path_l); $resized_l->destruct(); $resized_s = new Thumbnail($thumb_path_s); $resized_s->resize($twidth_s,$twidth_s); $resized_s->cropFromCenter($twidth_s, $theight_s); $resized_s->save($thumb_path_s); $resized_s->destruct(); } else { $resized_l = new Thumbnail($thumb_path_s); $resized_l->resize($twidth_l,2000); $resized_l->cropFromCenter($twidth_l, $theight_l); $resized_l->save($thumb_path_l); $resized_l->destruct(); $resized_s = new Thumbnail($thumb_path_s); $resized_s->resize($twidth_s,1000); $resized_s->cropFromCenter($twidth_s, $theight_s); $resized_s->save($thumb_path_s); $resized_s->destruct(); } } } else { //echo "No thumbnail uploaded"; } $title = hwd_vs_tools::generatePostTitle(); $description = hwd_vs_tools::generatePostDescription(); $tags = hwd_vs_tools::generatePostTags(); $password = Jrequest::getVar( 'hwdvspassword', '' ); if (!empty($password)) { $password = md5($password); $_POST['password'] = $password; } $_POST['id'] = $rowid; $_POST['title'] = $title; $_POST['description'] = $description; $_POST['category_id'] = JRequest::getInt( 'category_id', 0 ); $_POST['tags'] = $tags; if (!empty($thumbnail)) { $_POST['thumbnail'] = $thumbnail; } // bind it to the table if (!$row->bind($_POST)) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // Make sure the record is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // store it in the db if (!$row->store()) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'maintenance_recount.class.php'); hwd_vs_recount::recountVideosInCategory($row->category_id); hwd_vs_recount::recountVideosInCategory($old_category_id); $msg = _HWDVIDS_ALERT_VIDEDITSAVED; $app->enqueueMessage($msg); $app->redirect( $referrer ); }
/** * edit videos */ function updateVideoSource() { global $option; $db =& JFactory::getDBO(); $my = & JFactory::getUser(); $app = & JFactory::getApplication(); $c = hwd_vs_Config::get_instance(); $video_type = Jrequest::getVar( 'videotype', '0' ); $video_id = Jrequest::getVar( 'id', '0' ); $updatedetails = Jrequest::getVar( 'updatedetails', '0' ); $admin_import = true; require_once(JPATH_SITE.DS.'components'.DS.'com_hwdvideoshare'.DS.'models'.DS.'uploads.php'); $row = new hwdvids_video($db); $row->load( $video_id ); if ($video_type == 1) { $requestarray = JRequest::get( 'default', 2 ); $embeddump = $requestarray['embeddump']; $remote_verified = null; $parsedurl = parse_url($embeddump); if (empty($parsedurl['host'])) { $parsedurl['host'] = ''; } preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $parsedurl['host'], $regs); if (empty($regs['domain'])) { $regs['domain'] = ''; } if ($regs['domain'] == 'youtube.com' && file_exists(JPATH_SITE.'/plugins/hwdvs-thirdparty/youtube.php')) { require_once(JPATH_SITE.'/plugins/hwdvs-thirdparty/youtube.php'); } else if ($regs['domain'] == 'google.com' && file_exists(JPATH_SITE.'/plugins/hwdvs-thirdparty/google.php')) { require_once(JPATH_SITE.'/plugins/hwdvs-thirdparty/google.php'); } else if (file_exists(JPATH_SITE.'/plugins/hwdvs-thirdparty/'.$regs['domain'].'.php')) { require_once(JPATH_SITE.'/plugins/hwdvs-thirdparty/'.$regs['domain'].'.php'); } else { $pos_flv = strpos($embeddump, ".flv"); if ($pos_flv === false) { $remote_verified = 0; } else { $pos_flv = $pos_flv+4; $datadump = substr($embeddump, 0, $pos_flv); $pos_http = mb_strrpos($datadump, "http://"); if ($pos_http === false) { $error_msg = _HWDVIDS_ERROR_UPLDERR11."<br /><br />"._HWDVIDS_INFO_SUPPTPW."<br />".hwd_vs_tools::generateSupportedWebsiteList(); hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, $error_msg, "exclamation.png", 1); return; } else { $url = substr($datadump, $pos_http); } $pru = parse_url($url); $remoteurl = $pru['scheme']."://".$pru['host'].$pru['path']; if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i",$remoteurl)) { $remote_verified = 0; } else { $filegrab = @file_get_contents($remoteurl, null, null, 0, 16); $filecheck = @strpos($remoteurl, "flv"); if (isset($remoteurl) && !empty($remoteurl) && $filecheck !== false) { $remote_verified = 1; } else { $remote_verified = 0; } } } } $failures = ""; if (!isset($remote_verified)) { $cn = 'hwd_vs_tp_'.preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']); $f_processc = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processCode'; $f_processt = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processTitle'; $f_processd = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processDescription'; $f_processk = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processKeywords'; $f_processl = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processDuration'; $tp = new $cn(); $ext_v_code = $tp->$f_processc($embeddump); $ext_v_title = $tp->$f_processt($embeddump, @$ext_v_code[2]); $ext_v_descr = $tp->$f_processd($embeddump, @$ext_v_code[2]); $ext_v_keywo = $tp->$f_processk($embeddump, @$ext_v_code[2]); $ext_v_durat = $tp->$f_processl($embeddump, @$ext_v_code[2]); if ($ext_v_code[0] == "0") { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_INFO_TPPROCESSFAIL, "exclamation.png", 0); return; } if ($ext_v_title[0] == 0) {$failures.=_HWDVIDS_INFO_TPTITLEFAIL."<br />";} if ($ext_v_descr[0] == 0) {$failures.=_HWDVIDS_INFO_TPDESCFAIL."<br />";} if ($ext_v_keywo[0] == 0) {$failures.=_HWDVIDS_INFO_TPKWFAIL."<br />";} if ($ext_v_durat[0] == 0) {$failures.=_HWDVIDS_INFO_TPDRFAIL."<br />";} } else if ($remote_verified == 0) { $error_msg = _HWDVIDS_ERROR_UPLDERR11."<br /><br />"._HWDVIDS_INFO_SUPPTPW."<br />".hwd_vs_tools::generateSupportedWebsiteList(); hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, $error_msg, "exclamation.png", 1); return; } else if ($remote_verified == 1) { $ext_v_code[1] = $remoteurl.","; $ext_v_title[1] = _HWDVIDS_UNKNOWN; $ext_v_descr[1] = _HWDVIDS_UNKNOWN; $ext_v_keywo[1] = _HWDVIDS_UNKNOWN; $ext_v_durat[1] = "0:00:00"; $regs['domain'] = "remote"; } //check if already exists $db->SetQuery( 'SELECT count(*) FROM #__hwdvidsvideos WHERE video_id = "'.$ext_v_code[1].'"' ); $duplicatecount = $db->loadResult(); $admin_import = false; if ($duplicatecount > 0 && $admin_import == false) { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_ALERT_DUPLICATE, "exclamation.png", 0); return; } else if ($duplicatecount > 0 && $admin_import == true) { return false; } $title = $ext_v_title[1]; $title = stripslashes($title); $title = stripslashes($title); $title = hwdEncoding::charset_decode_utf_8($title); $title = hwdEncoding::charset_encode_utf_8($title); $title = htmlspecialchars_decode($title); $title = addslashes($title); $description = $ext_v_descr[1]; $description = stripslashes($description); $description = stripslashes($description); $description = hwdEncoding::charset_decode_utf_8($description); $description = hwdEncoding::charset_encode_utf_8($description); $description = htmlspecialchars_decode($description); $description = addslashes($description); $raw_tags = $ext_v_keywo[1]; $tags = ''; $tag_arr_co = explode(",", $raw_tags); for ($j=0, $m=count($tag_arr_co); $j < $m; $j++) { $row_co = $tag_arr_co[$j]; $tag_arr_sp = explode(" ", $row_co); for ($k=0, $p=count($tag_arr_sp); $k < $p; $k++) { $row_sp = $tag_arr_sp[$k]; $row_sp = hwdEncoding::charset_decode_utf_8($row_sp); $row_sp = preg_replace("/[^a-zA-Z0-9s_&#;-]/", "", $row_sp); $row_sp = hwdEncoding::charset_encode_utf_8($row_sp); if (!empty($row_sp)) { $tags.= $row_sp.","; } } } if (substr($tags, -2) == ", ") {$tags = substr($tags, 0, -2);} if (empty($title)) { $title = _HWDVIDS_UNKNOWN;} if (empty($description)) { $description = _HWDVIDS_UNKNOWN;} if (empty($tags)) { $tags = _HWDVIDS_UNKNOWN;} $_POST['video_type'] = $regs['domain']; $_POST['video_id'] = $ext_v_code[1]; if ($updatedetails == "on") { $_POST['title'] = $ext_v_title[1]; $_POST['description'] = $ext_v_descr[1]; $_POST['tags'] = $ext_v_keywo[1]; } // bind it to the table if (!$row -> bind($_POST)) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } // store it in the db if (!$row -> store()) { echo "<script> alert('" .$row -> getError() ."'); window.history.go(-1); </script>\n"; exit(); } $row->checkin(); } else if ($video_type == 2) { $data = explode(",", $row->video_id); $thumbnail = @$data[1]; $requestarray = JRequest::get( 'default', 2 ); $videourl = $requestarray['embeddump']; $validated_video_url = hwd_vs_tools::validateUrl($videourl); if (empty($validated_video_url)) { $msg = _HWDVIDS_ALERT_VURLWRONG; $app->enqueueMessage($msg); $app->redirect(JURI::root( true )."/administrator/index.php?option=com_hwdvideoshare&task=editvidsA&hidemainmenu=1&cid=".$row->id); } $new_video_id = $validated_video_url.",".$thumbnail; $_POST['video_type'] = "remote"; $_POST['video_id'] = $new_video_id; if (empty($row->thumbnail) && !empty($thumbnail)) { $_POST['thumbnail'] = $thumbnail; } // bind it to the table if (!$row->bind($_POST)) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // store it in the db if (!$row->store()) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } $row->checkin(); } else if ($video_type == 3) { $data = explode(",", $row->video_id); $thumbnail = @$data[1]; $requestarray = JRequest::get( 'default', 2 ); $rtmpurl = $requestarray['embeddump']; $validated_rtmpurl = hwd_vs_tools::validateUrl($rtmpurl); if (empty($validated_rtmpurl)) { $msg = _HWDVIDS_ALERT_VURLWRONG; $app->enqueueMessage($msg); $app->redirect(JURI::root( true )."/administrator/index.php?option=com_hwdvideoshare&task=editvidsA&hidemainmenu=1&cid=".$row->id); } $new_video_id = $validated_rtmpurl; $_POST['video_type'] = "rtmp"; $_POST['video_id'] = $new_video_id; if (empty($row->thumbnail) && !empty($thumbnail)) { $_POST['thumbnail'] = $thumbnail; } // bind it to the table if (!$row->bind($_POST)) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // store it in the db if (!$row->store()) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } $row->checkin(); } require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'maintenance_recount.class.php'); hwd_vs_recount::recountVideosInCategory($row->category_id); $app->enqueueMessage(_HWDVIDS_ALERT_VIDSAVED); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=editvidsA&hidemainmenu=1&cid='.$row->id ); }
/** * Import Data */ function importDirectory() { global $option; $db = & JFactory::getDBO(); $app = & JFactory::getApplication(); $c = hwd_vs_Config::get_instance(); $title = Jrequest::getVar( 'title', '' ); $description = Jrequest::getVar( 'description', 'Unknown' ); $category_id = JRequest::getInt( 'category_id', 0, 'post' ); $tags = Jrequest::getVar( 'tags', 'None', 'post' ); $public_private = JRequest::getWord( 'public_private', 'Public', 'post'); $allow_comments = JRequest::getInt( 'allow_comments', 0, 'post' ); $allow_embedding = JRequest::getInt( 'allow_embedding', 0, 'post' ); $allow_ratings = JRequest::getInt( 'allow_ratings', 0, 'post' ); $user_id = JRequest::getInt( 'user_id', 0, 'post' ); $strDirName = Jrequest::getVar( 'directory', '' ); if (@$hndDir = opendir($strDirName)) { $intCount = 0; while (false !== ($strFilename = readdir($hndDir))) { if ($strFilename != "." && $strFilename != "..") { $file_ext = substr($strFilename, strrpos($strFilename, '.') + 1); if (empty($title)) { $title=$strFilename; } if (empty($description)) { $description="Unknown"; } if (empty($tags)) { $tags="None"; } if ($c->requiredins == "0") { if ($file_ext == "flv") { $file_video_id = hwd_vs_tools::generateNewVideoid(); $fileOriginal = $strDirName."/".$strFilename; $fileNew = JPATH_SITE ."/hwdvideos/uploads/".$file_video_id.".flv"; $_POST['video_id'] = $file_video_id; if ($c->aav == 1) { $_POST['approved'] = "yes"; } else { $_POST['approved'] = "pending"; } } else { continue; } } else { if ($file_ext == "flv") { $file_video_id = hwd_vs_tools::generateNewVideoid(); $fileOriginal = $strDirName."/".$strFilename; $fileNew = JPATH_SITE ."/hwdvideos/uploads/originals/".$file_video_id.".".$file_ext; $_POST['video_id'] = $file_video_id.".".$file_ext; $_POST['approved'] = "queuedforthumbnail"; } else if ($file_ext == "mp4") { $file_video_id = hwd_vs_tools::generateNewVideoid(); $fileOriginal = $strDirName."/".$strFilename; $fileNew = JPATH_SITE ."/hwdvideos/uploads/originals/".$file_video_id.".".$file_ext; $_POST['video_id'] = $file_video_id.".".$file_ext; $_POST['approved'] = "queuedformp4"; } else if ($file_ext == "swf") { $file_video_id = hwd_vs_tools::generateNewVideoid(); $fileOriginal = $strDirName."/".$strFilename; $fileNew = JPATH_SITE ."/hwdvideos/uploads/originals/".$file_video_id.".".$file_ext; $_POST['video_id'] = $file_video_id.".".$file_ext; $_POST['approved'] = "queuedforswf"; } else if ($file_ext == "mpg" || $file_ext == "mpeg" || $file_ext == "avi" || $file_ext == "divx" || $file_ext == "wmv" || $file_ext == "rm" || $file_ext == "mov" || $file_ext == "moov" || $file_ext == "asf" || $file_ext == "vob") { $file_video_id = hwd_vs_tools::generateNewVideoid(); $fileOriginal = $strDirName."/".$strFilename; $fileNew = JPATH_SITE ."/hwdvideos/uploads/originals/".$file_video_id.".".$file_ext; $_POST['video_id'] = $file_video_id.".".$file_ext; $_POST['approved'] = "queuedforconversion"; } else { continue; } } if (copy($fileOriginal, $fileNew)) { $row = new hwdvids_video($db); $_POST['video_type'] = "local"; $_POST['title'] = $title; $_POST['description'] = $description; $_POST['category_id'] = $category_id; $_POST['tags'] = $tags; $_POST['public_private'] = $public_private; $_POST['allow_comments'] = $allow_comments; $_POST['allow_embedding'] = $allow_embedding; $_POST['allow_ratings'] = $allow_ratings; $_POST['date_uploaded'] = date('Y-m-d H:i:s'); $_POST['user_id'] = $user_id; $_POST['published'] = "1"; $_POST['video_length'] = "0:00:00"; // bind it to the table if (!$row->bind($_POST)) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // store it in the db if (!$row->store()) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } } else { // NO COPY } $intCount++; } $title = Jrequest::getVar( 'title', '' ); } closedir($hndDir); } else { $msg = "This directory does not exist, or you do not have permission to access it. No videos have been imported."; $app->enqueueMessage($msg); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=import' ); } // send upload to converter if required if ($c->requiredins == 1) { if ($c->autoconvert == "direct") { @exec("env -i $s->phppath ".HWDVIDSPATH."/converters/converter.php &>/dev/null &"); } else if ($c->autoconvert == "wget") { @exec("env -i $s->wgetpath -O - -q ".$mosConfig_live_site."/components/com_hwdvideoshare/converters/converter.php &>/dev/null &"); } } $msg = $intCount." videos have been imported from this server directory."; $app->enqueueMessage($msg); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=import' ); }
/** * Outputs frontpage HTML * * @return Nothing */ function addConfirm($admin_import=false) { global $Itemid, $j15, $j16; $c = hwd_vs_Config::get_instance(); $db = & JFactory::getDBO(); $my = & JFactory::getUser(); $acl= & JFactory::getACL(); $security_code = JRequest::getCmd( 'security_code', '' ); if ($c->disablecaptcha == "1") { $checksecurity = "0"; } else { $checksecurity = "1"; } if ($checksecurity == "1" && !$admin_import) { if(($_SESSION['security_code'] == $security_code) && (!empty($_SESSION['security_code'])) ) { unset($_SESSION['security_code']); } else { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_ALERT_ERRSC, "exclamation.png", 0); return; } } $requestarray = JRequest::get( 'default', 2 ); $embeddump = $requestarray['embeddump']; $remote_verified = null; $parsedurl = parse_url($embeddump); if (empty($parsedurl['host'])) { $parsedurl['host'] = ''; } preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $parsedurl['host'], $regs); if (empty($regs['domain'])) { $regs['domain'] = ''; } if ($j15) { if ($regs['domain'] == 'youtube.com' && file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'youtube.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'youtube.php'); } else if ($regs['domain'] == 'google.com' && file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'google.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'google.php'); } else if (file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.$regs['domain'].'.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.$regs['domain'].'.php'); } else { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'youtube.php'); $regs['domain'] = 'remote'; } } if ($j16) { if ($regs['domain'] == 'youtube.com' && file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'youtube'.DS.'youtube.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'youtube'.DS.'youtube.php'); } else if ($regs['domain'] == 'google.com' && file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'google'.DS.'google.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'google'.DS.'google.php'); } else if (file_exists(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'thirdpartysupportpack'.DS.$regs['domain'].'.php')) { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'thirdpartysupportpack'.DS.$regs['domain'].'.php'); } else { require_once(JPATH_SITE.DS.'plugins'.DS.'hwdvs-thirdparty'.DS.'remote'.DS.'remote.php'); $regs['domain'] = 'remote'; } } $failures = ""; if (!isset($remote_verified)) { $cn = 'hwd_vs_tp_'.preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']); $f_processc = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processCode'; $f_processi = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processThumbnail'; $f_processt = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processTitle'; $f_processd = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processDescription'; $f_processk = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processKeywords'; $f_processl = preg_replace("/[^a-zA-Z0-9s_-]/", "", $regs['domain']).'processDuration'; $tp = new $cn(); $ext_v_code = $tp->$f_processc($embeddump); //check if already exists $db->SetQuery( 'SELECT count(*) FROM #__hwdvidsvideos WHERE video_id = "'.$ext_v_code[1].'"' ); $duplicatecount = $db->loadResult(); if ($duplicatecount > 0 && $admin_import == false) { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_ALERT_DUPLICATE, "exclamation.png", 0); return; } else if ($duplicatecount > 0 && $admin_import == true) { return false; } $ext_v_title = $tp->$f_processt($embeddump, @$ext_v_code[1]); $ext_v_descr = $tp->$f_processd($embeddump, @$ext_v_code[1]); $ext_v_keywo = $tp->$f_processk($embeddump, @$ext_v_code[1]); $ext_v_durat = $tp->$f_processl($embeddump, @$ext_v_code[1]); if ($ext_v_code[0] == "0") { require_once(JPATH_SITE.'/plugins/hwdvs-thirdparty/remote.php'); $regs['domain'] = 'remote'; $tp = new hwd_vs_tp_remote(); $ext_v_code = $tp->remoteProcessCode($embeddump); $ext_v_title = $tp->remoteProcessTitle($embeddump, @$ext_v_code[1]); $ext_v_descr = $tp->remoteProcessDescription($embeddump, @$ext_v_code[1]); $ext_v_keywo = $tp->remoteProcessKeywords($embeddump, @$ext_v_code[1]); $ext_v_durat = $tp->remoteProcessDuration($embeddump, @$ext_v_code[1]); if ($ext_v_code[0] == "0") { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_INFO_TPPROCESSFAIL, "exclamation.png", 0); return; } //check if already exists $db->SetQuery( 'SELECT count(*) FROM #__hwdvidsvideos WHERE video_id = "'.$ext_v_code[1].'"' ); $duplicatecount = $db->loadResult(); if ($duplicatecount > 0 && $admin_import == false) { hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, _HWDVIDS_ALERT_DUPLICATE, "exclamation.png", 0); return; } else if ($duplicatecount > 0 && $admin_import == true) { return false; } } if ($ext_v_title[0] == 0) {$failures.=_HWDVIDS_INFO_TPTITLEFAIL."<br />";} if ($ext_v_descr[0] == 0) {$failures.=_HWDVIDS_INFO_TPDESCFAIL."<br />";} if ($ext_v_keywo[0] == 0) {$failures.=_HWDVIDS_INFO_TPKWFAIL."<br />";} if ($ext_v_durat[0] == 0) {$failures.=_HWDVIDS_INFO_TPDRFAIL."<br />";} } else if ($remote_verified == 0) { $error_msg = _HWDVIDS_ERROR_UPLDERR11."<br /><br />"._HWDVIDS_INFO_SUPPTPW."<br />".hwd_vs_tools::generateSupportedWebsiteList(); hwd_vs_tools::infomessage(4, 0, _HWDVIDS_TITLE_UPLDFAIL, $error_msg, "exclamation.png", 1); return; } $title = hwd_vs_tools::generatePostTitle($ext_v_title[1]); $description = hwd_vs_tools::generatePostDescription($ext_v_descr[1]); $tags = hwd_vs_tools::generatePostTags($ext_v_keywo[1]); $category_id = JRequest::getInt( 'category_id', 0, 'post' ); $public_private = JRequest::getWord( 'public_private' ); $allow_comments = JRequest::getInt( 'allow_comments', 0, 'post' ); $allow_embedding = JRequest::getInt( 'allow_embedding', 0, 'post' ); $allow_ratings = JRequest::getInt( 'allow_ratings', 0, 'post' ); $checkform = hwd_vs_tools::checkFormComplete($title, $description, $category_id, $tags, $public_private, $allow_comments, $allow_embedding, $allow_ratings); if (!$checkform) { return; } $row = new hwdvids_video($db); $password = Jrequest::getVar( 'hwdvspassword', '' ); if (!empty($password)) { $password = md5($password); $_POST['password'] = $password; } $_POST['video_type'] = $regs['domain']; $_POST['video_id'] = $ext_v_code[1]; $_POST['title'] = $title; $_POST['description'] = $description; $_POST['category_id'] = $category_id; $_POST['tags'] = $tags; $_POST['public_private'] = $public_private; $_POST['allow_comments'] = $allow_comments; $_POST['allow_embedding'] = $allow_embedding; $_POST['allow_ratings'] = $allow_ratings; $_POST['video_length'] = $ext_v_durat[1]; $_POST['date_uploaded'] = date('Y-m-d H:i:s'); if ($admin_import) { $_POST['user_id'] = $_REQUEST['user_id']; } else { $_POST['user_id'] = $my->id; } if ($c->aa3v == 1) { $_POST['approved'] = "yes"; $_POST['published'] = "1"; } else { $_POST['approved'] = "pending"; $_POST['published'] = "0"; } // bind it to the table if (!$row->bind($_POST)) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } // store it in the db if (!$row->store()) { echo "<script type=\"text/javascript\">alert('".$row->getError()."');window.history.go(-1);</script>\n"; exit(); } include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'helpers'.DS.'events.php'); $params->title = $title; $params->id = $row->id; $params->category_id = $row->category_id; $params->type = $row->video_type; $params->user_id = $row->user_id; hwdvsEvent::onAfterVideoUpload($params); // save remote thumbnail to disk $data = @explode(",", $row->video_id); $thumburl = hwd_vs_tools::get_final_url( @$ext_v_code[2] ); $thumbbase = "tp-".$row->id.".jpg"; $thumbpath = JPATH_SITE.DS."hwdvideos".DS."thumbs".DS.$thumbbase; $ch = curl_init ($thumburl); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); $rawdata=curl_exec($ch); curl_close ($ch); if(file_exists($thumbpath)) { unlink($thumbpath); } $fp = fopen($thumbpath,'x'); fwrite($fp, $rawdata); fclose($fp); if(file_exists($thumbpath)) { $db->SetQuery( "UPDATE #__hwdvidsvideos SET `thumbnail` = \"$thumbbase\" WHERE id = $row->id" ); $db->Query(); } $video = new hwdvids_video($db); $video->load( $row->id ); if (!$admin_import) { hwd_vs_html::addConfirm($title, $failures, $video); } else { return true; } }