<?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 
    }
Ejemplo n.º 3
0
<?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);
?>
" />
Ejemplo n.º 4
0
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;
}