Staredit Network

Staredit Network -> Staff Lounge -> Top secert
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-14 at 09:24:32
Tangent's aren't so good... because if someone makes a new post to a post 20 pages before, how will people know to read it?

The quote system I think works perfectly for this kind of thing.
Report, edit, etc...Posted by BeeR_KeG on 2005-03-14 at 16:57:36
It would be kinda wierd having comments for posts...?

Great job on v5 I especially loved those thread that you have there lol.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-15 at 00:57:55
Alright IP, heres a summary of what I've completed since you left:
- The session code is now extremely uber. It will not constantly check for cookies anymore, it will only do it when you don't have a session (you don't magically get the cookies during a session). If you login during a session, all it does is update your mid to the database, and you checked remember me, it will additionally write to cookies. If you checked cloak, it will write it to the database, and also to cookies if you have remember me on. It is now slightly faster and more optimized.
- I'm starting to add clan functions. So far, you only see my little tag beside my name. It is expandable and editible, and will soon link to the proper place in a clan page somewhere.
- I optimized some of my INSERT queries with the login code. I haven't tested em all, but they should work. I'll have to do a test registration tommorow.
- Did an overview and check of the login security. It seems to be working perfectly.

Objectives tommorow:
- Proper group premissions on forums and all. Which means, we're going to have to do a LEFT JOIN on the member grabbing query to get all the group premissions.

Things I want you to do IP:
- Get crons up and running. You should have it run a php file, which checks for the tasks in the database, and runs them. That would be truely sweet.

-=Minimal query usage=-
Member:
Check for a session.
Update session so it doesn't expire.
Check and run tasks - will be removed
Get core_linkage files
Get member data stuff - soon to have a LEFT JOIN with group premissions as well.

Guests:
Check for a session.
Update session so it doesn't expire.
Check and run tasks - will be removed
Get core_linkage files

This is not a lot of queries... by the end I think we'll have maybe 2 more (one for affiliates, one for shoutbox, which guests can't see the shoutbox anyway).

Final minimal query est:
Members: 6
Guests: 4

Extremely good since the current SEN uses 13 queries minimum on each page.

Oh yes, page generation is EST to be (on a 56k modem):
Intense content (post view, lots of images): 8-15 seconds loading new images.
Minimal content: 6 seconds.

This is a major improvement, considering the current SEN takes one minute for it to fully load.
Report, edit, etc...Posted by IsolatedPurity on 2005-03-15 at 08:30:19
Page download will be even better once I make the new layout happy.gif.

Don't rely on sessions alone... it should check the cookies everytime. It's not like it slows anything down. If invision only uses sessions, then I guess I would trust there knowledge enough to disregard it.

There will be no tasks database, it'll simple be a group of php files...
minutes.php
hours.php
days.php
months.php

Want to run a query every minute? Place it in the minutes.php.
Want to run a query every 5 minutes? if (date(m, time()) % 5 == 0) { // run query or function }.
Well maybe we could have one super file with a massive switch or something.

Doesn't seem to be too much wrong with the idea, but tell me whatcha think... it'll allow us to use functions as well. We could also simply make it load a task class and just use the cron file as a loader class.
Else, we could load every page into cron with specific times and have no loader...
Leaning towards cron loader with task classes.

QUOTE
Objectives tommorow:
- Proper group premissions on forums and all. Which means, we're going to have to do a LEFT JOIN on the member grabbing query to get all the group premissions.

No cached array? happy.gif.
Well mmmm... I really don't want to have 5 tables being joined together for a heavy traffic area (forums). Group settings don't change as much so making it an array wouldn't be so bad, perhaps. I'll dwell on it.


My objectives:
Finish usercp.
Get profile sketches up.
Redo and tweak global wrapper.
Play around with the post script... (use my sexy css skills for further enhancement).
Work on other css type shit... (got an idea for class .formb)
Perhaps do the parser class. I'm really getting bored of doing a lot of the core sections of the site... I want to get away and do some things that give me results, something I can see happy.gif.

Another thing... there shall be a members_extra table! happy.gif
Imma call it members_extended though or something.
What will it host? Data like...
Last name change.
Last gallery picture update.
and data such as it's only called in remote specific sections of scripts. You'll never need to left join this table because it's used as factors for individual effects.

One member in a thread in feedback said something in the xtended profiles thread about seeing your own mod logs, whatcha thing?
Also, a log of every mineral you gained and lost. It sounds like it would be appreciated, but I don't think I want to bother.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-15 at 08:48:51
I'll handle the log stuff, don't you worry.

I thought members_profile was supposed to be our members_extended table...

You keep telling me cached arrays... however I have absolutely no idea how to make or use them. As I said, I'll use normal queries until you find out how to use cached queries or whatever.
Report, edit, etc...Posted by IsolatedPurity on 2005-03-15 at 12:18:58
Cached arrays can be simple hardcoded arrays for now. Getting them cached would simply be me learning how to use php to write to files...
So let's say we have...
$group[0] = array('prefix' = "", 'suffix' = "", 'is_admin' = 1, 'is_global' = 0... ))
Then...
$group[$poster['gid']]['prefix'] will give ya want you need.

Sound right? I think so happy.gif.

For individual member instances (like my personal array when I'm on sen) is a little more complicated... Maybe we'll use databases for that...

Hmmmm.
Report, edit, etc...Posted by IsolatedPurity on 2005-03-16 at 06:23:16
OMFG!
6 hours of percision paided off happy.gif.
I especially like how I deleted the white lines out of "Staredit Network" and added drop shadows to everything.
And the menu is now flexiable... without using javascript!

Tell me that isn't the hottest shit you've ever seen.
Now I'm wondering if I should have just kept the world out of the picture and expanded the terrain into the content section.
Hmmm... what say you? Do you really like the world that much? happy.gif Too bad the world isn't completed, I would just drop it down a little...

Here's something I wanted to do but failed to get css to coroperate with me:
[attachmentid=6370]
Report, edit, etc...Posted by chuiu on 2005-03-16 at 16:35:35
Suggestion:

Place for brushes in DLDB, can seperate to 2 sections, SF and SCMD2. Shadowbrood already has a page for this but no one really pays attention to it or cares to send them outside of SEN. I think if there was a place in SEN for this sort of stuff people would jump at the chance to upload their brushes.

http://www.geocities.com/shadowbroodx/MyBrushes.html Is his page.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-16 at 17:29:29
I'll take it into consideration when designing the downloads database for v.5
Report, edit, etc...Posted by IsolatedPurity on 2005-03-18 at 04:52:13
*giggles*

$text = preg_replace ("#\[(\/)*([buis])\]#i", "<$1$2>", $text);

why use four lines of code invision?
$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt );
$txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $txt );
$txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $txt );
$txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $txt );

Well, my current one doesn't force users to close the tags... Should it? Usually items in a contained element don't transfer to the next element, so, if someone doesn't close their <i> tag, it won't affect the next post...

But whatcha think?
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-18 at 11:39:38
That is an AWESOME idea ip.
Report, edit, etc...Posted by IsolatedPurity on 2005-03-23 at 10:43:52
New functions... well, renamed and moved. Old still work... of course.

$display->critical();
Error killing page, a bit more efficent... less sloppy all around.
$display->warning($yourmessage);
What you're used to... can easily be altered to accept an array and implode it if I feel the need (I love arrays).
Report, edit, etc...Posted by BeeR_KeG on 2005-03-24 at 16:11:17
ROLF!

QUOTE
404

The page you're looking for doesn't exist. Refreshing the page won't make it exist.


It made me laugh twice.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-24 at 16:58:58
QUOTE(isolatedpurity @ Mar 23 2005, 10:43 AM)
New functions... well, renamed and moved.  Old still work... of course.

$display->critical();
Error killing page, a bit more efficent... less sloppy all around.
$display->warning($yourmessage);
What you're used to...  can easily be altered to accept an array and implode it if I feel the need (I love arrays).
[right][snapback]170906[/snapback][/right]

I put it into $do for a good reason, and that was so I wouldn't have to global $display from before. I'm not changing any more of my function names or whatever because im tired of you doing it when im almost done the forums, so if you want it to be $display->whatever, you change it, because I really don't want to go through 4 files of code checking if $display is declared everywhere.
Report, edit, etc...Posted by IsolatedPurity on 2005-03-25 at 00:20:18
http://us4.php.net/manual/en/function.serialize.php

I was wrong, caching to files isn't necessary. We can easily move a bunch of table data into one table and save a shit load of left joins and such.

Invision caches the entire forum table, I ponder why. It seems more trouble than it's actually worth, but who knows. It might be useful in some areas (for example, caching the forum id and name for your navigation array).

Member groups and clans are definitely going to be cached. Possibly core_linkage (don't see why not)... Maybe even tasks if I don't get cron working with me.

This means massive rewritting of scripts on all levels, but it's worth it.

Basically, it'll save a shit load of queries and left joins and php script time (trading off unseralize and variable calls for sql waits).

Hm.

The magnitude... My eyes are opening...
Report, edit, etc...Posted by IsolatedPurity on 2005-03-25 at 04:30:45
$vars->index[]
$vars->mgroup[]
$vars->clans[]

?p=admin
Try to view as guest.

case 3:
if($vars->mgroup[$vars->member['gid']]['group_id'] != 1)
$display->critical("Omg. No Permission.");
break;

I love arrays.

As much as I want to kill $do and vars->config, I'm not right now. I don't want to fix all your scripts at the moment happy.gif.


mysql.php on lockdown (don't edit it).
I fixxed some things:
The script will automatically die on a failed sql statement.
mysql_fetch_array() was split into mysql_fetch_row() and mysql_fetch_assoc(). I don't think you actually used mysql_fetch_array()'s array, so, you should be fine.
$sql->fetch = associative, fetch_row = numbers.
Added shutdown cache, $sql->s_update and $sql->s_insert. s_update is low priority by default while $sql->update is not by default. Use s_update especially for stupid things like view=view+1 and such (you know, things that won't affect your experience if the tables aren't updated right away).


_profiles to _xtended.
avatar, sig, title, into member main.

When you get around to redoing login.php (like, to kill $display->add / add_nav / add_page), include an option "Use javascript menus" or something in the registration page, checked by default.
Insert a row into members_xtended, mid = $sql->get_insert_id.

Selecting a time zone doesn't actually go anywhere...


Cleaned up more global shit like the global skin and css file. Anything that is shortened like
class{element:style;element:style}
I consider done and perminate.
It's all grouped nicely too...
link modifers

text modifiers

background modifiers

Changed .hlight to .hl for the hell of it, don't think you used it though.

Finished js in finished... just call the js file name... "forums".

Made all the global html xml / html 4.0 strict compliant (since our wrapper came with the document declarion of being such) and took out all the depreciated elements (<font> tags).
<img src='x' /> looks a little weird, whatever.

Report, edit, etc...Posted by IsolatedPurity on 2005-03-30 at 06:30:07
Worked on the parser a little...
Just a little.
Now there's an unconvert function.
function unconvert($text, $bbcode=1, $smilies=1)

There's also a simple sconvert function for cleaning simple inputs:
function sconvert($text)

Everything is bound to change, I might move sconvert into a more global scope considering.
Might do conversion of smilies and harder bbcodes later today or tomorrow.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-03-30 at 07:44:17
Excellent. I'm starting to move things to the cache btw. You can already see that the forum index cache works (although it uses like 5 queries when making new topics n stuff.)
Report, edit, etc...Posted by IsolatedPurity on 2005-03-30 at 08:01:39
I'm glad you converted.

Now if only you'd see all my global changes just as extensively meaningful happy.gif.

Played with the css some more... made formf a little brighter, it blended with the black to ungodly levels especially in close quarters. Tell me if you likey.
Report, edit, etc...Posted by IsolatedPurity on 2005-04-01 at 02:14:37
Yoshi ~
When you redo login.php, please move all new name checks inside your name_check function, things such as, sql query to check if the username was already taken, name max and min length, if the username is empty and so forth. My usercp name change function will just call your class for that function.

$vars->config['allowedchars'] = array('_',':','-','~',' ','');
Not only is config going to die (changed my mind, I don't think we need it after all...), but perhaps, shall we kill , and ~? and then enforce the first character of a name alphanumeric?

and don't forget to kill old deprecated functions

Actually, now that I'm doing the function for setting a new email address, is it possible to use your do_validate function for that matter as well?

... and now a check_email and check_password function? happy.gif

I think we may have a problem with my idea of using constructors to load a class: if I want to use your login functions, the constructor will automatically be called then. Not good if I just want to steal some of your function calls. Probably needs to be changed, although, I don't think this situation will occur again, so we could just have you export most of your functions into a new special class...
It's up to you... either move back to initialize() for a loading function or constuctor with you moving functions I need to a seperate class...

ugh ermm.gif


As for the whole /forums/ directory, the problem wasn't index.php, it was the skin loading... So, to fit your needs, it's now $display->load_skin($file, $dir="")
$display->load_skin("posts", "forums/");
I dunno what you used to have because I never saw it ermm.gif , but it's an easy fix for your desires.
Report, edit, etc...Posted by Yoshi da Sniper on 2005-04-01 at 06:48:27
The validate stuff will technically work, but it'll move them into member group 1, so I have to make some kind of validating flag.
Report, edit, etc...Posted by Mini Moose 2707 on 2005-04-02 at 10:04:07
Do you guys want me to attempt recoding SEN Lots for v5? I can actually understand isolated's coding. "return $this->error("Wtf?");" biggrin.gif

Also, may I have the phpMyAdmin login info again? I remember iso giving me one a real long time ago, but I never used it enough to remember it. tongue.gif

Also, can I have a user/pass to login to v5? I tried registering, but you didn't make the table it needs exist.
Report, edit, etc...Posted by (U)Bolt_Head on 2005-04-03 at 03:55:31
SUGGESTION:
If not already being done

I think it would be cool if reported post worked more globally between mods. For an example. When you veiw a reported post it would indicate if another Mod had looked at it.
And secondly / more important You could globally delete the Report after one person deals with the problem. I'm sure most of you have the same situtation but about 30-50% of the time when I click the link on the report the issue reported has already been dealt with by another mod.

...
Actually i have a far better idea. How about the Reports have like there own page instead of PM for each one.

So when you have a report you would have a differant 'notification as you would get for a pm'. Then you would be redirected to the Report Page and you could deal with the report. All Mods could veiw the reports from all sections but only receave a 'PM like' notice for Reports from sections there listed to moderate. Then you could have like a cool 'solved' modifyer to make the report 'solved' kind of like locking a thread.
Or also maybe an 'ignored' status... you know people report alot of dumb stuff.

So what do you all think?
Report, edit, etc...Posted by chuiu on 2005-04-03 at 08:02:34
Good idea.
Report, edit, etc...Posted by IsolatedPurity on 2005-04-03 at 08:13:55
Already thought of...
In the admin cp or a section of it's own, there'll be an area for such reports. Sort of like the dldb or tutorials, it'll have a "reports awaiting for checking". When someone makes a report, it'll cycle through all the users online able to deal with that report and send them a notice (not PM!) that there is a new report. Upon a mod signing in, it'll also notify them of unsolved reports.

So if you're not online and a report is made and dealt with, you'll never see it unless you check the history.

(I hate suggestions... everyone is ruining all the surprises...)

Moose: Understanding code and being able to fix it up are two different things happy.gif. I would rather have you try to redo it inside invision's code instead of senv5's because we (mostly me) keep changing global aspects. We don't have a completely solid shell for extension scripts like games.
Next Page (3)