Four Questions - Forum/Pagination/Levelup

Forum
Last Post
Threads / Messages

AlexC

Moderator
Moderator
Joined
Dec 17, 2009
Messages
742
Points
0
Age
28
Location
Canada
Mysidian Dollar
43,036
Okay, so I've got four questions, and I'd appreciate the help. :3 I didn't want to spam, so here is them all at once.

FIRST ONE: My pagination is turning my ratties.x10.mx url to www.ratties.x10.mx, so when I'm flipping through, for example, my adopts, going to the next page logs me out. :/ Same with the members page... I suspect once I start using the message system I'll get the same problem with the pagination there.

SECOND ONE: I prefer the forum's profile and message look (no offense) and was wondering if it is possible to shift my users over there more - so, for example, when someone clicks to go to the profile of someone on the main site, they get directed to the forum profile. I can probably do that easily enough, what I'm wondering about the adopts - obviously I can't shift those over, so what I'm asking is a) can someone either help me find a way to post someone's adoptables on their forum profile, or to slim down the profile on the main site with a link to their forum profile, so they can go both places.

THIRD ONE: Is it possible to "embed" the forum into my site? So to use the theme I have there and just insert the forum's information into the fields there, so it looks like you haven't left the site? Or would that be too hard?

FOURTH: Can I add a bit more information to the levelup page? So when someone clicks on an adoptable, it says stuff like name, clicks, level, gender, trade-ability, and just tells you clicked on it - but to also have this when you've already clicked it, so the information is still displayed. If someone could help me with this, that would be great. :D

Okay, that's it, for now. xD
 
Well...

First of all, you may go to each script file that uses pagination and find a line like this(the example below is for messages.php):

PHP:
$pagination = new Pagination($adopts, $query, $rowsperpage, "http://www.".constant("DOMAIN").constant("SCRIPTPATH")."/messages.php");
You can edit out www. and the code should work for site url not using www. I, however, strongly recommend including www. though, since this is the convention we use for this script.


And yes, it is doable to direct user profile and message page to the forum, but that will require a lot more coding. You have to be familiar with the way your forum engine works. If it is MyBB, the user profile page looks like this:

PHP:
http://www.yourdomain.com/mybb/member.php?action=profile&uid=5
The cheapest way to do this is to edit the navlink 'memberlist' and change its url to http://mysidiarpg.com/site/mybb/memberlist.php. If you still want to use the member list for Mysidia Adoptables but not the profile, you may go to profile.php and find this line:


PHP:
$article_content .= "<strong><a   href='profile.php?user={$row->username}'>{$star}{$row->username}</a></strong><br   />";
And change it to:

PHP:
$article_content .= "<strong><a  href='http://www.yourdomain.com/mybb/member.php?action=profile&uid=".usernametouid($row->username).">{$star}{$row->username}</a></strong><br  />";
And it should do the trick, but keep in mind that it requires the ids from adoptables and forum's user tables to be consistent. If your user id is 1 in adoptables table, but 2 in forum table, the above code will fail and you have to do a lot more coding to make it work.


The third one is, well, doable but definitely difficult. This requires a significant modification over the core script of your adoptables site, and will take me at least 3 days to complete, and not sure how long it will take you.


The last request is quite easy to achieve, you just have to re-write these lines from levelup.php to whatever you want them to be:

PHP:
$article_title = $lang_gave."{$owned_adoptable->name} one ".$lang_unit;
      $article_content = "<img src='{$image}'><br>{$lang_gave}{$owned_adoptable->name}    one {$lang_unit}.<br>".$lang_levelup_encourage;
Note the $owned_adoptables is an object with various properties such as level, click, gender and tradestatus, you can access them by $owned_adoptables->property. A concrete example is already available above, note how the adoptables name is accessed as {$owned_adoptable->name}. If you do not know what properties are available in $owned_adoptables object, simply go to your prefix.owned_adoptables table and the column names are the property names.
 
I think she will mostly be stuck with question three, since thats a question even I do not know how complicated it can get. To me it seems that Gloometh wants somewhat of a full forum integration. An interesting thought, but may take time to accomplish.
 
You could just make your forum theme match your site theme. Or use iframe. But meh... I wouldn't go that route.
 
Well...

First of all, you may go to each script file that uses pagination and find a line like this(the example below is for messages.php):

PHP:
$pagination = new Pagination($adopts, $query, $rowsperpage, "http://www.".constant("DOMAIN").constant("SCRIPTPATH")."/messages.php");
You can edit out www. and the code should work for site url not using www. I, however, strongly recommend including www. though, since this is the convention we use for this script.

So it is recommended to use www. then? Well, I guess i could switch, because otherwise I'll have to keep changing it over every upgrade.

And yes, it is doable to direct user profile and message page to the forum, but that will require a lot more coding. You have to be familiar with the way your forum engine works. If it is MyBB, the user profile page looks like this:

PHP:
http://www.yourdomain.com/mybb/member.php?action=profile&uid=5
The cheapest way to do this is to edit the navlink 'memberlist' and change its url to http://mysidiarpg.com/site/mybb/memberlist.php. If you still want to use the member list for Mysidia Adoptables but not the profile, you may go to profile.php and find this line:


PHP:
$article_content .= "<strong><a   href='profile.php?user={$row->username}'>{$star}{$row->username}</a></strong><br   />";
And change it to:

PHP:
$article_content .= "<strong><a  href='http://www.yourdomain.com/mybb/member.php?action=profile&uid=".usernametouid($row->username).">{$star}{$row->username}</a></strong><br  />";
And it should do the trick, but keep in mind that it requires the ids from adoptables and forum's user tables to be consistent. If your user id is 1 in adoptables table, but 2 in forum table, the above code will fail and you have to do a lot more coding to make it work.

Can I change the ids in the forum to match the ones on the site and then just do that thing you showed me of telling it where to start counting from?

The third one is, well, doable but definitely difficult. This requires a significant modification over the core script of your adoptables site, and will take me at least 3 days to complete, and not sure how long it will take you.

You could just make your forum theme match your site theme. Or use iframe. But meh... I wouldn't go that route.


@Silver, this is actually what I wanted - I just want my forum to look the same as my site. I just wasn't sure how to transfer over the nav bar and stuff. I don't want to do some advanced mod or anything.

The last request is quite easy to achieve, you just have to re-write these lines from levelup.php to whatever you want them to be:

PHP:
$article_title = $lang_gave."{$owned_adoptable->name} one ".$lang_unit;
      $article_content = "<img src='{$image}'><br>{$lang_gave}{$owned_adoptable->name}    one {$lang_unit}.<br>".$lang_levelup_encourage;
Note the $owned_adoptables is an object with various properties such as level, click, gender and tradestatus, you can access them by $owned_adoptables->property. A concrete example is already available above, note how the adoptables name is accessed as {$owned_adoptable->name}. If you do not know what properties are available in $owned_adoptables object, simply go to your prefix.owned_adoptables table and the column names are the property names.

I'm slightly confused with how to add stuff like that - basically all I want to display is clicks, level, trade status, image, name, gender and that's about it. I do like how Silver has done her's, I just want it to be displayed even when you've already clicked it.

Silver, would you mind showing me how you pulled the information from the database? After that I think I can handle it, I just don't get that part too easily.
 
I tried doing the memberlist thing, since that was the first thing on my list, but for some reason it isn't calling the id number right?

I am getting this:

http://www.ratties.x10.mx/forum/member.php?action=profile&uid=

and my code looks like this:

Code:
<a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid='.usernametouid($row->username).'>{$star}{$row->username}</a>
 
Are you calling the database to get the member id's?

Try:

Code:
<a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid='{$row->uid}'>{$star}{$row->username}</a>
 
Last edited:
Yea that didn't work. I found how to get the uid value but the uid on the adopts site and the forums isn't the same which I thought it would be which is weird. It's a bit complex... I don't know how to do it without giving myself a headache.
 
the forum and main site's members should share the same IDs - I had to do some edits, but everything should be lining up now.
 
I thought so too, but then I put it on my site and a member from the site doesn't match the ones on the forum. Mine does.... hmmm
 
I guess mine is messed up somehow but you can try it on yours. Add this to the query:
Code:
, ".constant("PREFIX")."users.uid

and this where you want the link to show up:
Code:
<a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid={$row->uid}'>{$row->username}</a>
 
Okay, it's like 12:30 here and I think I found the query but I have no idea if I did - where do I put this? :c

Code:
	// We did not specify a user, so show the memberlist
	$article_title = "Memberlist";
	$article_content = "Here are all of the members of this site, sorted by registration date.<br /><br />";
    include("css/pagination.css");
	$query = "SELECT * FROM ".constant("PREFIX")."users ORDER BY uid ASC";
	$stmt = $adopts->query($query);
	$rowsperpage = 15;
    $pagination = new Pagination($adopts, $query, $rowsperpage, "http://www.".constant("DOMAIN").constant("SCRIPTPATH")."/profile.php");
    $pagination->setPage($_GET[page]);

	$stmt = $adopts->select("users", array(), "1 ORDER BY uid ASC LIMIT {$pagination->getLimit()},{$rowsperpage}");	
	while ($row = $stmt->fetchObject()){
		$status = cancp($row->usergroup);
        $star = ($status == "yes")?"<img src='templates/icons/star.gif' border=0' /> ":"";
		$article_content .= "<strong><a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid='{$row->uid}'>{$star}{$row->username}</a></strong><br />";
	}

	$article_content .= "<br />{$pagination->showPage()}</div>";

}

here is the member list part of the code.
 
I was looking at the wrong page. What you have now should work. Try this

Code:
// We did not specify a user, so show the memberlist
	$article_title = "Memberlist";
	$article_content = "Here are all of the members of this site, sorted by registration date.<br /><br />";
    include("css/pagination.css");
	$query = "SELECT * FROM ".constant("PREFIX")."users ORDER BY uid ASC";
	$stmt = $adopts->query($query);
	$rowsperpage = 15;
    $pagination = new Pagination($adopts, $query, $rowsperpage, "http://www.".constant("DOMAIN").constant("SCRIPTPATH")."/profile.php");
    $pagination->setPage($_GET[page]);

	$stmt = $adopts->select("users", array(), "1 ORDER BY uid ASC LIMIT {$pagination->getLimit()},{$rowsperpage}");	
	while ($row = $stmt->fetchObject()){
		$status = cancp($row->usergroup);
        $star = ($status == "yes")?"<img src='templates/icons/star.gif' border=0' /> ":"";
		$article_content .= "<strong><a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid={$row->uid}'>{$star}{$row->username}</a></strong><br />";
	}

	$article_content .= "<br />{$pagination->showPage()}</div>";

}
 
Show me it again... what you have now?

I have this and it works
Code:
$stmt = $adopts->select("users", array(), "1 ORDER BY uid ASC LIMIT {$pagination->getLimit()},{$rowsperpage}");	
	while ($row = $stmt->fetchObject()){
		$status = cancp($row->usergroup);
        $star = ($status == "yes")?"<img src='templates/icons/star.gif' border=0' /> ":"";
		$article_content .= "<strong><a href='http://taleofdragons.net/forum/member.php?action=profile&uid={$row->uid}'>{$star}{$row->username}</a></strong><br />";
	}
 
Last edited:
Code:
}
else{

	// We did not specify a user, so show the memberlist
	$article_title = "Memberlist";
	$article_content = "Here are all of the members of this site, sorted by registration date.<br /><br />";
    include("css/pagination.css");
	$query = "SELECT * FROM ".constant("PREFIX")."users ORDER BY uid ASC";
	$stmt = $adopts->query($query);
	$rowsperpage = 15;
    $pagination = new Pagination($adopts, $query, $rowsperpage, "http://www.".constant("DOMAIN").constant("SCRIPTPATH")."/profile.php");
    $pagination->setPage($_GET[page]);

	$stmt = $adopts->select("users", array(), "1 ORDER BY uid ASC LIMIT {$pagination->getLimit()},{$rowsperpage}");	
	while ($row = $stmt->fetchObject()){
		$status = cancp($row->usergroup);
        $star = ($status == "yes")?"<img src='templates/icons/star.gif' border=0' /> ":"";
		$article_content .= "<strong><a href='http://www.ratties.x10.mx/forum/member.php?action=profile&uid='{$row->uid}'>{$star}{$row->username}</a></strong><br />";
	}

	$article_content .= "<br />{$pagination->showPage()}</div>";

}
What I have right now.

http://www.ratties.x10.mx/profile.php member list

I can remove the quotes again and show you how it went.
 

Similar threads

Users who are viewing this thread

  • Forum Contains New Posts
  • Forum Contains No New Posts

Forum statistics

Threads
4,278
Messages
33,127
Members
1,602
Latest member
BerrieMilk
BETA

Latest Threads

Latest Posts

Top