/** * Outputs frontpage HTML * * @return Nothing */ function recent() { global $Itemid; $c = hwd_vs_Config::get_instance(); $db = & JFactory::getDBO(); $jconfig = new jconfig(); $my = & JFactory::getUser(); // sql search filters $where = ' WHERE a.published = 1'; $where .= ' AND a.approved = "yes"'; if (!$my->id) { $where .= ' AND a.public_private = "public"'; } // get videos $query = 'SELECT a.*' . ' FROM #__hwdvidsvideos AS a' . $where . ' ORDER BY a.date_uploaded DESC' . ' LIMIT 0, 50' ; $db->SetQuery($query); $rows = $db->loadObjectList(); $link_rss = JURI::root().'index.php?option=com_hwdvideoshare&task=rss&feed=recent'; $link_rss = str_replace("&", "&", $link_rss); echo '<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title>'.$jconfig->sitename.'</title> <link>'.JURI::root().'</link> <description>Recent Videos</description> <category>Video</category> <atom:link href="'.$link_rss.'" rel="self" type="application/rss+xml" /> '; for ($i=0, $n=count($rows); $i < $n; $i++) { $row = $rows[$i]; $title = stripslashes($row->title); $description = stripslashes($row->description); $category = html_entity_decode(hwd_vs_tools::generateCategory($row->category_id)); $link_video = JURI::root()."index.php?option=com_hwdvideoshare&task=viewvideo&Itemid=".$Itemid."&video_id=".$row->id; $link_video = 'http://'.$_SERVER['HTTP_HOST'].JRoute::_("index.php?option=com_hwdvideoshare&task=viewvideo&Itemid=$Itemid&video_id=$row->id"); $thumbnailURL = hwd_vs_tools::generateThumbnailURL( $row->id, $row->video_id, $row->video_type, $row->thumbnail ); if ($row->video_type == 'local') { $thumbnailURL = 'http://'.$_SERVER['HTTP_HOST'].$thumbnailURL; } else { $pos = strpos($thumbnailURL, "http"); if ($pos === false) { $thumbnailURL = 'http://'.$_SERVER['HTTP_HOST'].$thumbnailURL; } else { $thumbnailURL = $thumbnailURL; } } $thumbnailURL = str_replace("&", "&", $thumbnailURL); $downloadURL = $thumbnailURL; $downloadSIZE = "999"; date_default_timezone_set('GMT'); echo '<item> <title><![CDATA['.stripslashes($title).']]></title> <link><![CDATA['.$link_video.']]></link> <description><![CDATA[<img src="'.$thumbnailURL.'" style="float:right;padding:10px;" width="120" height="90" /> '.stripslashes($description).']]></description> <category><![CDATA['.stripslashes($category).']]></category> <pubDate>'.date('D, d M Y H:i:s e', strtotime($row->date_uploaded)).'</pubDate> <guid>'.$link_video.'</guid> <enclosure url="'.$downloadURL.'" length="'.$downloadSIZE.'" type="image/jpeg" /> </item> '; } echo ' </channel> </rss>'; exit; // <enclosure url="'.$downloadURL.'" length="'.$downloadSIZE.'" type="image/jpeg" /> // <enclosure url="'.$downloadURL.'" length="'.$downloadSIZE.'" type="video/x-flv" /> }
/** * edit videos */ function editvideos($row, $cat, $usr, $favs, $flagged) { global $option, $smartyvs, $Itemid; $c = hwd_vs_Config::get_instance(); jimport('joomla.user.authorization'); $editor =& JFactory::getEditor(); $acl=& JFactory::getACL(); // force no-cache so new thumbnail will display @header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); @header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); @header( 'Cache-Control: no-store, no-cache, must-revalidate' ); @header( 'Cache-Control: post-check=0, pre-check=0', false ); @header( 'Pragma: no-cache' ); /** define template variables **/ $hidden_inputs = '<input type="hidden" name="option" value="com_hwdvideoshare" /> <input type="hidden" name="id" value="'.$row->id.'" /> <input type="hidden" name="video_type" value="'.$row->video_type.'" /> <input type="hidden" name="task" value="savevid" />'; jimport('joomla.html.pane'); $pane =& JPane::getInstance('tabs'); $startpane = $pane->startPane( 'video-edit-pane' ); $endtab = $pane->endPanel(); $endpane = $pane->endPane(); $starttab1 = $pane->startPanel( _HWDVIDS_TAB_BASIC, 'panel1' ); $starttab2 = $pane->startPanel( _HWDVIDS_TAB_SHARING, 'panel2' ); //echo '<script type="text/javascript" src="'.JURI::root(true).'/components/com_hwdvideoshare/js/mootools-1.2-core-yc.js"></script>'; if ($row->public_private == "public") { $pubsel = "selected=\"selected\""; $regsel=null; $msel=null; $wsel=null; $gsel=null; $lsel=null; } else if ($row->public_private == "registered") { $regsel = "selected=\"selected\""; $pubsel=null; $msel=null; $wsel=null; $gsel=null; $lsel=null; } else if ($row->public_private == "me") { $msel = "selected=\"selected\""; $pubsel=null; $regsel=null; $wsel=null; $gsel=null; $lsel=null; } else if ($row->public_private == "password") { $wsel = "selected=\"selected\""; $pubsel=null; $regsel=null; $msel=null; $gsel=null; $lsel=null; } else if ($row->public_private == "group") { $gsel = "selected=\"selected\""; $pubsel=null; $regsel=null; $msel=null; $wsel=null; $lsel=null; } else if ($row->public_private == "level") { $lsel = "selected=\"selected\""; $pubsel=null; $regsel=null; $msel=null; $wsel=null; $gsel=null; } $public_private = "<select name=\"public_private\" onChange=\"ShowPasswordField()\"> <option value=\"public\" ".$pubsel.">"._HWDVIDS_SELECT_PUBLIC."</option> <option value=\"registered\" ".$regsel.">"._HWDVIDS_SELECT_REG."</option> <option value=\"me\" ".$msel.">"._HWDVIDS_SELECT_ME."</option> <option value=\"password\" ".$wsel.">"._HWDVIDS_SELECT_PASSWORD."</option> <option value=\"group\" ".$gsel.">"._HWDVIDS_SELECT_JACG."</option> <option value=\"level\" ".$lsel.">"._HWDVIDS_SELECT_JACL."</option> </select>"; $gtree=array(); $gtree[] = JHTML::_('select.option', -2 , '- ' ._HWDVIDS_SELECT_EVERYONE . ' -'); $gtree[] = JHTML::_('select.option', -1, '- ' . _HWDVIDS_SELECT_ALLREGUSER . ' -'); $gtree = array_merge( $gtree, $acl->get_group_children_tree( null, 'USERS', false ) ); if ($row->public_private == "group") { $gtree_video = JHTML::_('select.genericlist', $gtree, 'gtree_video', 'size="4"', 'value', 'text', $row->password); $smartyvs->assign( "gtree_video", $gtree_video ); } else { $gtree_video = JHTML::_('select.genericlist', $gtree, 'gtree_video', 'size="4"', 'value', 'text', ''); $smartyvs->assign( "gtree_video", $gtree_video ); } if ($row->public_private == "level") { $jacl_video = hwd_vs_tools::hwdvsMultiAccess( $row->password, 'jacl_video[]' ); $smartyvs->assign( "jacl_video", $jacl_video ); } else { $jacl_video = hwd_vs_tools::hwdvsMultiAccess( '', 'jacl_video[]' ); $smartyvs->assign( "jacl_video", $jacl_video ); } $missingfile=null; if ($row->video_type == "local" || $row->video_type == "mp4") { $location = _HWDVIDS_DETAILS_SOTS."<br />"; if (file_exists(JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".flv")) { $location.= "<b>"._HWDVIDS_NQFILE.":</b> ".JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".flv<br />"; } else { $location.= "<b>"._HWDVIDS_NQFILE.":</b> ".JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".flv <b>(MISSING)</b><br />"; $smartyvs->assign( "print_missingfile", 1 ); } if (file_exists(JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".mp4")) { $location.= "<b>"._HWDVIDS_HQFILE.":</b> ".JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".mp4<br />"; } else { $location.= "<b>"._HWDVIDS_HQFILE.":</b> ".JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".mp4 <b>(MISSING)</b><br />"; $smartyvs->assign( "print_missingfile", 1 ); } } else if ($row->video_type == "swf") { $location = _HWDVIDS_DETAILS_SOTS."<br /><b>"._HWDVIDS_FNAME.":</b> ".JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".swf"; if (@!file_exists(JPATH_SITE."/hwdvideos/uploads/".$row->video_id.".swf")) { $missingfile = "<div style=\"color:#ff0000;font-weight:bold;\">"._HWDVIDS_ALERT_MISSINGVIDFILE."</div>"; } } else if ($row->video_type == "remote") { $data = @explode(",", $row->video_id); $location = _HWDVIDS_DETAILS_REMSER." (".$row->video_type.")<br /><b>"._HWDVIDS_FURL.":</b> ".$data[0]; } else if ($row->video_type == "seyret") { $data = @explode(",", $row->video_id); if ($data[0] == "local") { $data = @explode(",", $row->video_id); $location = _HWDVIDS_DETAILS_SOTS."<br /><b>"._HWDVIDS_NAME.":</b> ".$data[1]; } else { hwd_vs_tools::getPluginDetails($data[0]); $flvurlfunc = preg_replace("/[^a-zA-Z0-9s_-]/", "", $data[0])."PrepareFlvURL"; if (function_exists($flvurlfunc)) { $truepath = $flvurlfunc($data[1].",".$data[2], $row); $location = _HWDVIDS_DETAILS_REMSER." (".$data[0].")<br /><b>"._HWDVIDS_FURL.":</b><br /><textarea readonly rows=\"5\" cols=\"60\">".urldecode($truepath)."</textarea>"; } else { $location = _HWDVIDS_DETAILS_REMSER." (".$data[0].")"; } } } else { hwd_vs_tools::getPluginDetails($row->video_type); $flvurlfunc = preg_replace("/[^a-zA-Z0-9s_-]/", "", $row->video_type)."PrepareFlvURL"; if (function_exists($flvurlfunc)) { $truepath = $flvurlfunc($row->video_id, $row); $location = _HWDVIDS_DETAILS_REMSER." (".$row->video_type.")<br /><b>"._HWDVIDS_FURL.":</b><br /><textarea readonly rows=\"5\" cols=\"60\">".urldecode($truepath)."</textarea>"; } else { $location = _HWDVIDS_DETAILS_REMSER." (".$row->video_type.")"; } } /** assign template variables **/ $smartyvs->assign( "hidden_inputs" , $hidden_inputs ); $smartyvs->assign( "header_title" , _HWDVIDS_SECTIONHEAD_VIDEOS ); $smartyvs->assign( "row" , $row ); $smartyvs->assign( "startpane", $startpane ); $smartyvs->assign( "endtab", $endtab ); $smartyvs->assign( "endpane", $endpane ); $smartyvs->assign( "starttab1", $starttab1 ); $smartyvs->assign( "starttab2", $starttab2 ); $smartyvs->assign( "vid", $row->id); if ($row->approved == "deleted") { $smartyvs->display('admin_videos_edit_deleted.tpl'); return; } else if ($row->approved == "queuedforconversion") { $smartyvs->display('admin_videos_edit_queuedforconversion.tpl'); return; } else if ($row->approved == "queuedforthumbnail") { $smartyvs->display('admin_videos_edit_queuedforthumbnail.tpl'); return; } else if ($row->approved == "queuedforswf") { $smartyvs->display('admin_videos_edit_queuedforswf.tpl'); return; } else if ($row->approved == "converting") { $smartyvs->display( 'admin_videos_edit_converting.tpl'); return; } else if (strpos($row->approved, "converting") || strpos($row->approved, "re-calculate_duration") || strpos($row->approved, "re-generate_thumb")) { $smartyvs->display( 'admin_videos_edit_queuedforconversion.tpl'); return; } else if ($row->approved == "pending") { $smartyvs->assign( 'print_pending', 1 ); } $age_check = "<select name=\"age_check\" size=\"1\" class=\"inputbox\">"; $age_check.= "<option value=\"-1\""; if ($row->age_check == -1) { $age_check.= " selected=\"selected\""; } $age_check.= ">Global</option>"; $age_check.= "<option value=\"0\""; if ($row->age_check == 0) { $age_check.= " selected=\"selected\""; } $age_check.= ">Off</option>"; for ($i=1, $n=100; $i < $n; $i++) { $age_check.= "<option value=\"$i\""; if ($row->age_check == $i) $age_check.= " selected=\"selected\""; $age_check.= ">$i</option>"; } $age_check.= "</select>"; $smartyvs->assign( "age_check" , $age_check); $smartyvs->assign( "categorylist" , hwd_vs_tools::categoryList(_HWDVIDS_INFO_CHOOSECAT, $row->category_id, _HWDVIDS_INFO_NOCATS, 1) ); $smartyvs->assign( "title", str_replace('"', """, stripslashes($row->title)) ); $smartyvs->assign( "category", hwd_vs_tools::generateCategory( $row->category_id ) ); $smartyvs->assign( "description", $editor->display("description",stripslashes($row->description),350,250,40,20,1) ); $smartyvs->assign( "tags", str_replace('"', """, $row->tags) ); $smartyvs->assign( "published", hwd_vs_tools::yesnoSelectList( 'published', 'class="inputbox"', $row->published ) ); $smartyvs->assign( "featured", hwd_vs_tools::yesnoSelectList( 'featured', 'class="inputbox"', $row->featured ) ); $smartyvs->assign( "dateuploaded", $row->date_uploaded ); $smartyvs->assign( "duration", $row->video_length ); $smartyvs->assign( "thumb_snap", $row->thumb_snap ); $smartyvs->assign( "public_private", $public_private ); $smartyvs->assign( "allow_comments", hwd_vs_tools::yesnoSelectList( 'allow_comments', 'class="inputbox"', $row->allow_comments ) ); $smartyvs->assign( "allow_embedding", hwd_vs_tools::yesnoSelectList( 'allow_embedding', 'class="inputbox"', $row->allow_embedding ) ); $smartyvs->assign( "allow_ratings", hwd_vs_tools::yesnoSelectList( 'allow_ratings', 'class="inputbox"', $row->allow_ratings ) ); $smartyvs->assign( "link_live_video", JURI::root(true)."/index.php?option=com_hwdvideoshare&task=viewvideo&Itemid=".$Itemid."&video_id=".$row->id ); $smartyvs->assign( "status", hwd_vs_tools::generateVideoStatus($row->approved) ); $smartyvs->assign( "videoplayer", hwd_vs_tools::generateVideoPlayer($row) ); $smartyvs->assign( "missingfile", $missingfile ); $smartyvs->assign( "location", $location ); $smartyvs->assign( "thumbnail", hwd_vs_tools::generateThumbnail( $row->id, $row->video_id, $row->video_type, $row->thumbnail, null, null, null, null) ); $smartyvs->assign( "access", hwd_vs_tools::generateVideoAccess( $row->public_private ) ); $smartyvs->assign( "rating", hwd_vs_tools::generateExactRating($row) ); $smartyvs->assign( "views", $row->number_of_views ); $smartyvs->assign( "user", $usr->username ); $smartyvs->assign( "favoured", $favs ); if ($row->video_type == "local" || $row->video_type == "mp4") { $smartyvs->assign( "remotevideo", 0 ); } else if ($row->video_type == "swf") { $smartyvs->assign( "remotevideo", 2 ); } else if ($row->video_type == "seyret") { $data = @explode(",", $row->video_id); if ($data[0] == "local") { $smartyvs->assign( "remotevideo", 0 ); } else { $smartyvs->assign( "remotevideo", 1 ); } } else { $smartyvs->assign( "remotevideo", 1 ); } $thumbnail_form_code = null; // generate thumbnail form if ($row->approved == "yes" || $row->approved == "pending") { $thumbnail_form_code.= '<h3>Upload Custom Thumbnail</h3>'; $thumbnail_form_code.= '<p>Upload a custom thumbnail image from your computer.</p>'; $thumbnail_form_code.= '<form action="index.php" method="post" enctype="multipart/form-data"> <div style="padding:2px 0;"><input type="file" name="thumbnail_file" value="" size="30"></div> <div style="padding:2px 0;"><input type="submit" value="Upload"></div> <input type="hidden" name="option" value="'.$option.'" /> <input type="hidden" name="cid" value="'.$row->id.'" /> <input type="hidden" name="task" value="editvidsA" /> <input type="hidden" name="upld_thumbnail" value="1" /> </form>'; } $smartyvs->assign( "thumbnail_form_code", $thumbnail_form_code ); /** display template **/ $smartyvs->display('admin_videos_edit.tpl'); return; }
/** * Generates a link to group using $group_id, and generates the * group name if necessary * * @param int $group_id the category id * @param string $group(optional) the name of the category * @return $code */ function generateGroupLink( $group_id, $group=null ) { global $hwdvsItemid; $c = hwd_vs_Config::get_instance(); $code = null; $code.= "<a href=\"".JRoute::_("index.php?option=com_hwdvideoshare&task=viewgroup&Itemid=".$hwdvsItemid."&group_id=".$group_id)."\">"; if (isset($group)) { $code.= hwd_vs_tools::truncateText($group, $c->truntitle); } else { $code.= hwd_vs_tools::generateCategory( $cat_id ); } $code.= "</a>"; return $code; }