/**
  * Renders a text from the database.
  *
  * If the user is logged in as an admin user,
  * then a link to the appropriate page in the admin section is provided.
  *
  * If the user is not logged in and the section required is 'content',
  * then the exception is propagated.
  *
  * Otherwise, the function does nothing.
  */
 public static function render_page_section($page_name, $section_name)
 {
     if (DEBUG) {
         echo DEBUG_DELIM_OPEN;
         echo __FILE__ . PHP_EOL;
         echo 'Line: ' . __LINE__ . PHP_EOL;
         echo 'Method: ' . __METHOD__ . PHP_EOL;
         echo DEBUG_DELIM_CLOSE;
     }
     try {
         $filtered_page_section = DBPages_SPoE::get_filtered_page_section($page_name, $section_name);
         if (Admin_LogInHelper::is_logged_id()) {
             DBPages_AdminHelper::render_link_p_to_edit_section_admin_page($page_name, $section_name);
         }
         echo $filtered_page_section;
     } catch (DBPages_PageSectionNotFoundException $e) {
         #print_r($e);
         if (Admin_LogInHelper::is_logged_id()) {
             DBPages_AdminHelper::render_link_p_to_add_new_section_admin_page($page_name, $section_name);
         } else {
             if ($section_name == 'content') {
                 throw $e;
             } else {
                 #echo '<p class="error">Text not found.</p>' . "\n";
             }
         }
     }
 }
 /**
  * Renders a text from the database.
  *
  * If the user is logged in as an admin user,
  * then a link to the appropriate page in the admin section is provided.
  *
  * if the user is not logged in and the section required is 'content', then the exception
  * is propagated.
  *
  * Otherwise, the function does nothing.
  */
 public static function render_page_section($page_name, $section_name)
 {
     try {
         $filtered_page_section = DBPages_SPoE::get_filtered_page_section($page_name, $section_name);
         if (Admin_LogInHelper::is_logged_id()) {
             DBPages_AdminHelper::render_link_p_to_edit_section_admin_page($page_name, $section_name);
         }
         echo $filtered_page_section;
     } catch (DBPages_PageSectionNotFoundException $e) {
         #print_r($e);
         if (Admin_LogInHelper::is_logged_id()) {
             DBPages_AdminHelper::render_link_p_to_add_new_section_admin_page($page_name, $section_name);
         } else {
             if ($section_name == 'content') {
                 throw $e;
             } else {
                 #echo '<p class="error">Text not found.</p>' . "\n";
             }
         }
     }
 }
    protected function do_actions()
    {
        //print_r($_POST);exit;
        /** EXAMPLE FORM POST
         *<textarea name="contents">
         *$contents
         *</textarea>
         *<input type="hidden" name="filter_function" value="$filter_function" />
         *<input type="hidden" name="page" value="$page" />
         *<input type="hidden" name="section" value="$section" />
         *<input type="hidden" name="language" value="$name" />
         *<input type="hidden" name="path" value="$path" />
         *<input type="submit" value="Edit" /> 
         */
        $return_url = VideoLibrary_URLHelper::get_home_page_url();
        if (Admin_LogInHelper::is_logged_id()) {
            $return_url = $this->get_redirect_script_return_url();
            // print_r($return_url);exit;
            try {
                if (isset($_POST['name']) && $_POST['name'] != '' && (isset($_POST['length']) && $this->validate_length($_POST['length'])) && (isset($_POST['external_video_provider_id']) && $_POST['external_video_provider_id'] != '') && (isset($_POST['external_video_library_id']) && $_POST['external_video_library_id'] != '') && (isset($_POST['providers_internal_id']) && $_POST['providers_internal_id'] != '') && (isset($_POST['status']) && $_POST['status'] != '') && $this->is_video_unique($_POST['external_video_provider_id'], $_POST['providers_internal_id'])) {
                    $dbh = DB::m();
                    $name = htmlentities($_POST['name']);
                    $name = mysql_real_escape_string($name, $dbh);
                    $length_seconds = $this->get_length_in_seconds_from_input($_POST['length']);
                    $length_seconds = mysql_real_escape_string($length_seconds);
                    $external_video_library_id = mysql_real_escape_string($_POST['external_video_library_id']);
                    $external_video_provider_id = mysql_real_escape_string($_POST['external_video_provider_id']);
                    $providers_internal_id = mysql_real_escape_string($_POST['providers_internal_id']);
                    $status = mysql_real_escape_string($_POST['status']);
                    $added_by = mysql_real_escape_string(VideoLibrary_AdminHelper::get_logged_in_admin_user_name());
                    $tags = VideoLibrary_TagsHelper::get_tags_array_for_admin_post_input($_POST['tags']);
                    //print_r($tags);exit;
                    $stmt = <<<SQL
INSERT
INTO
    hpi_video_library_external_videos
SET
    name = '{$name}',
    length_seconds = '{$length_seconds}',
    external_video_provider_id = '{$external_video_provider_id}',
    providers_internal_id = '{$providers_internal_id}',
    status = '{$status}',
    date_added = NOW(),
    added_by = '{$added_by}'

SQL;
                    //print_r($stmt);exit;
                    $result = mysql_query($stmt, $dbh);
                    $id = mysql_insert_id($dbh);
                    $stmt_2 = <<<SQL
INSERT
INTO
    hpi_video_library_ext_vid_to_ext_vid_lib_links
SET
    external_video_id = '{$id}',
    external_video_library_id = '{$external_video_library_id}'

SQL;
                    //print_r($stmt);exit;
                    $result = mysql_query($stmt_2, $dbh);
                    foreach ($tags as $tag) {
                        $tag = mysql_real_escape_string($tag);
                        $tag_query_1 = <<<SQL
INSERT
INTO
    hpi_video_library_tags
SET
    tag = '{$tag}',
    principal = 'no'

SQL;
                        $result = mysql_query($tag_query_1, $dbh);
                        if ($result) {
                            $tag_id = mysql_insert_id($dbh);
                        } else {
                            if (mysql_errno() == 1062) {
                                #duplicate
                                $tag_id = VideoLibrary_DatabaseHelper::get_tag_id_for_tag_string($tag);
                            }
                        }
                        $tag_query_2 = <<<SQL
INSERT
INTO
    hpi_video_library_tags_to_ext_vid_links
SET
    tag_id = '{$tag_id}',
    external_video_id = '{$id}'

SQL;
                        $result = mysql_query($tag_query_2, $dbh);
                        if (!$result) {
                            if (mysql_errno() == 1062) {
                                #duplicate
                                # Do nothing, link already exists
                            }
                        }
                    }
                    $this->add_video_to_thumbnail_queue($id);
                } else {
                    throw new VideoLibrary_AddVideoDataNotSetException();
                }
            } catch (VideoLibrary_Exception $e) {
                $return_url->set_get_variable('error', urlencode($e->getMessage()));
            }
            $return_url->set_get_variable('edited', '1');
            $return_url->set_get_variable('message', 'Added Video ' . urlencode('#') . $id);
        }
        $this->set_return_to_url($return_url);
    }
 public static function get_thumbnail_div_for_video($video_data, $options = array('admin' => FALSE))
 {
     $div = new HTMLTags_Div();
     $div->set_attribute_str('class', 'video');
     $url = VideoLibrary_URLHelper::get_video_page_url($video_data['id'], $video_data['name']);
     $img_a = new HTMLTags_A();
     $img_a->set_href($url);
     $img_a->append(self::get_thumbnail_img($video_data['thumbnail_url']));
     $details_ul = new HTMLTags_UL();
     $details_ul->set_attribute_str('class', 'details');
     $name_a = new HTMLTags_A();
     $name_a->set_attribute_str('class', 'text');
     $name_a->set_href($url);
     $name_a->set_attribute_str('title', stripslashes($video_data['name']));
     $name_a->append(self::truncate_video_name(stripslashes($video_data['name']), 50));
     $name_li = new HTMLTags_LI();
     $name_li->set_attribute_str('class', 'name');
     $name_li->append($name_a);
     $details_ul->append($name_li);
     $length_min = self::get_minutes_from_seconds($video_data['length_seconds']);
     $details_ul->append('<li class="length">' . $length_min . ' min</li>');
     $details_ul->append('<li class="views">' . $video_data['views'] . ' views</li>');
     $provider_img = self::get_img_for_external_provider_name($video_data['external_video_provider_name'], 16);
     $provider_img->set_attribute_str('class', 'provider');
     $div->append($img_a);
     $div->append($details_ul);
     $div->append($provider_img);
     if ($options['admin'] && Admin_LogInHelper::is_logged_id()) {
         $links_ul = new HTMLTags_UL();
         $links_ul->set_attribute_str('class', 'options');
         $edit_li = '<li>' . VideoLibrary_AdminHelper::get_link_to_edit_video_admin_page_div($video_data['id'])->get_as_string() . '</li>';
         $links_ul->append($edit_li);
         $div->append($links_ul);
         $div->append('<hr />');
     }
     return $div;
 }