Upload video ready!

parent 0f6a4251
...@@ -65,6 +65,7 @@ if(!class_exists('SH_PostTypes')) { ...@@ -65,6 +65,7 @@ if(!class_exists('SH_PostTypes')) {
// Devo pero' verificare le varie taxonomy e attributi della pagina, vedere come creare un prodotto in wordpress // Devo pero' verificare le varie taxonomy e attributi della pagina, vedere come creare un prodotto in wordpress
// per ogni pagina sexhack_video che credo, sincronizzare prodotti e video pagine, gestire prodotti con lo stesso nome // per ogni pagina sexhack_video che credo, sincronizzare prodotti e video pagine, gestire prodotti con lo stesso nome
// ( credo si possa fare dandogli differenti slugs ) // ( credo si possa fare dandogli differenti slugs )
register_post_type('sexhack_video', array( register_post_type('sexhack_video', array(
'labels' => array( 'labels' => array(
'name' => 'Videos', 'name' => 'Videos',
...@@ -95,7 +96,20 @@ if(!class_exists('SH_PostTypes')) { ...@@ -95,7 +96,20 @@ if(!class_exists('SH_PostTypes')) {
'taxonomies' => array(), //'category','post_tag'), // TODO Shouldn't we have a "video_type" taxonomy for VR or flat? 'taxonomies' => array(), //'category','post_tag'), // TODO Shouldn't we have a "video_type" taxonomy for VR or flat?
)); ));
$statuses = array('creating','uploading','queue','processing','ready','published','error');
foreach($statuses as $status) {
register_post_status( $status, array(
'label' => $status,
'public' => true,
'label_count' => _n_noop( $status.' <span class="count">(%s)</span>', $status.' <span class="count">(%s)</span>', 'sexhackme-domain' ),
'post_type' => array( 'sexhack_video' ), // Define one or more post types the status can be applied to.
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'show_in_metabox_dropdown' => true,
'show_in_inline_dropdown' => true,
'dashicon' => 'dashicons-businessman',
));
}
$rules = $wp_rewrite->wp_rewrite_rules(); $rules = $wp_rewrite->wp_rewrite_rules();
$DEFAULTSLUG = get_option('sexhack_gallery_slug', 'v'); $DEFAULTSLUG = get_option('sexhack_gallery_slug', 'v');
......
...@@ -359,7 +359,7 @@ if(!class_exists('SH_Query')) { ...@@ -359,7 +359,7 @@ if(!class_exists('SH_Query')) {
foreach($dbres as $ures) foreach($dbres as $ures)
{ {
$udata = get_userdata($ures->user_id); $udata = get_userdata($ures->user_id);
if($udata) $guests[$uid] = $udata; if($udata) $guests[$ures->user_id] = $udata;
} }
} }
if(count($guests) > 0) return $guests; if(count($guests) > 0) return $guests;
......
...@@ -178,6 +178,7 @@ if(!class_exists('SH_Shortcodes')) { ...@@ -178,6 +178,7 @@ if(!class_exists('SH_Shortcodes')) {
"page" => '', "page" => '',
'level' => 'public', 'level' => 'public',
), $attr)); ), $attr));
if(!array_key_exists('level', $attr)) $attr['level'] = 'public';
if(($attr['level'] == 'guestonly' && !is_user_logged_in()) || ($attr['level'] == 'public' or !$attr['level']) || (is_user_logged_in() && ($attr['level']=='members' || ($attr['level']=='premium' && user_is_premium())))) if(($attr['level'] == 'guestonly' && !is_user_logged_in()) || ($attr['level'] == 'public' or !$attr['level']) || (is_user_logged_in() && ($attr['level']=='members' || ($attr['level']=='premium' && user_is_premium()))))
{ {
$ipost = get_post($attr['page']); $ipost = get_post($attr['page']);
......
...@@ -48,11 +48,11 @@ if(!class_exists('SH_VideoUpload')) { ...@@ -48,11 +48,11 @@ if(!class_exists('SH_VideoUpload')) {
$config = new \Flow\Config(); $config = new \Flow\Config();
$config->setTempDir("/tmp"); $config->setTempDir("/tmp");
$request = new \Flow\Request(); $request = new \Flow\Request();
if(isset($_POST['uniqid'])) $uniqid = $_POST['uniqid']; if(isset($_POST['uniqid'])) $uniqid = sanitize_text_field($_POST['uniqid']);
else $uniqid = uniqid(); else $uniqid = uniqid();
$uploadFolder = get_option('sexhack_video_tmp_path', '/tmp'); $uploadFolder = get_option('sexhack_video_tmp_path', '/tmp');
$uploadFileName = $uniqid . "_" . $request->getFileName(); $uploadFileName = $uniqid . "_" . sanitize_text_field($request->getFileName());
$uploadPath = $uploadFolder."/".$uploadFileName; $uploadPath = $uploadFolder."/".$uploadFileName;
if (\Flow\Basic::save($uploadPath, $config, $request)) { if (\Flow\Basic::save($uploadPath, $config, $request)) {
...@@ -72,13 +72,10 @@ if(!class_exists('SH_VideoUpload')) { ...@@ -72,13 +72,10 @@ if(!class_exists('SH_VideoUpload')) {
public function edit_video_callback() public function edit_video_callback()
{ {
sexhack_log("PORCODIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"); //sexhack_log($_POST);
sexhack_log($_POST); //sexhack_log($_GET);
sexhack_log($_GET);
// XXX Sanitize $_POST['title']
if(!isset($_POST['title'])) return; if(!isset($_POST['title'])) return;
$title = $_POST['title']; $title = sanitize_text_field($_POST['title']);
$post_id = wp_insert_post(array ( $post_id = wp_insert_post(array (
'post_type' => 'sexhack_video', 'post_type' => 'sexhack_video',
......
...@@ -216,7 +216,7 @@ if(!class_exists('SH_Video')) { ...@@ -216,7 +216,7 @@ if(!class_exists('SH_Video')) {
if($guests) if($guests)
{ {
foreach($guests as $guest) foreach($guests as $guest)
$this->attributes['guests'][$guest->ID] = $cat; $this->attributes['guests'][$guest->ID] = $guest;
} }
} }
......
...@@ -142,11 +142,19 @@ if(!class_exists("SH_VideoProducts")) { ...@@ -142,11 +142,19 @@ if(!class_exists("SH_VideoProducts")) {
$prod->set_downloads( $wcdowns ); $prod->set_downloads( $wcdowns );
// Categories. If not configured try to search // Categories.
// for a category named "Video", if not present // XXX We don't access categories of products, so, just put them in "videos"
// just take the last one in list, if no categories /*
// exists just don't set anything and will remain in $catsids = array();
// Uncategorized. if(count($video->get_categories(false)) > 0)
{
$cats = array();
foreach($video->get_categories(false) as $cat) {
$cats[$cat->id] = $cat->category;
}
wp_set_object_terms($prod->get_id(),$cats, 'product_cat');
}
*/
$cat_id = get_option('sexhack_wcpms-prodcat', false); $cat_id = get_option('sexhack_wcpms-prodcat', false);
if($cat_id) $prod->set_category_ids(array($cat_id)); if($cat_id) $prod->set_category_ids(array($cat_id));
else { else {
...@@ -158,7 +166,16 @@ if(!class_exists("SH_VideoProducts")) { ...@@ -158,7 +166,16 @@ if(!class_exists("SH_VideoProducts")) {
if($cat) $prod->set_category_ids(array($cat->term_id)); if($cat) $prod->set_category_ids(array($cat->term_id));
} }
// Sync tags with Video
if(count($video->get_tags(false)) > 0) {
$tags = array();
foreach($video->get_tags(false) as $tag) {
$tags[$tag->id] = $tag->tag;
}
wp_set_object_terms($prod->get_id(), $tags, 'product_tag');
}
// Save the product
$prod->save(); $prod->save();
$video->product_id = $prod->get_id(); $video->product_id = $prod->get_id();
......
...@@ -120,7 +120,7 @@ function save_sexhack_video_forms( $post_id ) ...@@ -120,7 +120,7 @@ function save_sexhack_video_forms( $post_id )
$video->thumbnail = false; $video->thumbnail = false;
} else { } else {
// Shoudn't we move it somewhere? // Shoudn't we move it somewhere?
if(isset($_POST['filename_thumb'])) $video->thumbnail = sanitize_text_field($_POST['filename_thumb']); if(isset($_POST['video_thumb'])) $video->thumbnail = get_option('sexhack_video_tmp_path', '/tmp')."/".sanitize_text_field($_POST['video_thumb']);
else $video->thumbnail = false; else $video->thumbnail = false;
} }
...@@ -128,6 +128,7 @@ function save_sexhack_video_forms( $post_id ) ...@@ -128,6 +128,7 @@ function save_sexhack_video_forms( $post_id )
$validstatuses = array('creating','uploading','queue','processing','ready','published','error'); $validstatuses = array('creating','uploading','queue','processing','ready','published','error');
if(array_key_exists('video_status', $_POST) && in_array(sanitize_text_field($_POST['video_status']), $validstatuses)) if(array_key_exists('video_status', $_POST) && in_array(sanitize_text_field($_POST['video_status']), $validstatuses))
$video->status = sanitize_text_field($_POST['video_status']); $video->status = sanitize_text_field($_POST['video_status']);
else if(!$admin) $video->status = get_post_status($post_id);
// Video private // Video private
if(array_key_exists('video_private', $_POST) && in_array($_POST['video_private'], array('Y','N'))) if(array_key_exists('video_private', $_POST) && in_array($_POST['video_private'], array('Y','N')))
...@@ -150,53 +151,73 @@ function save_sexhack_video_forms( $post_id ) ...@@ -150,53 +151,73 @@ function save_sexhack_video_forms( $post_id )
if(array_key_exists('video_vr_projection', $_POST) && in_array($_POST['video_vr_projection'], array('VR180_LR','VR360_LR'))) if(array_key_exists('video_vr_projection', $_POST) && in_array($_POST['video_vr_projection'], array('VR180_LR','VR360_LR')))
$video->vr_projection = $_POST['video_vr_projection']; $video->vr_projection = $_POST['video_vr_projection'];
// XXX Arrivato qui
// Preview video // Preview video
if(array_key_exists('video_preview', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_preview']))) if($admin && array_key_exists('video_preview', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_preview'])))
$video->preview = sanitize_text_field($_POST['video_preview']); $video->preview = sanitize_text_field($_POST['video_preview']);
elseif(!$admin && array_key_exists('video_preview', $_POST) &&
sanitize_text_field($_POST['video_preview']))
$video->preview = sanitize_text_field(get_option('sexhack_video_tmp_path', '/tmp')."/".$_POST['video_preview']);
else else
$video->preview = false; $video->preview = false;
// Animated gif path // Animated gif path
if(array_key_exists('video_gif', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_gif']))) if($admin && array_key_exists('video_gif', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_gif'])))
$video->gif = sanitize_text_field($_POST['video_gif']); $video->gif = sanitize_text_field($_POST['video_gif']);
elseif(!$admin && array_key_exists('video_gif', $_POST) &&
sanitize_text_field($_POST['video_gif']))
$video->gif = sanitize_text_field(get_option('sexhack_video_tmp_path', '/tmp')."/".$_POST['video_gif']);
else else
$video->gif = false; $video->gif = false;
// Small Animated gif path // Small Animated gif path
if(array_key_exists('video_gif_small', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_gif_small']))) if($admin && array_key_exists('video_gif_small', $_POST) && check_url_or_path(sanitize_text_field($_POST['video_gif_small'])))
$video->gif_small = sanitize_text_field($_POST['video_gif_small']); $video->gif_small = sanitize_text_field($_POST['video_gif_small']);
elseif(!$admin && array_key_exists('video_gif_small', $_POST) &&
sanitize_text_field($_POST['video_gif_small']))
$video->gif_small = sanitize_text_field(get_option('sexhack_video_tmp_path', '/tmp')."/".$_POST['video_gif_small']);
else else
$video->gif_small = false; $video->gif_small = false;
// Differenciated content for access levels // Differenciated content for access levels
foreach(array('public','members','premium') as $vt) foreach(array('public','members','premium') as $vt)
{ {
// HLS playlist // HLS playlist
if(array_key_exists('video_hls_'.$vt, $_POST) && if($admin &&array_key_exists('video_hls_'.$vt, $_POST) &&
check_url_or_path(sanitize_text_field($_POST['video_hls_'.$vt])) && check_url_or_path(sanitize_text_field($_POST['video_hls_'.$vt])) &&
(strncasecmp(strrev(sanitize_text_field($_POST['video_hls_'.$vt])), '8u3m', 4) === 0)) (strncasecmp(strrev(sanitize_text_field($_POST['video_hls_'.$vt])), '8u3m', 4) === 0))
{ {
$video->__set('hls_'.$vt, sanitize_text_field($_POST['video_hls_'.$vt])); $video->__set('hls_'.$vt, sanitize_text_field($_POST['video_hls_'.$vt]));
} else $video->__set('hls_'.$vt, false); }
else if(!$admin && array_key_exists('video_'.$vt, $_POST) &&
sanitize_text_field($_POST['video_'.$vt]))
{
$video->__set('hls_'.$vt, get_option('sexhack_video_tmp_path', '/tmp')."/".sanitize_text_field($_POST['video_'.$vt]));
}
else $video->__set('hls_'.$vt, false);
// Download // Download
if(array_key_exists('video_download_'.$vt, $_POST) && if($admin && array_key_exists('video_download_'.$vt, $_POST) &&
check_url_or_path(sanitize_text_field($_POST['video_download_'.$vt]))) check_url_or_path(sanitize_text_field($_POST['video_download_'.$vt])))
{ {
$video->__set('download_'.$vt, sanitize_text_field($_POST['video_download_'.$vt])); $video->__set('download_'.$vt, sanitize_text_field($_POST['video_download_'.$vt]));
} else $video->__set('download_'.$vt, false); }
else if(!$admin && array_key_exists($vt.'_isdownload', $_POST) &&
in_array($_POST[$vt.'_isdownload'], array('Y','N')) && array_key_exists('video_'.$vt, $_POST) &&
sanitize_text_field($_POST['video_'.$vt]))
$video->__set('download_'.$vt, get_option('sexhack_video_tmp_path', '/tmp')."/".sanitize_text_field($_POST['video_'.$vt]));
else $video->__set('download_'.$vt, false);
// Text only data // Text only data
foreach(array('size','format','codec','acodec','duration','resolution') as $key) if($admin) {
{ foreach(array('size','format','codec','acodec','duration','resolution') as $key)
if(array_key_exists('video_'.$key.'_'.$vt, $_POST) && {
sanitize_text_field($_POST['video_'.$key.'_'.$vt])) if(array_key_exists('video_'.$key.'_'.$vt, $_POST) &&
{ sanitize_text_field($_POST['video_'.$key.'_'.$vt]))
$video->__set($key.'_'.$vt, sanitize_text_field($_POST['video_'.$key.'_'.$vt])); {
} else $video->__set($key.'_'.$vt, false); $video->__set($key.'_'.$vt, sanitize_text_field($_POST['video_'.$key.'_'.$vt]));
} else $video->__set($key.'_'.$vt, false);
}
} }
} }
...@@ -208,8 +229,10 @@ function save_sexhack_video_forms( $post_id ) ...@@ -208,8 +229,10 @@ function save_sexhack_video_forms( $post_id )
{ {
if(is_numeric($guest_id) && intval($guest_id) > 0) if(is_numeric($guest_id) && intval($guest_id) > 0)
{ {
$guest = get_userdata(intval($guest_id)); if($admin || (!$admin && intval($guest_id) != get_current_user_id())) {
if($guest) $video->add_guest($guest); $guest = get_userdata(intval($guest_id));
if($guest) $video->add_guest($guest);
}
} }
} }
} }
......
...@@ -46,6 +46,7 @@ if($video->product_id > 0) ...@@ -46,6 +46,7 @@ if($video->product_id > 0)
<select name='video_status'> <select name='video_status'>
<option value='creating' <?php if($video->status=='creating') echo "selected"; ?>>Creating</option> <option value='creating' <?php if($video->status=='creating') echo "selected"; ?>>Creating</option>
<option value='uploading' <?php if($video->status=='uploading') echo "selected"; ?>>Uploading</option> <option value='uploading' <?php if($video->status=='uploading') echo "selected"; ?>>Uploading</option>
<option value='queue' <?php if($video->status=='queue') echo "selected"; ?>>Queue</option>
<option value='processing' <?php if($video->status=='processing') echo "selected"; ?>>Processing</option> <option value='processing' <?php if($video->status=='processing') echo "selected"; ?>>Processing</option>
<option value='ready' <?php if($video->status=='ready') echo "selected"; ?>>Ready</option> <option value='ready' <?php if($video->status=='ready') echo "selected"; ?>>Ready</option>
<option value='published' <?php if($video->status=='published') echo "selected"; ?>>Published</option> <option value='published' <?php if($video->status=='published') echo "selected"; ?>>Published</option>
......
...@@ -330,7 +330,10 @@ jQuery(function($) { ...@@ -330,7 +330,10 @@ jQuery(function($) {
}); });
$('#send').on('click', function() { $('#send').on('click', function() {
console.log('uhmm'); console.log('sending...');
document.getElementById('send').disabled=true;
document.getElementById('send').value='Sending...';
formdata = new FormData(); formdata = new FormData();
formdata.append('action', 'sh_editvideo'); formdata.append('action', 'sh_editvideo');
formdata.append('uniqid', '<?php echo $uniqid ?>'); formdata.append('uniqid', '<?php echo $uniqid ?>');
...@@ -342,17 +345,35 @@ jQuery(function($) { ...@@ -342,17 +345,35 @@ jQuery(function($) {
formdata.append('video_type', $('input[name="video_type"]:checked').val()); formdata.append('video_type', $('input[name="video_type"]:checked').val());
formdata.append('video_vr_projection', $('#video_vr_projection').find(":selected").val()); formdata.append('video_vr_projection', $('#video_vr_projection').find(":selected").val());
formdata.append('video_price', $('input[name="video_price"]').val()); formdata.append('video_price', $('input[name="video_price"]').val());
formdata.append('public_isdownload', $('input[name="video_isdownload_public"]').val()); formdata.append('public_isdownload', $('input[name="video_isdownload_public"]:checked').val());
formdata.append('members_isdownload', $('input[name="video_isdownload_members"]').val()); formdata.append('members_isdownload', $('input[name="video_isdownload_members"]:checked').val());
formdata.append('premium_isdownload', $('input[name="video_isdownload_premium"]').val()); formdata.append('premium_isdownload', $('input[name="video_isdownload_premium"]:checked').val());
formdata.append('categories', $("#catstable input:checkbox:checked").map(function(){ return $(this).val();}).get());
//formdata.append('vcategory', $("#catstable input:checkbox:checked").map(function(){ return $(this).val();}).get());
var vcats = $("#catstable input:checkbox:checked").map(function(){ return $(this).val();}).get();
for (var i = 0; i < vcats.length; i++) {
formdata.append('vcategory[]', vcats[i]);
}
var guestar = $('.guest_list p select[name="vguests[]"]').find(':selected').map(function() { if($(this).val() > 0) return $(this).val()}).get(); var guestar = $('.guest_list p select[name="vguests[]"]').find(':selected').map(function() { if($(this).val() > 0) return $(this).val()}).get();
formdata.append('guests', guestar.filter((item, index) => guestar.indexOf(item) === index)); var gaf = guestar.filter((item, index) => guestar.indexOf(item) === index);
formdata.append('tags', $('input[name="video_tags[]"]').map(function(){ return $(this).val()}).get()); for (var i = 0; i < gaf.length; i++) {
formdata.append('vguests[]', gaf[i]);
}
//formdata.append('vguests', guestar.filter((item, index) => guestar.indexOf(item) === index));
///formdata.append('video_tags', $('input[name="video_tags[]"]').map(function(){ return $(this).val()}).get());
var vtags = $('input[name="video_tags[]"]').map(function(){ return $(this).val()});
for (var i = 0; i < vtags.length; i++) {
formdata.append('video_tags[]', vtags[i]);
}
formdata.append('post_type', 'sexhack_video'); formdata.append('post_type', 'sexhack_video');
<?php <?php
foreach(array('public','members','premium','preview','thumb','gif','gif_small') as $level) { ?> foreach(array('public','members','premium','preview','thumb','gif','gif_small') as $level) { ?>
formdata.append('filename_<?php echo $level; ?>', $('input[name="filename_<?php echo $level; ?>"]').val()); formdata.append('video_<?php echo $level; ?>', $('input[name="filename_<?php echo $level; ?>"]').val());
<?php } ?> <?php } ?>
$.ajax({url: '<?php echo admin_url( 'admin-ajax.php' );?>', $.ajax({url: '<?php echo admin_url( 'admin-ajax.php' );?>',
...@@ -361,7 +382,8 @@ jQuery(function($) { ...@@ -361,7 +382,8 @@ jQuery(function($) {
processData: false, processData: false,
data: formdata, data: formdata,
success: function(response) { success: function(response) {
alert('saved'); document.getElementById('send').value='Success!';
window.location=window.location.pathname;
} }
}); });
}); });
...@@ -436,8 +458,9 @@ jQuery(function($) { ...@@ -436,8 +458,9 @@ jQuery(function($) {
if(flowuploads) flowuploads--; if(flowuploads) flowuploads--;
console.log('CI SIAMO'); console.log('CI SIAMO');
ppid=fileslot.parentElement.parentElement.id; ppid=fileslot.parentElement.parentElement.id;
if(ppid=='newvideo_members_list' || ppid=='newvideo_public_list' || ppid=='newvideo_premium_list') needsupload++;
$('#'+ppid).parent().find('input[type="hidden"]').val('<?php echo $uniqid."_"; ?>'+file.name); $('#'+ppid).parent().find('input[type="hidden"]').val('<?php echo $uniqid."_"; ?>'+file.name);
if(ppid=='newvideo_members_list' || ppid=='newvideo_public_list' || ppid=='newvideo_premium_list') needsupload++;
if(flowuploads) flowuploads--;
canbesaved(); canbesaved();
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment