Help with adding 'purchased' videos to the 'liked' video page

#1

In the web video script I’m using, it has ‘like’ the video option, and then the (logged-in) User can select the liked-videos link to see which videos he liked.
I’m trying to modify the script so that instead of having ‘liked’ videos appear on the Users’ kied-video page, each time the User paid to view a video, it gets added to his liked-videos page instead, for a simple way for the User to always see what he has purchased.
So, I can remove the html ‘like’ icon from the displaying html page (to eliminate the ‘like’ option), and I’m looking for assistance with having each ‘purchased’ video added to the (users’) existing liked-video page. I looking for help with getting part of the liked-videos php file code to be added to the paid-videos php file, to accomplish that. Here is the liked-video.php code:

<?php
if (IS_LOGGED == false) {
    header("Location: " . PT_Link('login'));
    exit();
}

$list = '<div class="text-center no-content-found empty_state"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-video-off"><path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>' . $lang->no_videos_found_liked . '</div>';
$final = '';

$get = $db->where('user_id', $user->id)->where('type', 1)->orderby('id', 'DESC')->get(T_DIS_LIKES, 20);
$get_history_videos = array();
if (!empty($get)) {
    foreach ($get as $key => $video_) {
       $fetched_video = $db->where('id', $video_->video_id)->getOne(T_VIDEOS);
       $fetched_video->like_id = $video_->id;
       $get_history_videos[] = $fetched_video;
    }
}
if (!empty($get_history_videos)) {
    $len = count($get_history_videos);
    foreach ($get_history_videos as $key => $video) {
        $video = PT_GetVideoByID($video, 0, 0, 0);
        $pt->last_video = false;
        if ($key == $len - 1) {
            $pt->last_video = true;
        }
        $final .= PT_LoadPage('liked-videos/list', array(
            'ID' => $video->like_id,
            'USER_DATA' => $video->owner,
            'THUMBNAIL' => $video->thumbnail,
            'URL' => $video->url,
            'TITLE' => $video->title,
            'DESC' => $video->markup_description,
            'VIEWS' => $video->views,
            'TIME' => $video->time_ago,
            'VIDEO_ID_' => PT_Slug($video->title, $video->video_id)
        ));
    }
}
if (empty($final)) {
	$final = $list;
}
$pt->page_url_ = $pt->config->site_url.'/liked-videos';
$pt->videos      = $get_history_videos;
$pt->page        = 'liked-videos';
$pt->title       = $lang->liked_videos . ' | ' . $pt->config->title;
$pt->description = $pt->config->description;
$pt->keyword     = $pt->config->keyword;
$pt->content     = PT_LoadPage('liked-videos/content', array(
    'LIKED_LIST' => $final
));

and here is the paid-video.php code:

<?php

if (IS_LOGGED == false) {
    header("Location: " . PT_Link('login'));
    exit();
}
$user_id               = $user->id;
$pt->is_admin          = PT_IsAdmin();
$pt->is_settings_admin = false;


$list = '<div class="text-center no-content-found empty_state"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-video-off"><path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>' . $lang->no_videos_found_for_now . '</div>';
$list2 = '<div class="text-center no-content-found empty_state"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-video-off"><path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg></div>';
$final = '';


$get_videos = $db->rawQuery("SELECT DISTINCT(v.id), v.* FROM u_paid_videos AS upv LEFT JOIN " . T_VIDEOS . " AS v ON (upv.id_video = v.id) WHERE upv.id_user = {$user->id} AND upv.session_key = '{$_SESSION['session_key']}' ORDER BY upv.id DESC");


if (!empty($get_videos)) {
    $len = count($get_videos);
    foreach ($get_videos as $key => $video) {
        $video = PT_GetVideoByID($video, 0, 0, 0);
        $pt->last_video = false;
        if ($key == $len - 1) {
            $pt->last_video = true;
        }
        $final .= PT_LoadPage('paid-list/list', array(
            'ID' => $video->id,
            'USER_DATA' => $video->owner,
            'THUMBNAIL' => $video->thumbnail,
            'URL' => $video->url,
            'TITLE' => $video->title,
            'DESC' => $video->markup_description,
            'VIEWS' => $video->views,
            'VIEWS_NUM' => number_format($video->views),
            'TIME' => $video->time_ago,
            'DURATION' => $video->duration
        ));
    }
}
if (empty($final)) {
	$final = $list;
}

$pt->videos      = $get_videos;
$pt->page        = 'paid-list';
$pt->title       = $lang->search . ' | ' . $pt->config->title;
$pt->description = $pt->config->description;
$pt->keyword     = $pt->config->keyword;
$pt->content     = PT_LoadPage('paid-list/content', array(
    'VIDEOS' => $final,
    'KEYWORD' => $keyword
));

any guidance with my goal will be appreciated

#2

There are two $db operations. Why not get the results from both and merge them?

#3

Thanks for your reply.
I looked at array merge, but still not sure how to apply it here.

However, I did try adding in these lines (in bold) (from liked-video file) to the paid-video file, without success:

        $final .= PT_LoadPage('paid-list/list', array(
            'ID' => $video->id,
            'USER_DATA' => $video->owner,
            'THUMBNAIL' => $video->thumbnail,
            'URL' => $video->url,
            'TITLE' => $video->title,
            'DESC' => $video->markup_description,
            'VIEWS' => $video->views,
            'VIEWS_NUM' => number_format($video->views),
            'TIME' => $video->time_ago,
            'DURATION' => $video->duration
        ));

                **$final .= PT_LoadPage('liked-videos/list', array(**
**		            //'ID' => $video->like_id,**
**		            'USER_DATA' => $video->owner,**
**		            'THUMBNAIL' => $video->thumbnail,**
**		            'URL' => $video->url,**
**		            'TITLE' => $video->title,**
**		            'DESC' => $video->markup_description,**
**		            'VIEWS' => $video->views,**
**		            'TIME' => $video->time_ago,**
**		            'VIDEO_ID_' => PT_Slug($video->title, $video->video_id)**
**		        ));**







    }
}
if (empty($final)) {
	$final = $list;
}

$pt->videos      = $get_videos;
$pt->page        = 'paid-list';
**$pt->page        = 'liked-videos';**
$pt->title       = $lang->search . ' | ' . $pt->config->title;
$pt->description = $pt->config->description;
$pt->keyword     = $pt->config->keyword;
$pt->content     = PT_LoadPage('paid-list/content', array(
    'VIDEOS' => $final,
    'KEYWORD' => $keyword
));

any additional assistance is welcomed

#4

and what should that mean for anybody? Show code, show error messages, nobody else has this.

array_merge($get, $get_videos);

#5

Thanks for your replies
I’m going to try to approach this another way, in another posting.