/** * Import Data */ function rtmpupload() { global $Itemid, $option; $db = & JFactory::getDBO(); $my = & JFactory::getUser(); $app = & JFactory::getApplication(); $rtmpurl = Jrequest::getVar( 'rtmpurl', '' ); $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=import' ); } $thumbnailurl = Jrequest::getVar( 'thumbnailurl', '' ); $validated_thumbnail_url = hwd_vs_tools::validateUrl($thumbnailurl); if (!empty($validated_thumbnail_url) && !hwd_vs_tools::is_valid_url($validated_thumbnail_url)) { $app->enqueueMessage(_HWDVIDS_ALERT_TURLWRONG); $app->redirect( JURI::root( true ) . '/administrator/index.php?option=com_hwdvideoshare&task=import' ); } $type = Jrequest::getVar( 'type', 'rtmp' ); $video_id = $validated_rtmpurl; $title = Jrequest::getVar( 'title', 'no name supplied' ); $description = Jrequest::getVar( 'description', 'no name supplied' ); $category_id = JRequest::getInt( 'category_id', 0, 'post' ); $tags = Jrequest::getVar( 'tags', 'no name supplied' ); $duration = Jrequest::getVar( 'duration', 'no name supplied' ); $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); $db->SetQuery('SELECT count(*) FROM #__hwdvidsvideos WHERE video_id = "'.$video_id.'"'); $duplicatecount = $db->loadResult(); if ($duplicatecount > 0) { echo "<script>alert('"._HWDVIDS_ALERT_DUPLICATE."'); window.history.go(-1);</script>\n"; return; } if ($type == "smil") { $_POST['video_type'] = "smil"; } else { $_POST['video_type'] = "rtmp"; } $_POST['video_id'] = $video_id; $_POST['title'] = $title; $_POST['description'] = $description; $_POST['category_id'] = $category_id; $_POST['tags'] = $tags; $_POST['video_length'] = $duration; $_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'] = $my->id; $_POST['published'] = "0"; $_POST['approved'] = "yes"; $_POST['thumbnail'] = $thumbnailurl; if(empty($_POST['video_id'])) { $app->enqueueMessage(_HWDVIDS_ALERT_ERRREM); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='. $option .'&task=import'); return; } // 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(); } // perform maintenance include(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'maintenance_recount.class.php'); hwd_vs_recount::recountVideosInCategory($row->category_id); 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; hwdvsEvent::onAfterVideoUpload($params); $app->enqueueMessage(_HWDVIDS_ALERT_SUCREM); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='. $option .'&task=editvidsA&hidemainmenu=1&cid='.$row->id ); }
/** * approve (& publish) videos */ function approve($cid=null, $publish=1) { global $option; $db =& JFactory::getDBO(); $my = & JFactory::getUser(); $app = & JFactory::getApplication(); if (count( $cid ) < 1) { $action = $publish == 1 ? 'approve' : ($publish == -1 ? 'unapprove' : 'unpublishg'); echo "<script> alert('Select an item to $action'); window.history.go(-1);</script>\n"; exit; } $total = count ( $cid ); $cids = implode( ',', $cid ); $db->setQuery( "UPDATE #__hwdvidsvideos" . "\nSET approved = 'yes', published = 1" . "\n WHERE id IN ( $cids )" . "\n AND ( checked_out = 0 OR ( checked_out = $my->id ) )" ); if (!$db->query()) { echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n"; exit(); } if (count($cid) > 1) { include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'helpers'.DS.'events.php'); for ($i=0, $n=count($cid); $i < $n; $i++) { $row = new hwdvids_video($db); $row->load( $cid[$i] ); $params->title = $row->title; $params->id = $row->id; $params->category_id = $row->category_id; $params->type = $row->video_type; $params->user_id = $row->user_id; hwdvsEvent::onAfterVideoApproval($params); } } else { include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'helpers'.DS.'events.php'); $row = new hwdvids_video($db); $row->load( $cids ); $params->title = $row->title; $params->id = $row->id; $params->category_id = $row->category_id; $params->type = $row->video_type; $params->user_id = $row->user_id; hwdvsEvent::onAfterVideoApproval($params); } $msg = $total ._HWDVIDS_ALERT_ADMIN_VIDAPP." "; $app->enqueueMessage($msg); $app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=approvals' ); }
/** * List Groups Created by User */ function approvevideo() { global $mainframe, $option, $isModerator; $db =& JFactory::getDBO(); $my = & JFactory::getUser(); if (!$isModerator) { $msg = "Only moderators can access this page"; $mainframe->enqueueMessage($msg); $mainframe->redirect( JURI::root( true ) . '/index.php?option=com_hwdvideoshare&task=frontpage&Itemid='.$hwdvsItemid ); } $video_id = JRequest::getInt( "videoid", "" ); $db->setQuery("UPDATE #__hwdvidsvideos SET approved = 'yes', published = 1 WHERE id = $video_id"); if (!$db->query()) { echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n"; exit(); } include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'helpers'.DS.'events.php'); $row = new hwdvids_video($db); $row->load( $cids ); $params->title = $row->title; $params->id = $row->id; $params->category_id = $row->category_id; $params->type = $row->video_type; $params->user_id = $row->user_id; hwdvsEvent::onAfterVideoApproval($params); $msg = $total ._HWDVIDS_ALERT_ADMIN_VIDAPP." "; $mainframe->enqueueMessage($msg); $mainframe->redirect( JURI::root( true ) . '/index.php?option=com_hwdvideoshare&task=pending' ); }
/** * 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; } }
function onAfterVideoUpload($params) { global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_live_site, $Itemid, $mosConfig_sitename, $mainframe; $c = hwd_vs_Config::get_instance(); $my = & JFactory::getUser(); // send upload to converter if required if ($c->requiredins == 1 && ($params->type == "local" || $params->type == "mp4" || $params->type == "swf")) { $s = hwd_vs_SConfig::get_instance(); if ($c->autoconvert == "direct") { if(substr(PHP_OS, 0, 3) != "WIN") { @exec("env -i $s->phppath ".JPATH_SITE.DS."components".DS."com_hwdvideoshare".DS."converters".DS."converter.php &>/dev/null &"); } else { pclose(popen("start \"bla\" \"" . $s->phppath . "\" " . escapeshellarg("\"".JPATH_SITE.DS."components".DS."com_hwdvideoshare".DS."converters".DS."converter.php\""), "r")); //@exec("$s->phppath \"".JPATH_SITE.DS."components".DS."com_hwdvideoshare".DS."converters".DS."converter.php\" >nul"); } } else if ($c->autoconvert == "wget1") { if(substr(PHP_OS, 0, 3) != "WIN") { @exec("env -i $s->wgetpath -O - -q ".JURI::root()."components/com_hwdvideoshare/converters/converter.php &>/dev/null &"); } else { @exec("$s->wgetpath \"".JURI::root()."components/com_hwdvideoshare/converters/converter.php\" NUL"); } } else if ($c->autoconvert == "wget2") { if(substr(PHP_OS, 0, 3) != "WIN") { @exec("env -i $s->wgetpath -O - -q ".JURI::root()."components/com_hwdvideoshare/converters/converter.php >/dev/null &"); } else { @exec("$s->wgetpath \"".JURI::root()."components/com_hwdvideoshare/converters/converter.php\" NUL"); } } } // mail admin notification if ($c->mailvideonotification == 1) { $jconfig = new jconfig(); $mailbody = ""._HWDVIDS_MAIL_BODY0.$jconfig->sitename.".\n"; $mailbody .= ""._HWDVIDS_MAIL_BODY1."\"".$params->title."\".\n"; $mailbody .= "".JURI::root()."index.php?option=com_hwdvideoshare&Itemid=".$Itemid."&task=viewvideo&video_id=".$params->id."\n\n"; $mailbody .= ""._HWDVIDS_MAIL_BODY2."\n"; $mailbody .= JURI::root()."administrator"; JUtility::sendMail( $jconfig->mailfrom, $jconfig->fromname, $c->mailnotifyaddress, _HWDVIDS_MAIL_SUBJECT1.$jconfig->sitename.' ', $mailbody ); } if ($params->type == "local" || $params->type == "mp4" || $params->type == "swf") { if ($c->aav == 1) { hwdvsEvent::onAfterVideoApproval($params); } } else { if ($c->aa3v == 1) { hwdvsEvent::onAfterVideoApproval($params); } } }