The forum is here for legacy reasons. No new posts will be created. User registration is disabled! If you have any questions, please email us or check https://www.adultscriptpro.com for more details!
You are not logged in.
I have a customer that wants to add link beneath the video, so i would like to know how i can make a code in the user upload area that can save the text or link to database
Offline
You have deleted the anonymous user. The upload does not work at all on your site. To add the link beneath the video you have to do the following:
1. Add a new column in the video table (lets say link varchar(255) not null default '')
2. In templates/defboot/video_upload.tpl.php you add a new input field with the name link
3. in modules/video/components/upload.tpl.php you add $link = trim($_POST['link']); and then you also add it to the sql that creates the video entry
4. in modules/video/components/view.php you get the link column from the database
5. in templates/defboot/video_view.tpl.php you display the link
Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds
Offline
I've changed description_link in database from text to varcar 255 and i get in the upload area the database structure above the header
Http://www.wizzporn.com/upload
And it is still there after change it back to text
Offline
You have deleted the anonymous user. Please add the anonymous user back from Admin (username: anonymous, password you can set to anything you like).
Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds
Offline
I've add the user :anonymous
Only the database table video still there on the upload area for users
Offline
I'm sorry, but i do not understand...you've changed the database field or added a new database field?
Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds
Offline
I,ve changed it not add a new one
Offline
oki...well dont know exactly what does not work...if you want i can just add this to your upload page and then you can see how it works.
Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds
Offline
Please Try it for me.
Offline
this i get above the upload page.
(array) Array
(
[0] => Array
(
[Table] => video
[Create Table] => CREATE TABLE `video` (
`video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL DEFAULT '0',
`channel_id` int(11) unsigned NOT NULL DEFAULT '0',
`title` varchar(100) NOT NULL DEFAULT '',
`description` text NOT NULL,
`rating` float NOT NULL DEFAULT '0',
`rated_by` bigint(20) NOT NULL DEFAULT '0',
`duration` float NOT NULL DEFAULT '0',
`thumb` tinyint(2) unsigned NOT NULL DEFAULT '1',
`thumbs` tinyint(2) unsigned NOT NULL DEFAULT '20',
`embed_code` text NOT NULL,
`allow_embed` enum('0','1') NOT NULL DEFAULT '1',
`allow_rating` enum('0','1') NOT NULL DEFAULT '1',
`allow_comment` enum('0','1') NOT NULL DEFAULT '1',
`allow_download` enum('0','1') NOT NULL DEFAULT '1',
`total_views` bigint(20) NOT NULL DEFAULT '0',
`total_comments` int(11) NOT NULL DEFAULT '0',
`total_downloads` int(11) NOT NULL DEFAULT '0',
`total_favorites` int(11) NOT NULL DEFAULT '0',
`type` enum('public','private') NOT NULL DEFAULT 'public',
`ext` enum('flv','mp4') NOT NULL DEFAULT 'flv',
`hd` tinyint(1) unsigned NOT NULL DEFAULT '0',
`size` int(11) NOT NULL DEFAULT '0',
`add_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`view_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`server` int(11) NOT NULL DEFAULT '0',
`sponsor` int(11) unsigned NOT NULL DEFAULT '0',
`flagged` enum('0','1') NOT NULL DEFAULT '0',
`locked` enum('0','1') NOT NULL DEFAULT '0',
`status` tinyint(1) NOT NULL DEFAULT '0',
`adv` int(11) unsigned NOT NULL DEFAULT '0',
`url` varchar(255) NOT NULL DEFAULT '',
`premium` tinyint(1) unsigned NOT NULL DEFAULT '0',
`price` float NOT NULL DEFAULT '0',
`slug` varchar(100) NOT NULL DEFAULT '',
`add_time` int(11) unsigned NOT NULL DEFAULT '0',
`view_time` int(11) unsigned NOT NULL DEFAULT '0',
`mobile` enum('0','1') NOT NULL DEFAULT '0',
`mobile_url` varchar(255) NOT NULL DEFAULT '',
`featured` enum('0','1') NOT NULL DEFAULT '0',
`s3` enum('0','1') NOT NULL DEFAULT '0',
`yt_video_id` varchar(32) NOT NULL DEFAULT '',
`likes` int(11) unsigned NOT NULL DEFAULT '0',
`slideversion` int(11) NOT NULL DEFAULT '2',
`slidenum` int(11) NOT NULL DEFAULT '0',
`slideoffset` int(11) NOT NULL DEFAULT '5',
`description_link` text NOT NULL,
PRIMARY KEY (`video_id`),
KEY `user_id` (`user_id`),
KEY `add_date` (`add_date`),
KEY `view_date` (`view_date`),
KEY `status_id` (`status`,`video_id`),
KEY `status_views` (`status`,`total_views`),
KEY `status_comments` (`status`,`total_comments`),
KEY `status_downloads` (`status`,`total_downloads`),
KEY `status_rating` (`status`,`rating`,`rated_by`),
KEY `status_duration` (`status`,`duration`),
KEY `status_view` (`status`,`view_time`),
KEY `status` (`status`),
KEY `mobile` (`mobile`),
KEY `status_addtime` (`status`,`add_time`),
FULLTEXT KEY `title` (`title`)
) ENGINE=MyISAM AUTO_INCREMENT=4506 DEFAULT CHARSET=utf8
)
)
Offline
Will see how i can do this tomorrow morning.
Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds
Offline
Thanks
Let me know if you need something from me, you can also email me, i can response directly
Offline
it still doesn't work, either what you post before.
and i don't know what i must do that the array is gone in the upload area.
Offline
Ok lets Create it togather ok? Step by step
1) create in video table column with some name ( for our example lets say link_url )
2) In Your theme /video_upload.tpl add some text input example :
<input name"link_url" type="text" />
3)Now in modules\video\components\upload.php
under this
$upload_id = $filter->get('unique_id');
add this:
$link_url = trim($_POST['link_url']);
after that Make a test Upload just to check if LINK_URL added.if works and added you can now get your link for each video
4) in modules/video/components/view.php
in line
$this->db->query("SELECT v.video_id, v.user_id, v.title, v.slug, v.description, v.total_views, v.total_comments, v.premium,
add this to querys v.link_url ,
so will be like this
$this->db->query("SELECT v.video_id, v.user_id, v.title, v.slug, v.description, v.total_views, v.total_comments, v.premium,v.link_url ,
5) Now you can show your link in theme file
Go in templates/defboot/video_view.tpl.php
and place where u this code
<?php echo $video['link_url']; ?>
ps : if you place it inside php you dont need my last code as it is, in this case just place
echo $video['link_url'];
Thats it...
Offline
after number three it don't save to database.
Offline
I made it work
under From : admin
Desc Url : Title of video with Href to added Url
This is what you talking about?
Last edited by thiva7 (2015-07-17 11:41:00)
Offline
nice work, thiva7
Thanks
Offline
@thiva7
Yes that's what i talking about
Offline
this still shows in the header of the members upload area
(array) Array
(
[0] => Array
(
[Table] => video
[Create Table] => CREATE TABLE `video` (
`video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL DEFAULT '0',
`channel_id` int(11) unsigned NOT NULL DEFAULT '0',
`title` varchar(100) NOT NULL DEFAULT '',
`description` text NOT NULL,
`rating` float NOT NULL DEFAULT '0',
`rated_by` bigint(20) NOT NULL DEFAULT '0',
`duration` float NOT NULL DEFAULT '0',
`thumb` tinyint(2) unsigned NOT NULL DEFAULT '1',
`thumbs` tinyint(2) unsigned NOT NULL DEFAULT '20',
`embed_code` text NOT NULL,
`allow_embed` enum('0','1') NOT NULL DEFAULT '1',
`allow_rating` enum('0','1') NOT NULL DEFAULT '1',
`allow_comment` enum('0','1') NOT NULL DEFAULT '1',
`allow_download` enum('0','1') NOT NULL DEFAULT '1',
`total_views` bigint(20) NOT NULL DEFAULT '0',
`total_comments` int(11) NOT NULL DEFAULT '0',
`total_downloads` int(11) NOT NULL DEFAULT '0',
`total_favorites` int(11) NOT NULL DEFAULT '0',
`type` enum('public','private') NOT NULL DEFAULT 'public',
`ext` enum('flv','mp4') NOT NULL DEFAULT 'flv',
`hd` tinyint(1) unsigned NOT NULL DEFAULT '0',
`size` int(11) NOT NULL DEFAULT '0',
`add_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`view_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`server` int(11) NOT NULL DEFAULT '0',
`sponsor` int(11) unsigned NOT NULL DEFAULT '0',
`flagged` enum('0','1') NOT NULL DEFAULT '0',
`locked` enum('0','1') NOT NULL DEFAULT '0',
`status` tinyint(1) NOT NULL DEFAULT '0',
`adv` int(11) unsigned NOT NULL DEFAULT '0',
`url` varchar(255) NOT NULL DEFAULT '',
`premium` tinyint(1) unsigned NOT NULL DEFAULT '0',
`price` float NOT NULL DEFAULT '0',
`slug` varchar(100) NOT NULL DEFAULT '',
`add_time` int(11) unsigned NOT NULL DEFAULT '0',
`view_time` int(11) unsigned NOT NULL DEFAULT '0',
`mobile` enum('0','1') NOT NULL DEFAULT '0',
`mobile_url` varchar(255) NOT NULL DEFAULT '',
`featured` enum('0','1') NOT NULL DEFAULT '0',
`s3` enum('0','1') NOT NULL DEFAULT '0',
`yt_video_id` varchar(32) NOT NULL DEFAULT '',
`likes` int(11) unsigned NOT NULL DEFAULT '0',
`slideversion` int(11) NOT NULL DEFAULT '2',
`slidenum` int(11) NOT NULL DEFAULT '0',
`slideoffset` int(11) NOT NULL DEFAULT '5',
`description_link` text NOT NULL,
PRIMARY KEY (`video_id`),
KEY `user_id` (`user_id`),
KEY `add_date` (`add_date`),
KEY `view_date` (`view_date`),
KEY `status_id` (`status`,`video_id`),
KEY `status_views` (`status`,`total_views`),
KEY `status_comments` (`status`,`total_comments`),
KEY `status_downloads` (`status`,`total_downloads`),
KEY `status_rating` (`status`,`rating`,`rated_by`),
KEY `status_duration` (`status`,`duration`),
KEY `status_view` (`status`,`view_time`),
KEY `status` (`status`),
KEY `mobile` (`mobile`),
KEY `status_addtime` (`status`,`add_time`),
FULLTEXT KEY `title` (`title`)
) ENGINE=MyISAM AUTO_INCREMENT=5299 DEFAULT CHARSET=utf8
)
)
Offline
anyone knows a solution?
Offline
go to
module/video/upload.php
should fild something like this
vf::dubug() without comment ( // )
or
send here ur upload.php code here and i will tell u what to remove.
Thanks
Offline
module/video/components/upload.php :
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_video_upload extends VModule_video
{
private $errors = array();
private $vcfg;
public function __construct()
{
parent::__construct();
$this->vcfg = VF::cfg('module.video');
}
public function render()
{
VLanguage::load('frontend.upload');
VLanguage::load('frontend.video');
if (!$this->vcfg['upload_enabled']) {
$_SESSION['error'] = __('upload-disabled');
VModule::load('error', TRUE);
}
if ($this->vcfg['upload_perm'] != 'anonymous') {
VAuth::check(ucfirst($this->vcfg['upload_perm']), NULL, __('upload-perm', array($this->vcfg['upload_perm'])));
$user_id = (int) $_SESSION['user_id'];
} else {
$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : $this->get_anonymous_id();
}
$errors = array();
$messages = array();
$allow = TRUE;
$this->db->query("SHOW CREATE TABLE #__video");
$data = $this->db->fetch_rows();
echo VF::debug($data);
if (!empty($this->vcfg['upload_limit'])) {
$add_time = strtotime(date('Y-m-d').' 00:00:00');
$this->db->query("SELECT COUNT(*) AS total_videos
FROM #__video
WHERE add_time > ".$add_time."
AND user_id = ".$user_id);
if ($this->db->affected_rows()) {
$total_videos = (int) $this->db->fetch_field('total_videos');
$upload_limit = (int) $this->vcfg['upload_limit'];
if ($total_videos >= $upload_limit) {
$errors[] = __('upload-limit', array($upload_limit));
}
}
}
$categories = $this->get_video_categories();
$unique = time().'0'.mt_rand();
$video = array(
'title' => '', 'description' => '', 'tags' => '', 'description_link' => '', 'category' => array(),
'url' => '', 'code' => ''
);
if (isset($_POST['cancel-upload'])) {
$allow = FALSE;
}
if (isset($_POST['upload-submitted']) && $allow === TRUE) {
$filter = VF::factory('filter');
$title = $filter->get('title');
$description = $filter->get('description');
$category = (isset($_POST['category'])) ? (array) $_POST['category'] : array();
$pornstars = (isset($_POST['pornstars'])) ? (array) $_POST['pornstars'] : array();
$tags = $filter->get('tags');
$upload_id = $filter->get('unique_id');
$description_link = trim($_POST['description_link']);
if ($title == '') {
$errors[] = __('title-empty');
} elseif (!VValid::length($title, 1, 100)) {
$errors[] = __('title-length');
} else {
$video['title'] = $title;
}
if ($description != '') {
$video['description'] = $description;
}
if (!$category) {
$errors[] = __('category-empty', array($this->vcfg['max_categories']));
} elseif (count($category) > $this->vcfg['max_categories']) {
$errors[] = __('category-max', array($this->vcfg['max_categories']));
} else {
$video['category'] = $category;
}
if ($description_link != '') {
$video['description_link'] = $description_link;
}
if ($tags == '') {
$errors[] = __('tags-empty');
} else {
$tags = prepare_tags($tags);
if ($tags == '') {
$errors[] = __('tags-invalid');
} else {
$arr = explode(',', $tags);
foreach ($arr as $tag) {
if (strlen($tag) > $this->vcfg['tag_max_length']) {
$errors[] = __('tag-length', array('"'.$tag.'"', $this->vcfg['tag_max_length']));
}
if (str_word_count($tag) > $this->vcfg['tag_max_words']) {
$errors[] = __('tag-words', array('"'.$tag.'"', $this->vcfg['tag_max_words']));
}
}
$video['tags'] = $tags;
}
}
if (!ctype_digit($upload_id)) {
$errors[] = 'Invalid upload identifier!';
}
if (!$errors) {
if (!$file = $this->process_file($upload_id, $this->vcfg['video_max_size'], $this->vcfg['video_allowed_ext'])) {
$errors = array_merge($errors, $this->errors);
}
}
if (!$errors) {
$vmodel = VModel::load('video', 'video', true);
if ($video_id = $vmodel->add(array(
'user_id' => $user_id,
'title' => $title,
'slug' => prepare_string($title, true, $this->vcfg['slug_max_length']),
'description' => $description,
'type' => 'public',
'description_link' => $description_link,
'premium' => '0',
'status' => 3))) {
$dst = MEDIA_DIR.'/videos/vid/'.$video_id.'.'.$file['ext'];
$status = ($this->vcfg['approve']) ? 2 : 1;
if (rename($file['path'], $dst)) {
@chmod($dst, 0777);
if ($this->vcfg['queue']) {
$status = 6;
} else {
$cmd = VF::cfg_core_item('php_cli_path').' '.MODULES_DIR.'/video/scripts/convert.php '.$video_id.' '.$file['ext'].' '.$status;
exec(escapeshellcmd($cmd). ' >/dev/null &');
}
if ($status !== 6) {
$status = 4;
}
foreach ($category as $cat_id) {
$vmodel->add_category($video_id, $cat_id);
}
$tags = explode(',', $tags);
foreach ($tags as $tag) {
$vmodel->add_tag($video_id, trim($tag));
}
$vmodel->add_orig(array(
'video_id' => $video_id,
'user_id' => $user_id,
'filename' => $file['name'],
'ext' => $file['ext'],
'size' => $file['size'],
'method' => 'upload'
));
$vmodel->add_activity($user_id);
if ($status === 6) {
$vmodel->add_queue($video_id, $status);
}
foreach ($pornstars as $model_id) {
$vmodel->add_model($video_id, (int) $model_id);
}
$vmodel->update($video_id, array(
'status' => $status
));
$video['title'] = '';
$video['description'] = '';
$video['tags'] = '';
$video['description_link'] = '';
$video['category'] = array();
if ($status === 1 OR $status === 4) {
$messages[] = __('upload-success');
} elseif ($status === 2 OR $status === 0) {
$messages[] = __('upload-approve');
} elseif ($status == 6) {
$messages[] = __('upload-queue');
}
} else {
$errors[] = __('file-error');
}
} else {
throw new VException(__('database-error'));
}
}
}
$tpl = VF::factory('template');
$tpl->menu = 'video';
$tpl->meta_title = __('upload-video');
$tpl->canonical = BASE_URL.'/upload/';
$tpl->canonicalm = MOBILE_URL.'/upload/';
$tpl->errors = $errors;
$tpl->messages = $messages;
$tpl->video = $video;
$tpl->categories = $categories;
$tpl->tag_max_length = $this->vcfg['tag_max_length'];
$tpl->tag_max_words = $this->vcfg['tag_max_words'];
$tpl->max_categories = $this->vcfg['max_categories'];
$tpl->unique = $unique;
$tpl->pornstars = (VModule::enabled('pornstar')) ? $this->get_pornstars('a') : NULL;
$tpl->load(array('header', 'video_upload', 'footer'));
$tpl->display();
}
private function get_anonymous_id()
{
$this->db->query("SELECT user_id FROM #__user WHERE username = 'anonymous' LIMIT 1");
if ($this->db->affected_rows()) {
return (int) $this->db->fetch_field('user_id');
}
throw new Exception('Failed to get anonymous id! Application error!?');
}
private function get_pornstars($letter='a')
{
$this->db->query("SELECT model_id, name
FROM #__model
WHERE slug LIKE '".$letter."%'
AND status = '1'");
return $this->db->fetch_rows();
}
private function process_file($upload_id, $max_size, $allowed_ext)
{
VLanguage::load('frontend.upload');
$sec = substr(md5(VF::cfg_item('secret')), -5);
$info = TMP_DIR.'/uploads/'.$upload_id.'_'.$sec;
if (file_exists($info) && is_file($info)) {
$info = file($info);
$name = trim($info['0']);
$ext = trim($info['1']);
$path = TMP_DIR.'/uploads/'.$upload_id.'_'.$sec.'.'.$ext;
if (file_exists($path) && is_file($path)) {
$size = filesize($path);
if ($max_size !== 0 && $size > ($max_size*1024*1024)) {
$this->errors[] = __('file-limit', array($max_size));
} else {
if (in_array($ext, $allowed_ext)) {
@unlink($info);
return array(
'path' => $path,
'name' => $name,
'size' => $size,
'ext' => $ext
);
} else {
$this->errors[] = __('file-invalid', array(implode(', ', $allowed_ext)));
}
}
} else {
$this->errors[] = __('file-select');
}
} else {
$this->errors[] = __('file-select').'*';
}
return FALSE;
}
}
and do any one know why it still doesn't save the link input in the database when i add text or links.
Offline
Remove this
echo VF::debug($data);
about your saving your data in Db,
send me pls all steps you have done ( with details) and i will send you how to for your proccess method.
Offline
thanks..
what i have done for the description link under the video.
i've edit the modules/video/components/upload.php
and copied the description and paste it below it and add _link
so i create in database the same as description only with _link behind it.
description_link is added in the video structure of the database.
also i edit the video-view where the link will be displayed.
also i have modified the admin edit in backend to add a link. ( this works)
also works when users upload a video and go to the dashboard and edit a video. they can also add a link.
the only problem is the users upload area.
hope you understand,
other i can send you some codes..
greets
Offline