4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: Deskcom on August 17, 2008, 06:23:52 AM
-
NOTE: Nov 26 2012
All further support and development for this addon have been moved over to Sumale.nin. Which will provide support and furture development. Thank you for all your support guys and wish you all the best of luck.
NOTE:
I been working on the script for about 2 days now, It has been tested for 1.7.6 Gallery only, no other gallery versions have been tested. If others do work. Please let me know so I may update this post. This idea was started from b.o.fan orignal design and still contains code from his design as well. So I still credit b.o.fan for the original script. I hope you enjoy.
Features:
-- Display/Post shouts on a users profile
-- Notifies you of new shouts in the Shouts Tab
-- Mark shouts that you have read in the Shouts Tab
-- Delete Controls for ease of deletion on the profile page.
-- View new shouts in the control panel.
Version Changes:
-- 1.1 Fixed guest view bug.
-- 1.0 Original Release.
More Features to come.
WARNING: PLEASE BACKUP DATABASE AND WEBSITE DATA. I can not stress this enough.
Below is a list of new files and changed files.
Changed Files:
./includes/constants.php
./includes/db_mysql.php
./includes/page_header.php
./member.php
./lang/YOUR LANG/main.php
./template/YOUR TEMPLATE/member_profile.html
./template/YOUR TEMPLATE/user_logininfo.html
New Files:
./template/YOUR TEMPLATE/user_gb_bit.html
./template/YOUR TEMPLATE/user_gb_new.html
./template/YOUR TEMPLATE/user_gb_delete.html
./template/YOUR TEMPLATE/user_gb_showgb.html
Step 1.First use you sql editor or phpmyadmin to insert this table into you database.
CREATE TABLE `4images_users_gb` (
`users_gb_id` smallint(5) NOT NULL auto_increment,
`user_id_gb` smallint(5) NOT NULL default '0',
`user_id_ein` smallint(5) NOT NULL default '0',
`user_name_gb` varchar(50) NOT NULL default '',
`user_gb_text` text NOT NULL,
`user_gb_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`user_gb_read` timestamp NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`users_gb_id`)
) TYPE=MyISAM;
Or download this (http://www.4homepages.de/forum/index.php?action=dlattach;topic=22492.0;attach=3772) package, place install_gd.php in your root directory and run it. It will auto install the database for you.
Step2. Open ./includes/constants.php and Find:
define('LIGHTBOXES_TABLE', $table_prefix.'lightboxes');
After it paste:
define('USERS_GB_TABLE', $table_prefix.'users_gb');
Step 3. Open ./includes/db_mysql.php and Find:
function get_fieldname($query_id = -1, $offset) {
if ($query_id != -1) {
$this->query_id = $query_id;
}
return @mysql_field_name($this->query_id, $offset);
}
Paste After:
function fetch_object($offset) {
return @mysql_fetch_object($offset);
}
Step 4. Open ./lang/english/main.php and paste code before the ?> at the end of the file
//-----------------------------------------------------
//--- Shout Mod ---------------------------------------
//-----------------------------------------------------
$lang['user_gb'] = "Shouts from ";
$lang['user_gb_entry'] = " Shout";
$lang['user_gb_entrys'] = " Shouts";
$lang['user_gb_back'] = "To the Overview";
$lang['user_gb_delete'] = "The entry was deleted";
$lang['user_gb_delete_quest'] = "Do you want to delete this Shout-Entry? ";
$lang['user_gb_delete_yes'] = "Yes";
$lang['user_gb_delete_no'] = "No";
$lang['user_gb_delete_click'] = "Delete Entry?";
$lang['user_gb_delete_ok'] = "Entry deleted!";
$lang['user_gb_delete_not'] = "Entry not deleted";
$lang['user_gb_new'] = "New Shout-Entry";
$lang['user_gb_new_ok'] = "The entry was successful";
$lang['user_gb_new_to'] = "To the new entry";
$lang['user_gb_new_wait'] ="Please you wait 5 seconds up to the automatic forwarding! <br> Or you klick\n";
$lang['user_gb_too_gb'] = "Too the Shouts from ";
$lang['user_gb_at'] = " at ";
$lang['error_no_text'] = "Entry is missing!";
$lang['bug'] = "Error";
$lang['user_gb_er'] = "received Entrys:";
$lang['user_gb_ge'] = "written Entrys:";
$lang['user_gb_next'] = "next";
$lang['user_gb_prev'] = "prev";
$lang['level_user'] = "Member";
$lang['level_admin'] = "Administrator";
$lang['read_shout'] = "Mark as Read";
Step 5a. Open ./member.php and Find:
}
$sql = "DELETE FROM ".COMMENTS_TABLE."
WHERE comment_id = $comment_id";
$result = $site_db->query($sql);
$msg = ($result) ? $lang['comment_delete_success'] : $lang['comment_delete_error'];
}
Paste after it:
/////////////////////////////////////////////////////////////////
if ($action == "showgb_read")
{
$update_query = "UPDATE ".USERS_GB_TABLE." SET user_gb_read = NOW() WHERE user_id_gb =".$user_info['user_id']." AND users_gb_id = ".@$_GET['entry'];
$sql = $site_db->query($update_query);
$action = "showgb_new";
}
if ($action == "showgb_new")
{
if ($user_info['user_level'] == GUEST) {
show_error_page($lang['no_permission']);
exit;
}
if($_GET['user_id'] == "") $id = $user_info[user_id]; else $id = $_GET['user_id'];
if(isset($id))
{
$query = "SELECT user_id, user_name FROM ".USERS_TABLE." WHERE user_id = ".$id."";
$sql = $site_db->query($query);
$ds = $site_db->fetch_object($sql);
$user_name = "<a href='member.php?action=showprofile&user_id=".$ds->user_id."' target=_self>".$ds->user_name."</a>";
$user_name2 = $ds->user_name;
} else {
$user_name = $user_info['user_name'];
$user_name2 = $user_info['user_name'];
}
if(isset($id)) {$abf_id = $id;} else {$abf_id = $user_info['user_id'];}
$user_gb_own = $lang['user_gb'].$user_name2."";
$query2 = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_gb = ".$abf_id."";
$erg = $site_db->query_firstrow($query2);
if($erg == "0"){$user_gb_entry = $erg.$lang['user_gb_entry'];}
elseif($erg == "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
elseif($erg > "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
$offset = @$_GET['off'];
if(isset($offset)) {$offset = $_GET['off'];} else {$offset = "0";}
$gb_query = "SELECT users_gb_id,user_id_gb,user_id_ein,user_name_gb,user_gb_text,user_gb_date,DATE_FORMAT(user_gb_date,'%e.%c.%Y') AS user_gb_datum,DATE_FORMAT(user_gb_date,'%H:%i:%s') AS user_gb_uhr, user_id, user_name, user_level
FROM (".USERS_GB_TABLE." i)
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id_ein)
WHERE user_id_gb = ".$abf_id." AND user_gb_read = '0000-00-00 00:00:00'
ORDER BY user_gb_date DESC
LIMIT $offset, 10";
$gb_sql = $site_db->query($gb_query);
while($ds = $site_db->fetch_object($gb_sql))
{
if($ds->user_id_ein == $user_info[user_id] AND $ds->user_id != $ds->user_id_gb)
{
$user_link_del = "<a href='member.php?action=showgb_read&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang['read_shout']."</a>";} else {$user_link_del ="";
}
if($abf_id == $user_info[user_id])
{
$user_gb_delete = "<a href='member.php?action=showgb_read&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang['read_shout']."</a> ".$user_link_del;
}
else {$user_gb_delete = $user_link_del;}
if ($ds->user_id == "")
{
$user = $ds->user_name_gb;
$gb_link = "";
$gender = "";
}
else
{
$user = "<b><a href='member.php?action=showprofile&user_id=".$ds->user_id_ein."'>".$ds->user_name_gb."</a></b>";
}
$text = $ds->user_gb_text;
$gb_time = $ds->user_gb_datum.$lang['user_gb_at'].$ds->user_gb_uhr;
$level = $ds->user_level;
if($level == "9") {$level = $lang['level_admin'];}
elseif($level == "2") {$level = $lang['level_user'];}
else {$level = "";}
$site_template->register_vars(array(
"user" => $user,
"gb_time" => $gb_time,
"admin_link" => $user_gb_delete,
"userpic" => $user_pic,
"gender" => $gender,
"level" => $level,
"text" => format_text($text, $config['html_comments'], $config['wordwrap_comments'], $config['bb_comments'], $config['bb_img_comments'])
));
$gb_entrys .= $site_template->parse_template("user_gb_bit");
}
//Pageing
if($offset == 0) {$vor = $lang['user_gb_prev'];}
else
{
$offset2 = $offset - 10;
$vor = "<a href='member.php?action=showgb_new&user_id=".$abf_id."&off=".$offset2."'>".$lang['user_gb_prev']."</a>";
}
$offset3 = $offset + 10;
if($offset3 >= $erg ) { $weiter = $lang['user_gb_next'];}
else {$weiter = "<a href='member.php?action=showgb_new&user_id=".$abf_id."&off=".$offset3."'>".$lang['user_gb_next']."</a>";}
$gb_pageing = $vor." ".$weiter;
$site_template->register_vars(array(
"gb_entrys" => $gb_entrys,
"user_gb_own" => $user_gb_own,
"gb_pageing" => $gb_pageing,
"user_gb_entry" => $user_gb_entry,
"user_gb_entry_text" => $user_gb_entry_text
));
//Pageing
if($offset == 0) {$vor = $lang['user_gb_prev'];}
else
{
$offset2 = $offset - 10;
$vor = "<a href='member.php?action=showgb_new&id=".$abf_id."&off=".$offset2."'>".$lang['user_gb_prev']."</a>";
}
$offset3 = $offset + 10;
if($offset3 >= $erg ) { $weiter = $lang['user_gb_next'];}
else {$weiter = "<a href='member.php?action=showgb_new&id=".$abf_id."&off=".$offset3."'>".$lang['user_gb_next']."</a>";}
$gb_pageing = $vor." ".$weiter;
$site_template->register_vars(array(
"gb_entrys" => $gb_entrys,
"user_gb_own" => $user_gb_own,
"gb_pageing" => $gb_pageing,
"user_gb_entry" => $user_gb_entry,
"user_gb_entry_text" => $user_gb_entry_text
));
$txt_clickstream = $lang['user_gb'].$user_name;
$content = $site_template->parse_template("user_gb_showgb");
}
if ($action == "delete_entry")
{
if(isset($_GET['aktion']))
{
if($_GET['aktion'] == $lang['user_gb_delete_yes'])
{
$query = "DELETE FROM ".USERS_GB_TABLE." WHERE users_gb_id = ".@$_GET['entry']."";
$sql = $site_db->query($query);
$user_gb .= "<meta http-equiv=refresh content=\"0; URL=member.php?action=showprofile&user_id=".$_GET['user_id']."&msg_del=yes\">";
$txt_clickstream = $lang['user_gb_delete_ok'];
}
if($_GET['aktion'] == $lang['user_gb_delete_no'])
{
$user_gb .= "<meta http-equiv=refresh content=\"0; URL=member.php?action=showprofile&user_id=".$_GET['user_id']."&msg_del=no\">";
}
}
else
{
$txt_clickstream = $lang['user_gb_delete_click'];
}
if ($user_info['user_level'] == GUEST)
{
show_error_page($lang['no_permission']);
exit;
}
$site_template->register_vars(array(
"user_gb" => $user_gb,
"entry" => $_GET['entry'],
"user_id" => $_GET['user_id'],
"delete_entry" => $lang['user_gb_delete_quest'],
"delete_entry_yes" => $lang['user_gb_delete_yes'],
"delete_entry_no" => $lang['user_gb_delete_no']
));
$content = $site_template->parse_template("user_gb_delete");
}
/////////////////////////////////////////////////////////////////
Step 5b. Find:
$user_icq = (isset($user_row['user_icq'])) ? $user_row['user_icq'] : REPLACE_EMPTY;
if (!empty($user_icq) && $user_icq != REPLACE_EMPTY) {
$user_icq_button = "<a href=\"http://www.icq.com/people/about_me.php?uin=".$user_icq."\" target=\"_blank\"><img src=\"http://status.icq.com/online.gif?icq=".$user_icq."&img=5\" width=\"18\" height=\"18\" border=\"0\" alt=\"".$user_icq."\" /></a>";
}
else {
$user_icq_button = REPLACE_EMPTY;
}
Paste this after:
/////////////////////////////////////////////////////
$msg_del = $_GET['msg_del'];
if($msg_del == "yes") $msg = $lang['user_gb_delete_ok'];
elseif($msg_del == "no") $msg = $lang['user_gb_delete_not'];
elseif($msg_del == "") $msg = "";
if($_GET['user_id'] == "") $id = $user_info[user_id]; else $id = $_GET['user_id'];
if(isset($id))
{
$query = "SELECT user_id, user_name FROM ".USERS_TABLE." WHERE user_id = ".$id."";
$sql = $site_db->query($query);
$ds = $site_db->fetch_object($sql);
$user_name = "<a href='member.php?action=showprofile&user_id=".$ds->user_id."' target=_self>".$ds->user_name."</a>";
$user_name2 = $ds->user_name;
} else {
$user_name = $user_info['user_name'];
$user_name2 = $user_info['user_name'];
}
if(isset($id)) {$abf_id = $id;} else {$abf_id = $user_info['user_id'];}
$user_gb_own = $lang['user_gb'].$user_name2."";
$query2 = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_gb = ".$abf_id."";
$erg = $site_db->query_firstrow($query2);
if($erg == "0"){$user_gb_entry = $erg.$lang['user_gb_entry'];}
elseif($erg == "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
elseif($erg > "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
$offset = @$_GET['off'];
if(isset($offset)) {$offset = $_GET['off'];} else {$offset = "0";}
$gb_query = "SELECT users_gb_id,user_id_gb,user_id_ein,user_name_gb,user_gb_text,user_gb_date,DATE_FORMAT(user_gb_date,'%e.%c.%Y') AS user_gb_datum,DATE_FORMAT(user_gb_date,'%H:%i:%s') AS user_gb_uhr, user_id, user_name, user_level
FROM (".USERS_GB_TABLE." i)
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id_ein)
WHERE user_id_gb = ".$abf_id."
ORDER BY user_gb_date DESC
LIMIT $offset, 10";
$gb_sql = $site_db->query($gb_query);
while($ds = $site_db->fetch_object($gb_sql))
{
if($ds->user_id_ein == $user_info[user_id] AND $ds->user_id != $ds->user_id_gb)
{
$user_link_del = "<a href='member.php?action=delete_entry&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang['delete']."</a>";} else {$user_link_del ="";
}
if($abf_id == $user_info[user_id])
{
$user_gb_delete = "<a href='member.php?action=delete_entry&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang[delete]."</a> ".$user_link_del;
}
else {$user_gb_delete = $user_link_del;}
if ($ds->user_id == "")
{
$user = $ds->user_name_gb;
$gb_link = "";
$gender = "";
}
else
{
$user = "<b><a href='member.php?action=showprofile&user_id=".$ds->user_id_ein."'>".$ds->user_name_gb."</a></b>";
$gb_link = "<a href='member.php?action=showprofile&user_id=".$ds->user_id."'\n target=_self><img src='".TEMPLATE_PATH."/images/gb_".$config['language_dir'].".gif' border=0></a>";
}
$text = $ds->user_gb_text;
$gb_time = $ds->user_gb_datum.$lang['user_gb_at'].$ds->user_gb_uhr;
$level = $ds->user_level;
if($level == "9") {$level = $lang['level_admin'];}
elseif($level == "2") {$level = $lang['level_user'];}
else {$level = "";}
$site_template->register_vars(array(
"user" => $user,
"gb_time" => $gb_time,
"admin_link" => $user_gb_delete,
"userpic" => $user_pic,
"gender" => $gender,
"gb_link" => $gb_link,
"level" => $level,
"text" => format_text($text, $config['html_comments'], $config['wordwrap_comments'], $config['bb_comments'], $config['bb_img_comments'])
));
$gb_entrys .= $site_template->parse_template("user_gb_bit");
}
//Pageing
if($offset == 0) {$vor = $lang['user_gb_prev'];}
else
{
$offset2 = $offset - 10;
$vor = "<a href='member.php?action=showprofile&user_id=".$abf_id."&off=".$offset2."'>".$lang['user_gb_prev']."</a>";
}
$offset3 = $offset + 10;
if($offset3 >= $erg ) { $weiter = $lang['user_gb_next'];}
else {$weiter = "<a href='member.php?action=showprofile&user_id=".$abf_id."&off=".$offset3."'>".$lang['user_gb_next']."</a>";}
$gb_pageing = $vor." ".$weiter;
$site_template->register_vars(array(
"gb_entrys" => $gb_entrys,
"user_gb_own" => $user_gb_own,
"gb_pageing" => $gb_pageing,
"user_gb_entry" => $user_gb_entry,
"user_gb_entry_text" => $user_gb_entry_text
));
if($_GET['ent'] == "") $afg = "false"; else $afg = $_GET['ent'];
if ($_POST['comment_text'] == "" & $_GET['ent'] == "true")
{
$msg = $lang['error_no_text'];
$afg = "false";
}
if($afg == "true")
{
$text = $_POST['comment_text'];
if($_POST['user_id'] == $user_info[user_id]) { $a = "NOW()";}
else {$a = "'0000-00-00 00:00:0'";}
$query = "INSERT INTO ".USERS_GB_TABLE."
(user_id_gb, user_id_ein, user_name_gb, user_gb_text, user_gb_date, user_gb_read)
VALUES
('".$_POST['user_id']."', '".$user_info[user_id]."', '".$user_info[user_name]."','".$text."', NOW(), ".$a.")";
$sql = $site_db->query($query);
$msg .= "<meta http-equiv=refresh content=\"5; URL=member.php?action=showprofile&user_id=".$_POST['user_id']."\">\n
<fieldset style=border : 1px solid blue><legend style=color: black;><b>".$lang['user_gb_new_ok']."</b>\n
</legend>\n<table border=0 cellspacing=0 cellpadding=8><tr>\n
<td><p> ".$lang['user_gb_new_wait']."
<a href=member.php?action=showprofile&user_id=".$_POST['user_id'].">".$lang['user_gb_new_to']."</a><br></p></td></tr></table></fieldset>";
}
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
if ($config['bb_comments'] == 1) {
$site_template->register_vars(array(
"lang_bbcode" => $lang['bbcode'],
"lang_tag_prompt" => $lang['tag_prompt'],
"lang_link_text_prompt" => $lang['link_text_prompt'],
"lang_link_url_prompt" => $lang['link_url_prompt'],
"lang_link_email_prompt" => $lang['link_email_prompt'],
"lang_list_type_prompt" => $lang['list_type_prompt'],
"lang_list_item_prompt" => $lang['list_item_prompt']
));
$bbcode = $site_template->parse_template("bbcode"); }
$site_template->register_vars(array(
"user_gb" => $user_gb,
"bbcode" => $bbcode,
"head_gb" => $lang['user_gb_new'],
"button_send" => $lang['submit'],
"button_reset" => $lang['reset'],
"gb_id" => $user_id
));
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_gb = ".$user_row['user_id']."";
$erg = $site_db->query_firstrow($query);
$user_gb_ein = $erg;
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_ein = ".$user_row['user_id']."";
$erg = $site_db->query_firstrow($query);
$user_gb_ge = $erg;
$user_gb_link = "<a href='member.php?action=showprofile&user_id=".$user_row['user_id']."'>".$lang['user_gb_too_gb'].$user_row['user_name']." (".$user_gb_ein.")</a>";
$site_template->register_vars(array(
"user_gb_ein" => $user_gb_ein,
"user_gb_ge" => $user_gb_ge,
"lang_gb_ein" => $lang['user_gb_ein'],
"lang_user_gb_er" => $lang['user_gb_er'],
"lang_user_gb_ge" => $lang['user_gb_ge'],
"user_gb_link" => $user_gb_link
));
///////////////////////////////////////////////
Step 6a. Open ./include/page_header.php and Find:
"url_lightbox" => $site_sess->url(ROOT_PATH."lightbox.php"),
Paste after it:
"url_own_gb" => (!empty($url_own_gb)) ? $site_sess->url($url_own_gb) : $site_sess->url(ROOT_PATH."member.php?action=showgb_new"),
Step 6b. Find:
Copyright © 2002-'.date('Y').' <a href="http://www.4homepages.de" target="_blank">4homepages.de</a>
</p>
',
));
if (!empty($additional_urls)) {
$register_array = array();
foreach ($additional_urls as $key => $val) {
$register_array[$key] = $site_sess->url($val);
}
$site_template->register_vars($register_array);
}
Paste After it:
//////////////////////////////////////////////
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE."
WHERE user_id_gb = ".$user_info['user_id']."
AND user_gb_read = '0000-00-00 00:00:00'";
$erg = $site_db->query_firstrow($query);
if($erg == "0"){$user_gb_neu = $lang['user_gb_entry']."(".$erg.")";}
elseif($erg == "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
elseif($erg > "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
////////////////////////////////////////////////
Step 6c. Find:
"lang_lightbox" => $lang['lightbox'],
Paste this after:
"lang_own_gb" => $user_gb_neu,
Step 7. Open ./template/YOUR TEMPLATE/user_logininfo.html and Find:
» <a href="{url_lightbox}">{lang_lightbox}</a> <br />
Paste after it:
» <a href="{url_own_gb}">{lang_own_gb}</a><br />
Step 8a. Open ./template/YOUR TEMPLATE/member_profile.html and Find:
<tr>
<td class="row1"><b>{lang_comments}</b></td>
<td class="row1">{user_comments}</td>
</tr>
Paste after it:
<tr>
<td class="row2"><b>{lang_user_gb_er}</b></td>
<td class="row2">{user_gb_ein}</td>
</tr>
<tr>
<td class="row1"><b>{lang_user_gb_ge}</b></td>
<td class="row1">{user_gb_ge}</td>
</tr>
Step 8b. Paste this at the end of your member_profile.html
<br />
<table width="100%" class=head1 cellpadding="1" cellspacing="0">
<tr>
<td><table class=row2 cellpadding="3" cellspacing="0" width=100%><tr><td align="left" width=22%>{user_gb_entry}</td><td align="center">{gb_pageing}<td align="right" width=22%></td></tr>
<tr>
<td colspan="3" align=center>{gb_entrys} </td>
</tr>
<tr>
<td align="left"> </td>
<td align="center">{gb_pageing}
<td align="right"> </td>
</tr>
</table>
</td>
</tr>
</table>
<br />
<table width=450px cellpadding="1" cellspacing="0" align="center">
<tr>
<td>
<table align="center" width="100%" border="0" cellpadding="3" cellspacing="0"><form name=commentform action='?action=showprofile&ent=true&user_id={user_id}' method=post>
<tr><td class=head1 colspan=11>{head_gb}</td></tr>
<tr><td class=row1 align="center"><textarea class=input name=comment_text rows=6 cols=120></textarea>
<br>
{bbcode}<br>
<input type=hidden name=user_id value={gb_id}></td></tr>
<tr><td class=row1 align="center"><input type=submit class=button value={button_send}><input type=reset class=button value={button_reset}></td></tr>
</form>
</table>
</td>
</tr>
</table>
Step 9. Download the attached file containing the 4 new files and place them in you ./template/YOUR TEMPLATE/ folder. And that should be it. An y changes to the script post here and I will test and get it updated. Hope you enjoy and thanks again b.o.fan for the original idea.
-
Very cool Idea. Its like a Facebook wall for your 4images Profile.
I will give it a test.
-
NICE!!!!!!!!!!!!
NICE!!!!!!!!!!!!
more of that :D
-
so hot man this mod
thanks.
-
so how does one do step 1 in phpmyadmin?
I know i could do each individually but how can i do them all at once?
-
so how does one do step 1 in phpmyadmin?
I know i could do each individually but how can i do them all at once?
In phpmyadmin select your 4images database, then you should see SQL tab on top
-
works great. thank you!
-
Question / Request
I would like to display the users Avatar like the comment_bit.html but it only displays the avatar for that user, not from other users.
{user_avatar_current} does not seem to work correctly inside the user_gb_bit.html
Also another idea. How about an email notification when someone posts on your profile?
-
Please disclose what mod you are using for the avatar and i will be able to look into it
-
Hallo,
ich kenne mich nicht so aus und habe hier im Forum auch schon versucht eine Lösung zu finden.
Das Problem fängst schon bei der Erstellung der Tabelle an...was mache ich falsch?
Habe mal ein Screen anbei
img src="http://mitglied.lycos.de/wenighaare/ebay/tabelle.jpg"
Wenn ich auf speichern gehe kommt diese fehlermeldung
img src="http://mitglied.lycos.de/wenighaare/ebay/tabelle01.jpg"
-
I have made an installer to install the database. place install_gd.php in your root directory and run it. It will auto install the database for you.
-
@ Dirk,
wenn dein Problem weiterhin besteht, nutze dieses:
http://www.4homepages.de/forum/index.php?action=dlattach;topic=22492.0;attach=3772
Lade es in deinem Root Verzeichnis und führe es aus!
-
vielen dank für die schnelle Hilfe.
Thank you for the quick help
Habe die Dateien alle wie beschrieben geändert.Wenn ich jetzt die install_gd aufrufe kommt danach dann diese Fehlermeldung
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in F:\xampp\htdocs\4images\includes\page_header.php on line 147
wäre nett wenn ihr mir da noch mal helfen könntet
Danke und Grüße Dirk
-
Please post your page_header.php file and any mods that are installed in your gallery
-
I am grateful to have the problem resolved itself already
-
Hi Deskcom
Lovely mod! Thanks a lot for the efford of publishing this :D
Quokka
-
I installed this mod. seems to be working fine.
Only issue I have is that on the page where you can enter post a new entry, I have the following problem...
http://gundamgallery.com/member.php?action=showprofile&user_id=1
Something, don't think it's the entry box, is causing it to elongate. Any idea?
-
Change In your user_gb_new.html
<textarea class=input name=comment_text rows=6 cols=120></textarea>
To:
<textarea class=textarea name=comment_text rows=6 cols=120></textarea>
-
very good mod , works excellent !! Thanks Daniel
-
Works perfect with 1.7.7
http://www.4homepages.de/forum/index.php?topic=24888.msg136127#msg136127
-
Thank's for this Mod.
Work's great.
Can you help me with one thing.
Now with this Mod installed de guest's don't have permission to see the member profile.It's possible change that?
Thanks,
Fernando
-
i will try to work on it later tonight or tom. ty for letting me know of the bug
-
Warning: mysql_result() expects parameter 1 to be resource, boolean given in /users/ante226/www/kay/includes/page_header. php on line 158
das kommt bei mir auf der seite
hat einer eine idee ???
-
Welcome to 4images forum.
Re-do steps 5a, 5b and 6b
-
Okay, I've found the error was due to the database
so my question is now I have to shout right there, you can enter the reinschreiben?? can not find a setting here is the link
to look
xxx: ante226. bplaced. net/kay
-
Hi,
Is any solution for this.
Now with this Mod installed de guest's don't have permission to see the member profile.It's possible change that?
Thanks a lot, and great work with this mod.
-
I'm sorry for the long delay. Here is the fix for the problem you been having. I also updated the original scripting. Have fun.
Open member.php
Find
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
if ($user_info['user_level'] == GUEST)
{
show_error_page($lang['no_permission']);
exit;
}
Replace it with:
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
Hope this helps everyone out. Thank you for your patients.
-
I'm sorry for the long delay. Here is the fix for the problem you been having. I also updated the original scripting. Have fun.
Open member.php
Find
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
if ($user_info['user_level'] == GUEST)
{
show_error_page($lang['no_permission']);
exit;
}
Replace it with:
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
Hope this helps everyone out. Thank you for your patients.
Thanks al lot for your work!!!
Works very fine!!!
Thanks
-
Hallo.
Ich habe alle Änderungen wie beschrieben vorgenommen, aber bei mir funktioniert einiges... noch nicht.
Irgendwie funktioniert der Datenbankzugriff nicht richtig. Neue Einträge werden geschrieben, aber beispielsweise bei der Anzeige im Menü steht statt der Menge der Einträge "(Array)". Also konnte die Menge nicht richtig ermittelt werden.
Wenn ich im Benutzerprofil bin, zeigt es mir meine Einträge so an...
Array Shouts prev next
max
Member
w23sefrwesf
12.10.2009 at 17:27:52 [Löschen]
prev next
...
also auch hier wieder nur "Array" statt der Menge.
Genauso hier...
received Entrys: Array
written Entrys: Array
Wo könnte da der Fehler liegen??
Vielen Dank schonmal
P.S.: Wenn ich mir in der page_header.php mal
$site_db->query_firstrow($query);
Also echo ausgeben lasse, kommt als Wert -> Array!
-
Danke für das Informieren ich. Ich arbeite an ihm morgen, wenn ich oder Mittwoch kann. Bekannt gibt die Verlegenheit a bald tgibt, wie möglich.
-
Thanks Deskcom!
-
Sorry,
habe schon beim ersten Step der install_gd.php ein Problem:
"Sorry, can not continue, you missed some steps of the installation."
Was habe ich übersehen, das ist doch der erste Schritt zum Mod, oder?
-
Hi -
Using v 1.7.7
Just installed the Shouts/Guestbook v1.1
Everything went well. Was able to make a shout and then log in and see it as the other user.
But I have the same problem that CyberAx had in his post:
http://www.4homepages.de/forum/index.php?topic=22492.msg141996#msg141996
I get "Array" in the user_logininfo.html template, and in the member_profile.html template. Also, it appears in the bottom of the page for the summary of Shouts, just like CyberAx.
[UPDATE]
CyberAx replied that he had fixed the same issue but he didn't remember how.
Suspect the problem is with the includes/page_headed.php file;
looking at the code that we should paste, I figured that perhaps I needed to specify the table in our database so changed the first line here:
from $query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." to $query = "SELECT COUNT(*) FROM 4images_users_gb
here is current code:
//////////////////////////////////////////////
$query = "SELECT COUNT(*) FROM 4images_users_gb
WHERE user_id_gb = ".$user_info['user_id']."
AND user_gb_read = '0000-00-00 00:00:00'";
$erg = $site_db->query_firstrow($query);
if($erg == "0"){$user_gb_neu = $lang['user_gb_entry']."(".$erg.")";}
elseif($erg == "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
elseif($erg > "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
////////////////////////////////////////////////
Still no joy. Keep getting 'Array' all over the place. I have made two Shout posts thinking that might 'seed' the count but that didn't help.
[UPDATE - II]
I have tried every variation on the above "SELECT COUNT" query and nothing helps. I have changed the table names since our installation is in a subdirectory that has a different name than 4images. I have tried changing the field name in ".$user_info['user_id']." to the full field name from our database.
Nothing helps. Totally stumped. Hoping someone will be able to solve this mystery.
[UPDATE - III]
CyberAx was kind enough to send along his three files so I could compare our version of the codes for the installed MOD (since he was able to fix the same issue). His variations in the includes/page_header.php for the above query count solved half of the problem. The userbox now shows a count. Unfortunately the other code differences cause some errors in member.php and I still have the 'Array' display in the Shout counts in the member profile display. After 4 hours of code variations and tinkering, I have to throw in the towel on this MOD, for the time being.
[UPDATE - IV]
No word from the MOD creator. Have attached a pic of the problem.
Hoping and hoping and hoping that Deskcom will respond and help me solve this issue
If anyone has any thoughts, let me know.
Cheers,
Brian
-
Ich hoffe auch das sich hier noch was tut, denn ich kriege das teil auch nicht zum Laufen :cry:
-
Hey ghostwhizard:
For the record - I HAVE NO IDEA what I am doing. I just copy and paste the code.
With that said, I took CyberAx's IM where he provided the files he used that somehow got the system to work.
Maybe this is a glitch with v.1.7.7 or maybe not but I just played with his query code and was able to fix all three glitches in this MOD. Again, I HAVE NO IDEA why this fix works but it solved the issue for me:
For Step 6b. in the page_header.php file, use this code instead of what Dekscom tells you to paste:
//////////////////////////////////////////////
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE."
WHERE user_id_gb = ".$user_info['user_id']."
AND user_gb_read = '0000-00-00 00:00:00'";
# $erg = $site_db->query_firstrow($query);
$result= mysql_query($query) or die("Fehler");
$erge = mysql_fetch_row($result);
$erg = $erge[0];
if($erg == "0"){$user_gb_neu = $lang['user_gb_entry']."(".$erg.")";}
elseif($erg == "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
elseif($erg > "1"){$user_gb_neu = $lang['user_gb_entrys']."<b>(".$erg.")</b>";}
////////////////////////////////////////////////
That takes care of the 'array' issue in the userbox.
Now, for the array issues in the Member control panel, paste this code in Step 5b instead of what Deskcom tells you to paste:
/////////////////////////////////////////////////////
$msg_del = $_GET['msg_del'];
if($msg_del == "yes") $msg = $lang['user_gb_delete_ok'];
elseif($msg_del == "no") $msg = $lang['user_gb_delete_not'];
elseif($msg_del == "") $msg = "";
if($_GET['user_id'] == "") $id = $user_info[user_id]; else $id = $_GET['user_id'];
if(isset($id))
{
$query = "SELECT user_id, user_name FROM ".USERS_TABLE." WHERE user_id = ".$id."";
$sql = $site_db->query($query);
$ds = $site_db->fetch_object($sql);
$user_name = "<a href='member.php?action=showprofile&user_id=".$ds->user_id."' target=_self>".$ds->user_name."</a>";
$user_name2 = $ds->user_name;
} else {
$user_name = $user_info['user_name'];
$user_name2 = $user_info['user_name'];
}
if(isset($id)) {$abf_id = $id;} else {$abf_id = $user_info['user_id'];}
$user_gb_own = $lang['user_gb'].$user_name2."";
$query2 = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_gb = ".$abf_id."";
# $erg = $site_db->query_firstrow($query2);
$result= mysql_query($query2) or die("Fehler");
$erge = mysql_fetch_row($result);
$erg = $erge[0];
if($erg == "0"){$user_gb_entry = $erg.$lang['user_gb_entry'];}
elseif($erg == "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
elseif($erg > "1"){$user_gb_entry = $erg.$lang['user_gb_entrys'];}
$offset = @$_GET['off'];
if(isset($offset)) {$offset = $_GET['off'];} else {$offset = "0";}
$gb_query = "SELECT users_gb_id,user_id_gb,user_id_ein,user_name_gb,user_gb_text,user_gb_date,DATE_FORMAT(user_gb_date,'%e.%c.%Y') AS user_gb_datum,DATE_FORMAT(user_gb_date,'%H:%i:%s') AS user_gb_uhr, user_id, user_name, user_level
FROM (".USERS_GB_TABLE." i)
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id_ein)
WHERE user_id_gb = ".$abf_id."
ORDER BY user_gb_date DESC
LIMIT $offset, 10";
$gb_sql = $site_db->query($gb_query);
while($ds = $site_db->fetch_object($gb_sql))
{
if($ds->user_id_ein == $user_info[user_id] AND $ds->user_id != $ds->user_id_gb)
{
$user_link_del = "<a href='member.php?action=delete_entry&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang['delete']."</a>";} else {$user_link_del ="";
}
if($abf_id == $user_info[user_id])
{
$user_gb_delete = "<a href='member.php?action=delete_entry&entry=".$ds->users_gb_id."&user_id=".$ds->user_id_gb."'>".$lang[delete]."</a> ".$user_link_del;
}
else {$user_gb_delete = $user_link_del;}
if ($ds->user_id == "")
{
$user = $ds->user_name_gb;
$gb_link = "";
$gender = "";
}
else
{
$user = "<b><a href='member.php?action=showprofile&user_id=".$ds->user_id_ein."'>".$ds->user_name_gb."</a></b>";
$gb_link = "<a href='member.php?action=showprofile&user_id=".$ds->user_id."'\n target=_self><img src='".TEMPLATE_PATH."/images/gb_".$config['language_dir'].".gif' border=0></a>";
}
$text = $ds->user_gb_text;
$gb_time = $ds->user_gb_datum.$lang['user_gb_at'].$ds->user_gb_uhr;
$level = $ds->user_level;
if($level == "9") {$level = $lang['level_admin'];}
elseif($level == "2") {$level = $lang['level_user'];}
else {$level = "";}
$site_template->register_vars(array(
"user" => $user,
"gb_time" => $gb_time,
"admin_link" => $user_gb_delete,
"userpic" => $user_pic,
"gender" => $gender,
"gb_link" => $gb_link,
"level" => $level,
"text" => format_text($text, $config['html_comments'], $config['wordwrap_comments'], $config['bb_comments'], $config['bb_img_comments'])
));
$gb_entrys .= $site_template->parse_template("user_gb_bit");
}
//Pageing
if($offset == 0) {$vor = $lang['user_gb_prev'];}
else
{
$offset2 = $offset - 10;
$vor = "<a href='member.php?action=showprofile&user_id=".$abf_id."&off=".$offset2."'>".$lang['user_gb_prev']."</a>";
}
$offset3 = $offset + 10;
if($offset3 >= $erg ) { $weiter = $lang['user_gb_next'];}
else {$weiter = "<a href='member.php?action=showprofile&user_id=".$abf_id."&off=".$offset3."'>".$lang['user_gb_next']."</a>";}
$gb_pageing = $vor." ".$weiter;
$site_template->register_vars(array(
"gb_entrys" => $gb_entrys,
"user_gb_own" => $user_gb_own,
"gb_pageing" => $gb_pageing,
"user_gb_entry" => $user_gb_entry,
"user_gb_entry_text" => $user_gb_entry_text
));
if($_GET['ent'] == "") $afg = "false"; else $afg = $_GET['ent'];
if ($_POST['comment_text'] == "" & $_GET['ent'] == "true")
{
$msg = $lang['error_no_text'];
$afg = "false";
}
if($afg == "true")
{
$text = $_POST['comment_text'];
if($_POST['user_id'] == $user_info[user_id]) { $a = "NOW()";}
else {$a = "'0000-00-00 00:00:0'";}
$query = "INSERT INTO ".USERS_GB_TABLE."
(user_id_gb, user_id_ein, user_name_gb, user_gb_text, user_gb_date, user_gb_read)
VALUES
('".$_POST['user_id']."', '".$user_info[user_id]."', '".$user_info[user_name]."','".$text."', NOW(), ".$a.")";
$sql = $site_db->query($query);
$msg .= "<meta http-equiv=refresh content=\"5; URL=member.php?action=showprofile&user_id=".$_POST['user_id']."\">\n
<fieldset style=border : 1px solid blue><legend style=color: black;><b>".$lang['user_gb_new_ok']."</b>\n
</legend>\n<table border=0 cellspacing=0 cellpadding=8><tr>\n
<td><p> ".$lang['user_gb_new_wait']."
<a href=member.php?action=showprofile&user_id=".$_POST['user_id'].">".$lang['user_gb_new_to']."</a><br></p></td></tr></table></fieldset>";
}
elseif ($afg == "false")
{
$id = $_GET['user_id'];
}
if ($config['bb_comments'] == 1) {
$site_template->register_vars(array(
"lang_bbcode" => $lang['bbcode'],
"lang_tag_prompt" => $lang['tag_prompt'],
"lang_link_text_prompt" => $lang['link_text_prompt'],
"lang_link_url_prompt" => $lang['link_url_prompt'],
"lang_link_email_prompt" => $lang['link_email_prompt'],
"lang_list_type_prompt" => $lang['list_type_prompt'],
"lang_list_item_prompt" => $lang['list_item_prompt']
));
$bbcode = $site_template->parse_template("bbcode"); }
$site_template->register_vars(array(
"user_gb" => $user_gb,
"bbcode" => $bbcode,
"head_gb" => $lang['user_gb_new'],
"button_send" => $lang['submit'],
"button_reset" => $lang['reset'],
"gb_id" => $user_id
));
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_gb = ".$user_row['user_id']."";
# $erg = $site_db->query_firstrow($query);
$result= mysql_query($query) or die("Fehler");
$erge = mysql_fetch_row($result);
$erg = $erge[0];
$user_gb_ein = $erg;
$query = "SELECT COUNT(*) FROM ".USERS_GB_TABLE." WHERE user_id_ein = ".$user_row['user_id']."";
# $erg = $site_db->query_firstrow($query);
$result= mysql_query($query) or die("Fehler");
$erge = mysql_fetch_row($result);
$erg = $erge[0];
$user_gb_ge = $erg;
$user_gb_link = "<a href='member.php?action=showprofile&user_id=".$user_row['user_id']."'>".$lang['user_gb_too_gb'].$user_row['user_name']." (".$user_gb_ein.")</a>";
$site_template->register_vars(array(
"user_gb_ein" => $user_gb_ein,
"user_gb_ge" => $user_gb_ge,
"lang_gb_ein" => $lang['user_gb_ein'],
"lang_user_gb_er" => $lang['user_gb_er'],
"lang_user_gb_ge" => $lang['user_gb_ge'],
"user_gb_link" => $user_gb_link
));
///////////////////////////////////////////////
In closing, I want to thank Deskcom for creating this MOD which I think is way cool and one that will enhance our community website 20 feet. There are always bugs and glitches in code, especially with new releases that jump from v.1.7.6 to v.1.7.7
Just because Deskcom didn't respond immediately doesn't mean he's a wave hog. Everyone has a life and everyone gets busy. I am just thankful that he took as much time as he did to create this MOD.
All of us contribute and find solutions. I regret that I can't explain why this code fix works. All I did was take CyberAx's code and paste it in various places and do a lot of upload trial and error and eventually I found a code paste that resolved this glitch.
Keep ridin' those waves dude.
Brian
-
Hey surferboy :D
thanks for the code! I will try it today! i hope it works :roll:
greets
ghost
--edit--
Schade, geht auch nicht :(
Mit surferboys code komme ich gar nicht mehr auf die Seite! Der Installer zeigt mir auch immer einen Fehler!
Naja ich lass es dann mal! Der erste MOD der bei mir nicht funktioniert :cry:
-
hi -
Just installed the Gravatar MOD - http://www.4homepages.de/forum/index.php?topic=24025.0, and realized that it would be so sweet to feature gravatars in the shoutbox. Anyone have any idea how to make that work?
Also, looks like the Received Comments V.2, topic 12695.0 MOD is causing some flyby's with the code on the Gravatar with [I suspect] the member.php file telling a new template file to show it's face, sans the usual template file called for in the Gravatar MOD. So any solutions may have to be a bit of a juggling act.
Thanks
Brian
-
Bekomme immer eine Fehlermeldung( CSRF check failed.)
wo könnte das Problem sein