<?php switch ($_REQUEST['tnb_user_action']) { case 'insert-video': if (strlen($_POST['video_url']) > 0 && (preg_match("/\\/watch\\?v=/", $_POST['video_url']) || preg_match("/vimeo.com\\/\\d+\$/", $_POST['video_url']))) { $post = array("post_title" => $_POST['video_title'], "post_content" => $_POST['video_content'], "post_excerpt" => $_POST['video_url'], "post_author" => $profileuser->ID, "post_type" => 'videos', "post_status" => 'publish'); $post_id = wp_insert_post($post); $menu_order = count(tnb_get_artista_videos($profileuser->ID)); if ($_POST['video_principal'] || $menu_order == 0) { tnb_set_artista_video_principal($profileuser->ID, $post_id); } tnb_cache_unset("ARTISTAS_VIDEOS", $profileuser->ID); } else { $msg['error'][] = __('URL do vídeo inválida. Use o endereço de um vídeo no youtube ou vimeo', 'tnb'); } break; case 'delete-video': if ($_GET['mid']) { if (current_user_can('delete_post', $_GET['mid'])) { wp_delete_post($_GET['mid']); } } break; case 'edit-video-save': if (strlen($_POST['video_url']) > 0 && (preg_match("/\\/watch\\?v=/", $_POST['video_url']) || preg_match("/vimeo.com\\/\\d+\$/", $_POST['video_url']))) { $update = array('ID' => $_POST['mid'], 'post_title' => $_POST['video_title'], 'post_content' => $_POST['video_description'], 'post_excerpt' => $_POST['video_url']); wp_update_post($update); if ($_POST['video_principal']) { tnb_set_artista_video_principal($profileuser->ID, $_POST['mid']); } } else {
protected function update_form() { $profileuser = get_user_by('id', $this->user_id); $formID = uniqid('form'); $videos = tnb_get_artista_videos($profileuser->ID); ?> <h3><?php _e('Vídeos', 'tnb'); ?> </h3> <label> <?php _e('título', 'tnb'); ?> <input type="text" name='property[title]' value='<?php echo htmlentities(utf8_decode($this->property['title'])); ?> ' /> </label> <hr/> <div id='<?php echo $formID; ?> _exibir'> <?php _e("quais vídeos", "tnb"); ?> : <label><input type='radio' name='property[exibir]' value='todas' <?php if ($this->property['exibir'] == 'todas') { echo 'checked="checked"'; } ?> ><?php _e('todos', 'tnb'); ?> </label> <label><input type='radio' name='property[exibir]' value='selecionadas' <?php if ($this->property['exibir'] == 'selecionadas') { echo 'checked="checked"'; } ?> ><?php _e('somente as selecionadas', 'tnb'); ?> </label> </div> <hr/> <div id='<?php echo $formID; ?> _videos' <?php if ($this->property['exibir'] == 'todas') { echo 'class="hide";'; } ?> > <?php _e('selecione os vídeos que deseja exibir', 'tnb'); ?> : <div class='clearfix'> <?php foreach ($videos as $video) { ?> <input type="checkbox" id='<?php echo $formID; ?> _widget_video_<?php echo $video->ID; ?> _input' name="property[videos][]" value='<?php echo $video->ID; ?> ' <?php if (in_array($video->ID, $this->property['videos'])) { echo 'checked'; } ?> /> <?php echo $video->post_title; ?> <br/> <?php } ?> </div> </div> <script type="text/javascript"> jQuery("#<?php echo $formID; ?> _exibir input").change(function (){ if(jQuery(this).val() == 'todas') jQuery("#<?php echo $formID; ?> _videos").hide('drop'); else jQuery("#<?php echo $formID; ?> _videos").show('drop'); }); </script> <?php }
<?php $videos = tnb_get_artista_videos($profileuser->ID); $video_principal = tnb_get_artista_video_principal($profileuser->ID); ?> <section id="video" class="content clearfix"> <form method='post' action="<?php echo remove_query_arg(array('tnb_user_action', 'mid', 'mtype')); ?> " > <input type='hidden' name='tnb_user_action' value='<?php echo $edit ? 'edit-video-save' : 'insert-video'; ?> ' /> <h2 class="section-title"> <span class="bg-blue"><?php echo $edit ? _e("Editar Vídeo", "tnb") : _e("Novo Vídeo", "tnb"); ?> </span> </h2> <div class="clearfix"> <label><?php _e("Link do vídeo (vimeo ou youtube)", "tnb"); ?> </label> <input type="text" name="video_url" value="<?php echo htmlspecialchars($video_edit_url); ?> " />
function tnb_get_artista_video_principal($artista_id) { if (tnb_cache_exists('ARTISTAS_VIDEO_PRINCIPAL', $artista_id)) { return tnb_cache_get('ARTISTAS_VIDEO_PRINCIPAL', $artista_id); } global $wpdb; $result = $wpdb->get_row("SELECT {$wpdb->posts}.* FROM {$wpdb->posts}, {$wpdb->usermeta} WHERE {$wpdb->posts}.ID = {$wpdb->usermeta}.meta_value AND {$wpdb->usermeta}.meta_key = '_video_principal' AND {$wpdb->usermeta}.user_id = '{$artista_id}'"); // echo "SELECT $wpdb->posts.* FROM $wpdb->posts, $wpdb->usermeta WHERE $wpdb->posts.ID = $wpdb->usermeta.meta_value AND $wpdb->usermeta.meta_key = '_musica_principal' AND $wpdb->usermeta.user_id = '$artista_id'"; if (!$result) { $videos = tnb_get_artista_videos($artista_id); if (count($videos)) { tnb_set_artista_video_principal($artista_id, $videos[0]->ID); } } tnb_cache_set('ARTISTAS_VIDEO_PRINCIPAL', $artista_id, $result); return $result; }