View Full Version : PEQ Database Editor 1.0 (for servers 0.6.4 and up)
mystic414
02-08-2006, 10:55 AM
The PEQ Editor has been updated and completely recoded from the ground up! (again -cavedude)
It supports the latest database updates.
It features a number of bug fixes, improved sql logging, and enhancements to the user interface to make things more friendly and intuitive.
It allows you to edit:
NPCs
Loot tables
Spawns
Merchants
NPC Spellsets
Factions
Tradeskill recipes
Zone data
Misc entries like doors, objects, groundspawns, traps, forage, fishing
Adventures
Tasks
Server data (rules, running zones, petitions, bugs, hackers, reported players)
Spells
Items
Read only access to players, accounts, and guilds
This list will change frequently, and may not be up to date!
Find out more: http://www.peqtgc.com/phpBB2/viewforum.php?f=29
Official SVN (Currently maintained):
https://github.com/ProjectEQ/peqphpeditor
Belfedia
02-08-2006, 12:03 PM
Nice good work mystic414, i download it quickly :) :) :)
Edit1:
A little bug, if you install peq_editor for the first time, remove the first line "DROP TABLE peq_admin;" on schema.sql (error 1050 at line 1 : Unknow table 'peq_admin').
typhoon
02-08-2006, 02:41 PM
mystic414,
Love the editor.. keep up the good work.
I found an error in the allspells.sql file and posted on the support forum for your tool on the projecteq. Basically not all the `s were replaced with \'s in the file so when you import it, alot of the spells are missing from the spells table.
mystic414
02-11-2006, 12:06 PM
I had these posts split into a new thread, since the old one was getting bloated.
I responded to the sql error in PEQ's forum too, but thought I'd mention here that I'm not having the problem sourcing that file. If anyone else is, please let me know, so that I know it's not just an isolated problem, and I'll look into it more.
I fixed a number of relatively minor bugs in the editor in the past few days, so you all might want to re-download it. The easiest way to upgrade is to make a backup of your config.php file, delete EVERYTHING in the editor's folder, and unzip the download into it. Then just copy your config.php file back in, and you should be fine.
If you don't want to have to re-download everything every time I make a bug fix, you might want to look into getting the editor via CVS.
Angelox
06-04-2006, 05:51 AM
Anyone here have any idea why I would get the "Invalid username or password" error , with the default admin/password log in?
Thanks
Angelox
06-04-2006, 09:26 AM
Anyone here have any idea why I would get the "Invalid username or password" error , with the default admin/password log in?
Thanks
I'll answer this one to myself again :)
What happened was, I forgot to type in the "USE peq" , before I sourced them - maybe add that to the schema.sql, for dummies like me.
Great editor BTW, but you probably already know that.
Angelox
06-15-2006, 02:13 AM
Just a footnote for anyone who is working the EQ database;
This editor also works almost perfectly with Cavedudes EQ database - only problems I have seen so far is, some of the higher zones don't appear in the drop-down menu, so you can't work on them (example: Harbingers Spire). Also I noticed spawns will not stick to the coordinates I make for them, but I can still make the NPC, then go in game and add them from the database.
EliteSting
11-03-2006, 05:31 PM
Not sure if anyone has posted this yet or not , I can't find it using the search function. I added in the functionality to edit Omens of War zones , and also added in the new bodytypes for that expansion. Hope someone finds it usefull.
PEQ DB Editor v. 1.1 (http://dl3.file.sc:8080//dl/5e5ce48a35f165e342918b5b91474d5a/454c2400/ByWsrxPq/peqdbeditor1.1.rar)
Angelox EDIT;
Revised Editors , Nov 2008
PEQ (http://www.nahunta.org/%7Eangelox/click/click.php?id=40)
AX_CLASSIC (http://www.nahunta.org/%7Eangelox/click/click.php?id=39)
paaco
11-04-2006, 12:15 AM
Very nice Elite, I'm sure this will be appriciated by many :) I actually use this to make loot tables and factions sometimes, because I haven't found a quicker way :)
Angelox
11-04-2006, 12:15 AM
Not sure if anyone has posted this yet or not , I can't find it using the search function. I added in the functionality to edit Omens of War zones , and also added in the new bodytypes for that expansion. Hope someone finds it usefull.
PEQ DB Editor v. 1.1 (http://dl3.file.sc:8080//dl/5e5ce48a35f165e342918b5b91474d5a/454c2400/ByWsrxPq/peqdbeditor1.1.rar)
Have you updated it from CVS? if not I have one updated already and everything works, but if you added more stuff , maybe we can combine. heres mine;
Revised Edition Nov 2008 (http://www.nahunta.org/%7Eangelox/click/click.php?id=39)
Also there might be a few bodytypes I found that you didn't - if you see anything to merge in to something better, please post.
Thanks :)
EliteSting
11-06-2006, 09:57 AM
I like yours better Angelox. =P Thanks Mate. I'm in my first month of starting to figure out the techinical end of things , it's going well , but I have alot to learn.
Fighter05
11-26-2006, 06:04 AM
How do you source the files into the database?
paaco
11-26-2006, 08:36 AM
Easiest way, put them into your mysql/bin folder. Log into your mysql database from a command prompt and type source filename.sql;
cylocke
03-03-2007, 09:33 AM
I have to first set the path in cmd to get this to work correctly
mysql -u root mysql -p
when prompted for the password to get to the mysql prompt the password was denied, I did check winmysqladmin to see what the password was I did enter it in correctly
even tried changing it, I'm stuck on this part of it.
any ideas?
gernblan
08-21-2007, 03:56 PM
Curious, what license is the editor released under?
I mean if someone makes changes to it and wants to share them, is that allowed?
John Adams
08-22-2007, 11:17 AM
I change it all the time, but I do not share. That's the kinda guy I am. :p
I see no license info, but the ProjectEQ site will likely have more info. I believe it's their editor.
gernblan
08-24-2007, 10:47 AM
My copy is also heavily (and I mean heavily) modified.
I cannot help but think that it would benefit everyone if we actually had a place to share all of our "changes". From what i could gather from posting on their forums, PEQ seems only to be interested in making it compatible with their database. They don't seem to be all that concerned about what happens once you download their db and add content of your own to it. New spawns, for example, break it and won't show up without doing a mod to the editor (due to the fact that new spawns don't get assigned an NPCID that fits into their "range of zonenumber+0..999" focus). In other words, they key on NPCID (which is silly) rather than zone the mob is spawned in (which makes sense). There's a thread about it I started. Cavedude told me no, won't fix it in the default distrib, the editor is working as intended.
I guess I'm just not getting it.
gernblan
08-24-2007, 10:54 AM
I meant zonenumber+000..999 sorry... by the time I noticed that typo, my 5 minutes of editing my post grace expired.
cavedude
08-24-2007, 11:40 AM
I replied to your post, but basically after some testing your way does cause noticeable slow downs on machines with heavy load. When dealing with PHP you want things as fast as possible and an extra query will not do that.
I understand the issue concerning the IDs, and I'd assume other people would have the same issue. For that, feel free to distribute your change. That's the beauty of open source, if you need the program to do something other than what the author had intended, you can.
People who create mobs out of game using the editor or queries would benefit from the stock way. It creates a more tidy db and as I said the editor performs better under heavy loads. Those who rather build in-game would most certainly benefit from your change, which for many people is a lot more user friendly.
Angelox
08-24-2007, 12:05 PM
This link is dead, and I had lost his update when my server died some time ago - I restored from back up, but he had a lot more good data on his fixes.
does anyone have this and can post a link for me?
Thanks
Not sure if anyone has posted this yet or not , I can't find it using the search function. I added in the functionality to edit Omens of War zones , and also added in the new bodytypes for that expansion. Hope someone finds it usefull.
PEQ DB Editor v. 1.1 (http://dl3.file.sc:8080//dl/5e5ce48a35f165e342918b5b91474d5a/454c2400/ByWsrxPq/peqdbeditor1.1.rar)
gernblan
08-25-2007, 07:00 PM
Indeed, if I can finx that copy I am happy to combine with my fixes and I will even host it. I have bandwidth to burn.
Cavedude, thank you. I wasn't going to distribute any fixes or changes because I wasn't sure if it actually WAS open source.
Since you have now declared that it is, problem is solved. Everybody wins (as is always the case with open source). Thank you.
And yes, Angelox, let me know if you find that code. I'll combine it with my fixes (including many header updates, etc.) and put it up for everyone, on my dime.
gernblan
08-25-2007, 07:06 PM
I have a version that I did too that has everything all the way through Titanium (all expansions). All zones, all races, etc.
I'll prepare that for release now that I know that I can.
I'll also host any mods or changes that anyone else makes to it that will improve it, and of course will keep Cavedude in the loop.
My version will have the "edit the mob based on spawn location, not it's NPCID range" change made to it. For more info on that, see the PEQeditor forums on the PEQ site.
teraphina
03-04-2008, 04:15 AM
noticed something, in the npc edit there isnt a field to edit the npcs mana pool can you guys add that?
cavedude
03-04-2008, 04:21 AM
There is no mana stat. Mana is derived from a NPC's level, class, WIS/INT, etc exactly like players.
teraphina
03-04-2008, 04:44 AM
ok i see now thanks
Angelox
04-23-2008, 08:58 AM
I tried to sort out the stickys here - basically i wanted to keep up top what's being supported, since the tools quickly get out dated and troublesome once the support quits.
This tool here is probably one of the best "starter" editors , and always usable throughout your "EqEmu Career" - I've always used it from day one to now.
It's not supported by the author anymore, and I know many of you have updated it for your personal use.
It would be great to see any thing anyone has for this editor posted for the rest.
PEQ is the official database, so it needs to stay compatible with PEQ database.
maybe some of you can help keep it up to date
Angelox
11-27-2008, 01:50 PM
Here's my revised and working editions of the PEQ Editor (http://www.nahunta.org/~angelox/click/click.php?id=40);
And my AX_CLASSIC (http://www.nahunta.org/~angelox/click/click.php?id=39) Version.
They are mostly the same (have to be if you work with the latest source), I just changed the 'look' so I won't get confused , since sometimes work with both at the same time.
here's some things i can remeber I fixed/added;
tracking
seehide
seeIH
ATK
Accuracy:
'add a spawngroup' was completely broken, fixed and added
dist
delay
max_x
min_x
max_y
min_y
'add a spawngroup' now suggests a unique name, related to the zone (for mass querys and moves)
'Suggested ID' Now suggests the right spawngroup id number
runspeed suggests 1.25
respawn suggests 400
It's the most I ever did in PHP (learned a lot about PHP), looks to be working fine. This is my first database editor since day one with EqEmu, and I still use it all the time.
Since I finally decided to fix and update it, I thought I'd share it with you all, hope you enjoy it as a much as I do.
If you have any problems, find bugs or need direction, post here.
Angelox
11-28-2008, 08:44 AM
For those of you asking about the missing zones in the ax_classic drop down menu, in 'lib/' , look for the zones*.php - what I did was crop out the zones I was not working with, so I could find them easier. zones.php is the active one, just rename one of the full ones to 'zones.php'. I think 'zonesFULL.php' has the most.
Remeber, your 'logs/sql_log.sql' needs full permissions if you are getting errors (pending on what permissions the assigned user has). If you notice, I have all my logs re-named and saved. These logs can be very useful, as they create usable MySql inserts of what ever work you have done.
So once you get this editor running, you can help us out by posting or sending in your log inserts. This is very simple, all you need to know is how to 'cut and paste' to the forums :).
YOUR HELP IS IMPORTANT! There really is NOT a lot of people helping out, and most of what we have goes 'custom' and rouge, keeps all they do to themselves.
A group of us never keep ANYTHING we do to ourselves, and that's why you are able to play EqEmu at home, on a public server, etc.
If you have knowledge as an Everquest Live player, on these zones we are working on - if even there is just one NPC you know doesn't drop the right item, spawn properly, or whatever, we want to know about it; this Editors log will be the simplest way to port it over to us.
cavedude
11-29-2008, 02:17 PM
Just a bump, I merged the work Angelox sent me with what I had running on PEQ and put up a SVN so multiple people can contribute. The link is in the first post.
cavedude
01-23-2009, 08:43 PM
Another bump to report that I just added grid support to the SVN.
Asram
03-25-2009, 04:06 PM
The install instructions don't seem to jibe with the files in the SVN. The install instructions ask you to source allspells.sql. This file doesn't appear to be included with revision 21.
Not one to be discouraged. I picked up a copy from Angelox's pack, and the SQL code refers to a spells table that isn't created with a new REV384 distribution.
So where's the code currently to create a spells table in peq if you don't have one? This used to work back in 2007 when I last installed the editor, but much has changed since then.
All of my sources were downloaded last week and should be 3/15 or newer. I'm running PEQ atm.
Asram
03-25-2009, 07:47 PM
Never mind. I found the memo that said that the new versions of the editor no longer need a spells table. Might want to update the readme in the current distro. :)
Thanks anyway.
Asram Baksh
drakelord
05-03-2009, 01:30 PM
Hmm. Not sure if I'm doing something wrong here, but when I go to look at say, NPCs in a certain zone, rather than the ones that are currently entered in the database, it shows the defaults. I even dropped all of the npcs out of my database just to test, and it still showed defaults (probably from PEQ).
Is there a way to get it to show the actual NPCs in a zone when you select a zone and other such things from the dropdown menu?
Asram
06-01-2009, 01:03 PM
Make sure you have the editor connecting to the right database. It builds that query populating the drop-down list dynamically, so either refresh your browser cache or check the config.php.
mixxit
07-05-2009, 06:49 PM
I can't seem to create any spawns for mmca
Can someone try?
Shadow Wizard
02-08-2010, 10:36 AM
Ok, I am having allot of problems with this. Its proably because I don't understand the directions. It tells me to download all this stuff, and doesn't even tell me what machine to download it onto (Running the server on linux, and do all the admin work from a windows machine) Needless to say, I have downloaded both of the extras, on both machines (would like to know if they are needed on my windows machine) and sourced the file into the database, and I still get this in firefox:
set('javascript', $javascript); $tmpl->set('headbar', $headbar); $tmpl->set('searchbar', $searchbar); $tmpl->set('breadcrumbs', $breadcrumbs); $tmpl->set('body', $body); echo $tmpl->fetch('templates/index.tmpl.php'); ?>
There must be something I am missing. Some help please.
I thought I would also add that for kicks, I tried it on the linux machine. It simply wants to save the file (index.php)
aronnov
02-24-2010, 10:18 PM
Ok, I am having allot of problems with this. Its proably because I don't understand the directions. It tells me to download all this stuff, and doesn't even tell me what machine to download it onto (Running the server on linux, and do all the admin work from a windows machine) Needless to say, I have downloaded both of the extras, on both machines (would like to know if they are needed on my windows machine) and sourced the file into the database, and I still get this in firefox:
set('javascript', $javascript); $tmpl->set('headbar', $headbar); $tmpl->set('searchbar', $searchbar); $tmpl->set('breadcrumbs', $breadcrumbs); $tmpl->set('body', $body); echo $tmpl->fetch('templates/index.tmpl.php'); ?>
There must be something I am missing. Some help please.
I thought I would also add that for kicks, I tried it on the linux machine. It simply wants to save the file (index.php)
I have the exact same error. anyone have any tips or updated step by step instructions?
Pirate123
03-23-2010, 12:36 AM
ok im getting an error that says
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Web\classes\mysql.php on line 6
Could not connect: Client does not support authentication protocol requested by server; consider upgrading MySQL client
it was working before then i accidently changed the eq user password to something else, but changed it back to eq, and now its refusing to work. any ideas?
Dunmord
03-24-2010, 02:54 PM
To all those who have troubles logging, follow this procedure. It will give admin access to anyone who enters the PEQ Admin(no matter the username and password).
a) Look for a folder named "classes"(inside your PEQ-Admin folder).
b) Make a backup of the file session.php
c) Open file session.php with your favorite text editor(not WordPad).
d) Locate these 3 functions: logged_in(), check_authorization() and is_admin().
e) Replace whatever those functions have with:
return true; (yes, the semi-colon too)
Here's an example of how should they look...
function logged_in(){
return true;
}
f) save the file
mixxit
04-18-2010, 11:01 AM
I see there's an items editor section but when I click on an item after doing a search nothing comes up. Does anyone else have this and is there any way of getting it going? If not, does anyone know of an version 8 item editor?
cavedude
04-18-2010, 07:35 PM
I see there's an items editor section but when I click on an item after doing a search nothing comes up. Does anyone else have this and is there any way of getting it going? If not, does anyone know of an version 8 item editor?
There is no item editor implemented yet, however I am currently working on it. I have no eta yet, but I am hoping I can get something committed shortly.
mixxit
04-18-2010, 10:07 PM
great! the ability to copy items and edit a few basic properties would rock!
keep up the great work :-)
cavedude
04-18-2010, 10:31 PM
I plan on adding support to add, copy, and edit all columns for items.
Lillu
04-22-2010, 09:07 AM
This would be really awesome. Thank you for all your hard work Cavedude!
Nagus69
04-22-2010, 09:08 AM
Not sure if i ever did but i wanted to say :
THANK YOU
for this tool. Similar to Georges Tools, these help make EQEMu a success.
Looking forward to the Item Editor. :)
mixxit
04-28-2010, 01:49 PM
<3 u cd can't wait :-)
cavedude
05-05-2010, 01:44 PM
Alright, full item support has been added to the editor. I am not 100% happy with the layout, and a couple of other small things, plus the code is a mess I know but it's good enough for now. I won't nitpick as I need to get back to LDoN full time.
I think it's pretty self explanatory, and I tried to dig up as much data for drop downs as possible. In some cases I went item by item on 13th floor to figure out what the values mean (or probably mean.)
mixxit
05-06-2010, 06:22 AM
Great!! Thanks again Cavedude!
Nagus69
05-07-2010, 04:35 AM
Good job again - just tried this out. Copy and paste of an existing item takes now roughly 0.1 sec compared to minutes using George tool remote- saying that's a huge improvement is a total understatement ;)
Couple of questions or suggestions.
When you copy and paste an item (or generally) - could the Item ID be displayed beside being in the URL? Copy and pasting this is doable but a hassle.
Restrictions - A button for all races and all classes would be nice
Stats - I'd like to see classic stats (Str/Sta/Agi etc), Resists, PoTime Mods etc seperated for ease of use. Currently its one big cluster for all stats.
Spells Area - Focus/Worn/Proc type - does it make sense to use drop down lists here? Afaik using anything else than type 6 for a Focus effect or type 2 for a worn effect might even crash the client. Also, Scroll Type is always 7 or am i mistaken?
Again, take this as suggestion and feedback, not as complained! I know you said this is a basic draft and needs some work still.All is working very stable, never crashed one btw.
cavedude
05-07-2010, 09:30 AM
The item ID is displayed at the top of the window, right above the item name. You'll see Edit Item <id>
I was planning on adding a ALL and NONE button later on for all bitwise fields.
The stats is the part of the layout I am unhappy with the most. I'll probably use fields to break them up.
Yes, I can create separate dropdowns for worn, focus, and scroll. They would be 0 or the proper value.
I'm glad you like it! I am planning a LDoN release a week from today, at which point I'll revisit items and get all these changes plus others I have in mind in!
pfyon
05-07-2010, 02:25 PM
Perhaps I have some unique requirements here, but anyone have this working on a remote db through WAMP? I'm getting errors when I go to add tasks for the dropdown menus.
Apache error logs:
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: startzone in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 27, referer: http://localhost/eqemueditor/index.php?editor=tasks
(repeats a few hundred times)
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: repeatable in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 35, referer: http://localhost/eqemueditor/index.php?editor=tasks
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: repeatable in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 36, referer: http://localhost/eqemueditor/index.php?editor=tasks
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: rewardmethod in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 53, referer: http://localhost/eqemueditor/index.php?editor=tasks
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: rewardmethod in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 53, referer: http://localhost/eqemueditor/index.php?editor=tasks
[Fri May 07 14:21:21 2010] [error] [client 127.0.0.1] PHP Notice: Undefined variable: rewardmethod in C:\\wamp\\www\\eqemueditor\\templates\\tasks\\task s.add.tmpl.php on line 53, referer: http://localhost/eqemueditor/index.php?editor=tasks
The errors I get from php in the dropdown menu say "Notice: Undefined variable:" startzone, repeatable, and rewardmethod.
I'm running the mysql connection through a tunnel set up by PuTTy. It can access the DB no problem, since it authenticates properly. I looked through the code there and can't see why it would say it's undefined unless it's not being loaded properly earlier in the code.
Nagus69
05-10-2010, 07:05 AM
Greats new CD!
One more suggestion - would it be possible to add a mechanism to change the
statistcs of all mobs at once in a given zone?
Let's say, i want to change faction across the board, want to make all mobs stun immune, remove the ability to flee etc. Currently i have to click each and every mob which is rather exhausting.
Thanks!
joligario
05-10-2010, 07:24 AM
Manual SQL would be more efficient than writing custom code to do what you are asking...
Nagus69
05-10-2010, 09:13 AM
No doubt,
but lots more foolproof would be the solution via the PEQFrontend. Beside not everyone is an SQL Wiz ;)
joligario
05-10-2010, 11:05 AM
Don't need to be a wiz.. post what you want to do and you will get SQL.
Nagus69
05-11-2010, 06:39 AM
Change the faction from an entire zone to a specific one
Make all mobs (not) immune to stun
These 2 would be huge.
joligario
05-11-2010, 07:36 AM
Change the faction from an entire zone to a specific one
This is an example. Let's say I want to change all the NPC factions in Butcherblock Mountains to be on Clan Runnyeye:
UPDATE npc_types SET npc_faction_id = 54 WHERE id >= 68000 AND id < 69000;
Don't forget that will get things like the boat or hidden spawns...
joligario
05-11-2010, 07:53 AM
Make all mobs (not) immune to stun
Again, an example. To remove UNSTUNABLE from all NPCs:
UPDATE npc_types SET npcspecialattks = REPLACE(npcspecialattks, 'N', '');
Remember, this will also catch the pets. If you want pets to stay unstunable, you would add "WHERE id >= 1000"
Tabasco
05-26-2010, 01:28 PM
The item editor looks great, thanks for all your hard work.
Are there any plans to make a more complete spell editor?
I've done, and am still doing, quite a bit of research on spell values and enumerations. I have some framework for my own web-based spell editor / spells_us.txt exporter and will be doing some testing within the next few days.
After looking around at the PEQ Editor source I think it would be easy, and just make more sense, to apply my work there. I'd be happy to send you a patch when I'm done if you're interested.
Tabasco
05-29-2010, 09:31 PM
The spell editor at least has basic functionality, search, edit, and copy spells. You can also export a current spells_us.txt file and download it through the browser.
The interface could probably use a bit better organization, but it gets the job done. For my copy I moved Spells to Spell Sets and made the Spells tab reference the editor and lookup.
http://midian.homelinux.net/peqphpeditor.tar.gz
I was working off of svn from the 26th of May.
Anyway, I'm really grateful for the work you all put into these tools and I hope this is helpful. If anyone has any more information to plug into spellenums.php I would love to get all of that in one place. The wiki is sort of dated on the topic and I'd eventually like to reference that file to update it.
cavedude
06-20-2010, 06:43 PM
Greats new CD!
One more suggestion - would it be possible to add a mechanism to change the
statistcs of all mobs at once in a given zone?
Let's say, i want to change faction across the board, want to make all mobs stun immune, remove the ability to flee etc. Currently i have to click each and every mob which is rather exhausting.
Thanks!
The beginning of that system has been put into place with AC. More stats are coming as we come up with formulas. You can now also update faction and loot in a zone by name or race. I'll probably do spells next, by name or class.
Thanks to Tabasco a full spell editor is now also in the editor, with the ability to generate and dump spells_us.txt.
These changes are all on SVN, and will be in the download package the next time it's updated. I want to get some more things in first.
Nagus69
06-21-2010, 01:02 AM
wooooo!
awesome, will check it out later today! again i can't express my gratitude really. Without PEQ Editor and George Tools, EQEmu would be far from where it is today.
Thanks again!
Sinister
07-01-2010, 10:15 AM
CD, thanks for this awesome tool. I have a problem that I hope is an easy fix. After installing the newest version of the editor, i noticed a zone I am trying to populate was not in the list of zones in PEQ editor. I then was able to add the zone into the editor by editing the zones.php file.
The problem I am running into is when I create anything for that zone, it does not work properly. For example I tried creating an NPC, but it did not auto-populate the NPCID. I created my own NPCID but after I was done creating the NPC, it disapeared from the editor like the NPC doesn't exist.
Any ideas on how I can add a zone to the PEQ editor and have it work properly? For reference, I was trying to add the original tutorial zone.
Thanks in advance!
cavedude
07-01-2010, 10:45 AM
zones.php isn't used anymore, zones are queried from the database directly now. There is no longer a need to change that silly file when zones are added or changed. I let that system slip by far too long!
You can download the newest version from SVN (using a SVN client) that has this functionality, which was part of an overhaul to get the editor to support instances. Or, I was planning on posting the newest version for direct download tomorrow after I get a couple more small things in. The new version will be at least revision 172.
As for your other problem... Grab the newest version first and try to add a new NPC to your zone and see what happens. The original NPC you created may not show up if the NPCID you chose is out of the zone's range (One day I'll add the ability to toggle how the editor places NPCs into zones.) If a new NPC still does not get added, reply with the id, zoneidnumber, and version of the new zone you created.
Sinister
07-01-2010, 10:55 AM
Thanks for the prompt reply cavedude. I will give this a shot and let everyone know.
cavedude
07-01-2010, 03:02 PM
I posted the newest revision, 173 up for download.
Sinister
07-01-2010, 04:57 PM
The new version works great cavedude, i changed the zone I was working with from expansion 99 to 1 and it shows up in the editor now. Great job.
Packet
07-18-2010, 04:39 PM
Ok so I got PEQ Editor to connect to my database however when I go to the editor page, it does not show the login/password box. Just the PEQ Editor logo at the top and the blue background. Any idea why? I have sourced the sql file and I am trying to access it locally. I have installed xAMP and I am running mysql 5.0.
Nagus69
07-31-2010, 01:56 AM
It appears the Item Editor Portion of the PEQ Editor runs into an issue as it starts out with Item IDs around 119k. Anything beyond 120k will not be loaded from the EQEmu Server.
Can we tune in Items.php
function get_max_id () {
global $mysql;
$query = "SELECT max(id) AS iid FROM items";
$result = $mysql->query_assoc($query);
$newid = $result['iid'] + 1;
to take the next FREE Item ID, like Georges? Alternatively, is there a reason the Server won't load Item IDs > 120k?
The installation guide really needs to be updated.
cavedude
07-31-2010, 10:21 AM
It appears the Item Editor Portion of the PEQ Editor runs into an issue as it starts out with Item IDs around 119k. Anything beyond 120k will not be loaded from the EQEmu Server.
Can we tune in Items.php
function get_max_id () {
global $mysql;
$query = "SELECT max(id) AS iid FROM items";
$result = $mysql->query_assoc($query);
$newid = $result['iid'] + 1;
to take the next FREE Item ID, like Georges? Alternatively, is there a reason the Server won't load Item IDs > 120k?
It isn't the editor at fault, the EQEmu code has a current limit of 120000, to prevent items from using too much shared memory. If you are able to compile the EQEmu code yourself, you'll need to change #define MMF_EQMAX_ITEMS 120000 in EMuShareMem/Items.h and recompile.
I finally got it to work using latest xampp.
Unfortunately it then just displays the logo. Nothing else.
I'm stuck at this point now.
Nagus69
08-01-2010, 03:14 AM
It isn't the editor at fault, the EQEmu code has a current limit of 120000, to prevent items from using too much shared memory. If you are able to compile the EQEmu code yourself, you'll need to change #define MMF_EQMAX_ITEMS 120000 in EMuShareMem/Items.h and recompile.
Thanks for the answer CD and i agree of course. Would it still be possible that the next Item ID algorithm would behave similar to George? There are so many holes in Item IDs list that using that free space would offer enough without going over the 120k limit and without having to recompile it.
Nagus69
08-20-2010, 10:20 AM
Am i being blind again or is the Item Editor Missing the possibility to assign
a proc rate modifier to weapon procs?
Nagus69
09-15-2010, 05:00 AM
nm - found the reason for the error.
Nagus69
09-20-2010, 05:42 AM
Seems with rev193 and later (just tried 195) i can no longer save edited Items. Neither by clicking submit at the bottom nor hitting Enter in a field which i just edited.
Maybe started even earlier, but that's the first rev i noticed this.
joligario
09-20-2010, 06:22 AM
Been that way since r167. Fixed in r196.
Lillu
09-20-2010, 11:10 AM
Thank you joligario. Item editing/saving works with latest rev now, however we found a similar issue with zone data editing. Saving changes (let's say safe X: value) wont be saved upon clicking Submit Changes.
pfyon
10-17-2010, 09:57 AM
r203 seems to have issues with the queries used to copy items in the item editor. Lots of referenced columns that don't exist (the unknownXXX and UNKXXX ones).
cavedude
10-17-2010, 11:00 AM
r203 seems to have issues with the queries used to copy items in the item editor. Lots of referenced columns that don't exist (the unknownXXX and UNKXXX ones).
Sorry about that, fixed in 204.
pfyon
10-17-2010, 01:32 PM
Sorry about that, fixed in 204.
Still having the same issue.
I think it's happening in lib/items.php copy_item().
edit: Holy non auto line breaks, batman. The relevant bit is:
Unknown column 'unknown002' in 'field list'
in index.php?editor=items&id=1307&action=7
cavedude
10-17-2010, 01:49 PM
Edit: Bah, my mistake I committed the wrong file.
pfyon
10-17-2010, 02:00 PM
Aha, excellent, thanks CD!
Templus
11-08-2010, 11:17 AM
Where do I get the latest revision? The link here is giving me rev178 and I'm having some issues =\
cavedude
11-08-2010, 11:42 AM
At this point, you have to use a SVN client like TortoiseSVN to grab the newest revision. I'll see about getting it packed up and uploaded soon, though.
cylynex2
11-18-2010, 12:02 AM
Is the spells_us exporter working or am I doing something wrong? It will create the file and get to about 6.1 megs then just die on a white screen, no error msg. Using rev 208.
Edit: NM, fixed my php.ini memory limit and it works now.
Expletus
12-29-2010, 05:31 PM
Anyone have an updated installation guide for the newer version of apache and php? I try to follow the old setup but there are files which are no longer there and text that doesn't apply..
using:
httpd-2.2.17-win32-x86-no_ssl.msi
php-5.3.4-nts-win32-vc9-x86.msi
peqphpeditorRev211.zip
And yes, I'm completely newb.
Expletus
01-01-2011, 04:23 PM
I still can't figure this out after reading through the information here and the PEQ boards.
joligario
01-01-2011, 08:17 PM
Have you tried XAMPP? Very handy all-in-one program which is VERY easy to install.
Expletus
01-01-2011, 08:21 PM
I wouldn't even know how to begin using it. I did use it to compile the eqemu source so it's installed..
joligario
01-01-2011, 08:47 PM
I think you are talking about something totally different. XAMPP includes Apache, PHP, Perl, and MySQL.
http://www.apachefriends.org/en/xampp-windows.html
Expletus
01-01-2011, 09:23 PM
Nope. I couldn't get the correct version of perl to work to compile without errors. I swapped in Xampp and it worked fine. I had no idea it would work for the editor. I just wouldn't know where to begin.
joligario
01-01-2011, 09:40 PM
Yeah, you can just put the editor in your htdocs folder and set it up to work from there.
Expletus
01-01-2011, 09:45 PM
Excuse me, but I am a little less computer savy than most. Is it possible you could break it into steps? I know it's asking a lot, but I would be very grateful.
joligario
01-01-2011, 11:13 PM
For example: If you install xampp to c:\xampp , there will be a folder called htdocs within that folder. That will be your public html folder. Inside, you can create a folder (I named mine peqedit), and extract all the editor files. Modify your config.php file with the proper information. Source in the editor schema into your database (your admin username/password). Then, in your browser you can navigate to http://localhost/peqedit
Expletus
01-01-2011, 11:36 PM
short tags for the win! Thank you very very much!
Fasthand
01-02-2011, 08:54 PM
Sound like interesting but me and my bro give up after 3 days of trying to get the server to answer us somethign else then "It Worked!"
documentation is way pass date!
Expletus
01-03-2011, 12:48 AM
In reference to the editor? Shoot me a PM and I'll walk you through the steps I did for it to work.
wolfwalkereci
01-08-2011, 11:54 AM
Finally got it working. Had two errors come up for me. One was telling me something about authentication which after searching google I found this solution to:
SET PASSWORD FOR root@localhost = OLD_PASSWORD('mypass');
Then it would give me a error on line 90 of mysql.php in the classes folder.
So I just deleted the whole section listed here:
// Deter UNION SQL Injection
if (stripos($value, 'union')) {
logSQL("SQL injection monitored by user at IP: '" . getIP() . "' using the query: '" . $value . "'.");
header ("Location: index.php");
exit;
}
I can login and hopefully have no more issues.
Note- I attempted to follow the walk through as close as I could, which included google searching and downloading the older apache and php.
lanystvyl
02-25-2011, 12:13 PM
couldn't get this to run, winxp, php 5, Apache 2.2 - I don't get any errors in Apache, php or the log file. I just get the login screen over and over.
Note; i went through the setup for dummies and made all the changes to the ini files.
I noticed there aren't any server paths in the config.php, i didn't add any.
can I run php4 and php5 at the same time?
I'm no guru with php sorry to be a pain.
sorvani
02-25-2011, 12:41 PM
Mine is running on
Apache/2.2.17 (Win32)
PHP/5.3.5
I installed a game server (MySQL and Perl) compiled etc.
Installed Apache
Installed PHP
Configured per the PEQ forums thread and it all worked fine for me.
joligario
02-25-2011, 07:32 PM
couldn't get this to run, winxp, php 5, Apache 2.2 - I don't get any errors in Apache, php or the log file. I just get the login screen over and over.
Note; i went through the setup for dummies and made all the changes to the ini files.
I noticed there aren't any server paths in the config.php, i didn't add any.
can I run php4 and php5 at the same time?
I'm no guru with php sorry to be a pain.
Do you have short tags on?
lanystvyl
02-25-2011, 07:56 PM
foind it in the php.ini there was c:/temp changed it and it works now.
lanystvyl
02-25-2011, 08:27 PM
WoW freek'n cool man. you guys rock!
Tabasco
09-23-2011, 08:44 PM
I put together a configuration script and a canned windows installer if anyone is interested. It's basically a server2go install with the editor already in htdocs. It opens in IE by default and the server terminates when the session closes. No permanent WAMP installation is necessary.
http://216.49.224.132/eq/autoconf.diff
http://216.49.224.132/eq/peq_s2g_install.exe
Install script is at:
http://216.49.224.132/eq/peqinstall.nsi
I've tested it in Windows XP but I don't know how it will behave in other versions of windows. The configuration script could be helpful for any OS.
chortie
09-28-2011, 05:41 PM
works good on vista, but i am unable to edit, or create NPC's..
i started off by trying to create a armor and weapon mech, but got a error
so i tried to edit a already made merch, and got a error, tried to copy a merch and got a error. here the error
-----------
Query failed:
INSERT INTO merchantlist SET merchantid=346708, slot=1, item=5678, faction_required=-100, level_required=0, alt_currency_cost=0 - Unknown column 'faction_required' in 'field list'
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\PEQ Database Editor\htdocs\classes\mysql.php:69) in C:\Program Files\PEQ Database Editor\htdocs\lib\merchant.php on line 56
--------
any ideas?
lerxst2112
09-28-2011, 05:57 PM
Your database version isn't up to date. You need to update your server code and apply the required database updates.
At least this one, but you may be missing others as well.
trunk\EQEmuServer\utils\sql\svn\2004_charges_alt_c urrency.sql
druid64
01-18-2012, 09:25 AM
I just installed the latest peqphoeditor from the svn r313 for peq rev2092 and I am getting errors on things. This is the error i see above the sections like npc spawns loot and items
Notice: Undefined variable: version in /peqphpeditor/lib/headbars.php on line 335
Notice: Undefined variable: version in /peqphpeditor/lib/headbars.php on line 340
While viewing an item I also get this this error right above the item box plus the 2 messages above
Notice: Undefined variable: errors in /peqphpeditor/templates/items/items.edit.tmpl.php on line 1
I can view the items but when i tryto save things I get a giant page of errors like
Notice: Undefined variable: version in /peqphpeditor/lib/headbars.php on line 335
Notice: Undefined variable: version in /peqphpeditor/lib/headbars.php on line 340
Notice: Undefined variable: name in /peqphpeditor/lib/items.php on line 362
Notice: Undefined variable: itemtype in /peqphpeditor/lib/items.php on line 363
Notice: Undefined variable: lore in /peqphpeditor/lib/items.php on line 364
Notice: Undefined variable: itemclass in /peqphpeditor/lib/items.php on line 365
Notice: Undefined variable: stackable in /peqphpeditor/lib/items.php on line 366
Notice: Undefined variable: stacksize in /peqphpeditor/lib/items.php on line 367
Notice: Undefined variable: maxcharges in /peqphpeditor/lib/items.php on line 368
php 5.3 and mysql 5.1 thanks
joligario
01-18-2012, 07:51 PM
Looks like you have your php.ini error messaging set higher than you need. In your php.ini file, scroll down to the error handling and logging section and set your error reporting to this:
error_reporting = E_ALL & ~E_NOTICE
Not sure, but I think you may need to stop/start your httpd services after that change.
druid64
01-18-2012, 08:50 PM
Duh.
That was exactly the issue. I had made an .htaccess file to debug a login I was working on and completely forgot about it. Editor is working perfectly now.
Thanks
Niemand
02-15-2012, 12:37 AM
Hello, i ran into a, imo, strange problem while trying to setup this Editor.
It loads all fine until it gets to the Template part there something doesnt work for me.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
function gotosite(site) { if (site != "") { self.location=site; } }
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function clearField(obj) { obj.value=""; }
</SCRIPT>
<?if (isset($javascript)) echo $javascript;?>
<title>PEQ Database Editor</title>
<link rel="stylesheet" href="css/peq.css" type="text/css">
</head>
<body>
<div id="container">
<div id="header">
<a href="index.php"><img src="images/peq_editor.gif" title="Home" border="0"></a>
</div>
<?if (isset($headbar)) echo $headbar;?>
<?if (isset($searchbar)) echo $searchbar;?>
<div id="content">
<?if(isset($breadcrumbs) && ($breadcrumbs != '')):?>
<div class='page_title'><?=$breadcrumbs?></div>
<?endif;?>
<?=$body?>
</div>
</div>
</body>
</html>
That's how my index.php looks like. All the php parts from the index.tmpl get just ignored i guess. I tried displaying errors etc. nothing. Everything seems to work fine so i ran into a dead end here. Any ideas ?
Niemand
Niemand
02-15-2012, 05:32 AM
Couldn't find a Edit button, sorry.
This error was on my side, something went wrong when i setup apache, dunno what.
MBroadway
03-26-2012, 12:36 AM
Hello, I use Xampp for my editor. everything worked fine until I had to delete Xampp and reinstall. I did everything the same as before after the new install, but I get errors now.
Strict Standards: Non-static method session::start() should not be called statically in C:\xampp\htdocs\peqedit\classes\session.php on line 104
Strict Standards: Non-static method session::logged_in() should not be called statically in C:\xampp\htdocs\peqedit\classes\session.php on line 135
Notice: Undefined variable: enable_guest_mode in C:\xampp\htdocs\peqedit\classes\session.php on line 138
Notice: Undefined variable: enable_user_login in C:\xampp\htdocs\peqedit\classes\session.php on line 139.
And I do not have the ability to log in. I get
Project Everquest Database Editing Interface
User logins are disabled.
Guest mode is disabled.
Any help would be great. thanks
joligario
03-26-2012, 06:00 AM
Scroll up on this thread a few posts to find the error_reporting section to get rid of the strict standards and notices.
Modify your config.php to allow/disallow logins. Don't have just config.php? Rename your config.php.dist to config.php.
wolfwalkereci
05-15-2012, 01:35 AM
Was bored and wanted to update my localhost phpbb3 portal and needed php5 installed to do it.
Previously I used apache 2.0.55 and php 4.4.2
If you try this backup your old stuff. If you modify the windows path you need to restart the computer for change to take effect.
Took me a few minutes to figure it out but this is what I took notes on:
Using the following:
http://www.apachelounge.com/download/
*** you see a link for VC10 SP1 vcredist_x86.exe , that link is broken, head to microcraps website and just copy / paste vcredist_x86.exe in the search box at the top and install it if you need it. I installed the 64bit apache earlier to play with it and thus installed the VC10 dist for 64bit and have no issues with the x86 working for me. No install of VC10 on this machine ***
httpd-2.4.2-win32.zip
php5apache2_4.dll-php-5.4-win32.zip
http://windows.php.net/downloads/releases/archives/
php-5.4.0-Win32-VC9-x86.zip
Unziped apache to C:\apache24
Unziped php to C:\php5
Added C:\php5 to system path
php.ini uncomment extension=php_mysql.dll
php.ini set extension_dir = C:\php5\ext
php.ini set doc_root = "c:\web"
php.ini set error_reporting = E_ALL
php.ini adjusted other fields to personal settings
httpd.conf set ServerRoot "c:/Apache24"
httpd.conf set Listen 80
httpd.conf set LoadModule php5_module "c:/php5/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php5"
httpd.conf set ServerName localhost:80
httpd.conf set DocumentRoot "C:/web"
httpd.conf set <Directory "c:/web">
httpd.conf set DirectoryIndex index.html index.html.var index.htm index.php
httpd.conf set ScriptAlias /php/ "c:/php5/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php.exe"
ISSUES: shitty ass error about old passwords. Something like "Connect Error (2000) mysqlnd cannot connect to MySQL 4.1+ using old authentication"
FIX:
http://stackoverflow.com/questions/1575807/cannot-connect-to-mysql-4-1-using-old-authentication
Opened Navicat --> mysql --> Query --> New Query
SHOW VARIABLES LIKE 'old_passwords';
(in the MySQL command line client, HeidiSQL or whatever frontend you like) whether the server is set to use the old password schema by default. If this returns old_passwords,Off you just happen to have old password entries in the users tables. The MySQL will use the old authentication routine for these accounts. But you can simply set a new password for the account and the new routine will be used.
You can check which routine will be used by taking a look at the mysql.users table (with an account that has access to that table)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user;
This will return 16 for accounts with old passwords and 41 for accounts with new passwords (and 0 for accounts with no password at all, you might want to take care of those as well).
Either use the user managements tools of the MySQL front end (if there are any) or
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges
(replace User and Host with the values you' got from the previous query). Then check the length of the password again. It should be 41 now and mysqlnd should be able to connect to the server.
Edit: Everyone has their own quirks doing the installs but I noticed that the magelo and allaclone tools actually work 100% for me now, when previously much of those tools refused to work at all.
Tabasco
11-14-2012, 10:38 PM
This is a really simple update to edit procrates in items.
http://dungeoncrawl.us.to/procrate.diff.txt
joligario
11-15-2012, 08:50 AM
This is a really simple update to edit procrates in items.
http://dungeoncrawl.us.to/procrate.diff.txt
Added to the editor (in a slightly different location). Thanks!
blindaviator
12-29-2012, 08:25 AM
I installed the editor yesterday and everything looked good until I tried to add a new faction.
Here is the error I get:
Query failed:
INSERT INTO faction_list SET id="501", name="Guardians_of_Knowledge", base="0", mod_c1="0", mod_c2="0", mod_c3="0", mod_c4="0", mod_c5="0", mod_c6="0", mod_c7="0", mod_c8="0", mod_c9="0", mod_c10="0", mod_c11="0", mod_c12="0", mod_c13="0", mod_c14="0", mod_c15="0", mod_c16="0", mod_r1="0", mod_r2="0", mod_r3="0", mod_r4="0", mod_r5="0", mod_r6="0", mod_r8="0", mod_r9="0", mod_r10="0", mod_r11="0", mod_r12="0", mod_r14="0", mod_r42="0", mod_r75="0", mod_r108="0", mod_r128="0", mod_r130="0", mod_r161="0", mod_r330="0", mod_r367="0", mod_r522="0", mod_d201="0", mod_d202="0", mod_d203="0", mod_d204="0", mod_d205="0", mod_d206="0", mod_d207="0", mod_d208="0", mod_d209="0", mod_d210="0", mod_d211="0", mod_d212="0", mod_d213="0", mod_d214="0", mod_d215="0", mod_d216="0", mod_d140="0" - Unknown column 'mod_c1' in 'field list'
I looked at the PHP code and then checked the database table for the columns it was trying to create/modify and they don't exist. Are those columns removed by design or am I missing something?
If they are removed by design then I will know not to use the faction part of the editor.
cavedude
12-29-2012, 11:56 AM
Factions changed significantly, and the editor has only been partially converted on my local copy to accommodate that. It's on my list of things to get back to.
joligario
12-29-2012, 12:00 PM
Oh, CD beat me to it.
cavedude
12-29-2012, 12:02 PM
If they are, it's because I forgot to remove them. KLS changed factions to get rid of those stupid columns and make the table dynamic. So, that particular table isn't used anymore.
joligario
12-29-2012, 12:04 PM
No, I was mistaken. You're good.
EDIT: I'll work on the change.
blindaviator
12-29-2012, 04:26 PM
Thx you two. Glad to know it wasn't something I did this time.
joligario
12-29-2012, 11:06 PM
Newest files in SVN should be functional with faction changes.
cavedude
12-30-2012, 12:25 AM
Newest files in SVN should be functional with faction changes.
Thanks a lot for getting that in! The only change I made was the race/class/deity name will now display under faction mods. We'll have to come up with a decent solution for editing/adding mods.
blindaviator
12-30-2012, 02:35 AM
Nix this question... I found it finally... Sorry to be a bother...
joligario
12-30-2012, 09:08 AM
Thanks a lot for getting that in! The only change I made was the race/class/deity name will now display under faction mods. We'll have to come up with a decent solution for editing/adding mods.
Too easy. When I get a chance I will work in selectors.
blindaviator
01-01-2013, 04:20 PM
Hehe another one found.
Fatal error: Call to undefined function update_faction_values() in C:\xampp\htdocs\eqemu_editor\lib\faction.php on line 80
joligario
01-01-2013, 04:43 PM
What were you doing so I can troubleshoot? I may have missed other npc faction functions...
EDIT: Ah, I see it. Working on it now.
victurus
01-04-2013, 02:36 PM
I am still receiving these errors when attempting to run the index.php.
http://www.victurus.com/images/phperror.jpg
I have changed the error_reporting, restarted services, restarted comp.
This solution does not seem to be working.
If i ignore all those errors and go to the login box and type in admin/password, it gives me another page with about 40 errors.
Any help would be appreciated.
joligario
01-04-2013, 02:41 PM
Based on the above, I assume you must not have changed the error_reporting correctly (or possibly even the right file). Did you get the proper php.ini file and uncomment (remove ';')? I recommend: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
victurus
01-04-2013, 03:27 PM
Sweet, I am using wamp.. and those tricky bastages put 3 different .ini files with the same stuff in each. Then they hid the correct one! lol, thanks for the assistance.
victurus
01-04-2013, 05:35 PM
OK, so now that it is letting me login, once I login to it, it just sits at this page and does nothing.
http://www.victurus.com/images/phpeditor.jpg
And I am receiving no error logs on any of my services.
joligario
01-04-2013, 08:05 PM
Set your short open tags to "on" in php.ini
victurus
01-04-2013, 08:38 PM
Awesome, thanks for the help man!
Gregk
01-09-2013, 09:51 PM
Up and working. Thank you to everyone.
Kingmen30264
02-05-2013, 09:05 AM
I am interested in using this, but every time I go to load index.php in Firefox, Chrome, or whichever browser, it asks me if I want to download the file that I am opening.
Any help? I followed the instructions on the README.txt file.
Thanks,
Kingmen
wolfwalkereci
02-05-2013, 02:51 PM
You install php and apache or wamp or some other web server?
Kingmen30264
02-05-2013, 04:51 PM
You install php and apache or wamp or some other web server?
I followed the instructions and installed Apache (httpd-2.0.64-win32-x86-openssl.0.9.8.o.msi ) and PHP ( php-5.3.21-nts-Win32-VC9-x86.msi ).
It told me to edit my php.ini file to allow short_open_tag = on, and I did that... I sourced the install directory and then made that change to it.
On Apache it tells me to install the Apache HTTP server, and I did that. I have a little icon running (on startup) that I can load at anytime.
It told me to "Source schema.sql (in the ditor's /sql directory) into your database." I took this as "Run the sql query so it shows in your database", and so that is what I did. The result of this was a table called "peq_admin" which shows the columns (id, login, password, administrator).
Next it tells me to unzip the files in peq_editor into a public html directory... For this I just have them unzipped in a folder on my desktop. I did not really understand what it meant by "public html directory".
Then it tells me to rename config.php.dist as config.php and then edit it based on my needs, so I put in my DB name, username, and password, along with the IP address for it (local machine address [same network]). (There was already a file called config.php in the zipped file that I got, along with another one called config.php.dist.)
I have done everything that it has asked, and I am thinking the issue lies with the "public html directory". Once I have an understanding of that, then all should be working the way it was intended.
Thanks,
Kingmen
joligario
02-05-2013, 05:06 PM
... I am thinking the issue lies with the "public html directory"...
That is correct. When you install apache, there should have been a folder created called "htdocs" somewhere in your folder hierarchy whether it be in apache or web or whatever you used during installation. Anything under that folder will appear as the base for your localhost url. For example: htdocs/index.html will translate to http://localhost/index.html in your web browser. When you create an editor folder, it will be something like htdocs/peqedit/ will translate to http://localhost/peqedit/.
Kingmen30264
02-05-2013, 06:27 PM
That is correct. When you install apache, there should have been a folder created called "htdocs" somewhere in your folder hierarchy whether it be in apache or web or whatever you used during installation. Anything under that folder will appear as the base for your localhost url. For example: htdocs/index.html will translate to http://localhost/index.html in your web browser. When you create an editor folder, it will be something like htdocs/peqedit/ will translate to http://localhost/peqedit/.
Alright, I got that done, and now that I understand that, I am wondering one thing. Am I supposed to only put the index.php file into c:\Program Files\Apache Group\Apache2\htdocs alone, or am I supposed to put the entire folder in there? Or am I supposed to just make a shortcut to the index.php file?
If I put just the index.php file into the folder, this is what I see:
http://i215.photobucket.com/albums/cc160/kingmen30264/EQBox-Copy.jpg
If I put the entire phpeditor folder into the htdocs folder, then this is what I see:
http://i215.photobucket.com/albums/cc160/kingmen30264/EQBox-EntireFolder.jpg
I used /localhost/peqphpeditor/index.php because if I didn't, then I would end up with the same thing as I did when I did the shortcut below.
If I make a shortcut to the index.php file, then this is what I see:
http://i215.photobucket.com/albums/cc160/kingmen30264/EQBox-Shortcut.jpg
Is there something else that I can do to maybe get it to work?
Thanks
Kingmen
c0ncrete
02-05-2013, 06:41 PM
first, get this to work in the directory you are trying to use. if it doesn't work, something is wrong with your apache/php installation or configuration and it has nothing to do with the editor.
index.php
<?php
phpinfo();
?>
http://php.net/manual/en/install.windows.php
Kingmen30264
02-05-2013, 08:01 PM
index.php
<?php
phpinfo();
?>
I did that, and all I keep seeing is the what is written in the php file in the browser. When I do /localhost/index.html.en it loads and shows me a page from apache that says "This page is here because the site administrator has changed the configuration...." So I am guessing that means that my apache is working?
if it doesn't work, something is wrong with your apache/php installation or configuration and it has nothing to do with the editor.
When I installed PHP, it asked me what I wanted it to install under the extensions and I told it to install what was defaulted out, expect for the first one which was PHP and in the tree it was "associate all *.php files with php" which I told it to install that as well.
Then it asked me what kind of server did I want to install, IIS FastCGI, CGI, or No server, in which I selected CGI as IIS FastCGI told me to go to some server config and change some values and I didn't know where it was talking about.
After that, I just installed the rest of the program as normal following the prompts and when it was done, it closed.
I am still confused with the last line of the instructions, "Open up index.php in your web browser"... Does this mean for me to click on Index.php and load it like that, or am I supposed to click File>Open>Index.php, or do I simply add only the index.php in apache2/htdocs directory, or do I add the entire folder, and source it from there by entering /localhost/peqedit/index.php?
Here is what my index.php looks like:
#!C:/php/php.exe
<?php
phpinfo();
?>
$current_revision = "r358";
require_once("config.php");
require_once("lib/logging.php");
require_once("classes/mysql.php");
require_once("classes/template.php");
require_once("classes/session.php");
require_once("lib/common.php");
require_once("lib/data.php");
$editor = (isset($_GET['editor']) ? $_GET['editor'] : '');
$action = (isset($_GET['action']) ? $_GET['action'] : 0);
$npcid = (isset($_GET['npcid']) ? $_GET['npcid'] : null);
$z = (isset($_GET['z']) ? $_GET['z'] : '');
$zoneid = (isset($_GET['zoneid']) ? $_GET['zoneid'] : '');
$fid = (isset($_GET['fid']) ? $_GET['fid'] : '');
$tskid = (isset($_GET['tskid']) ? $_GET['tskid'] : '');
$ts = (isset($_GET['ts']) ? $_GET['ts'] : '');
$rec = (isset($_GET['rec']) ? intval($_GET['rec']) : '0');
$spellset = (isset($_GET['spellset']) ? $_GET['spellset'] : '');
$playerid = (isset($_GET['playerid']) ? $_GET['playerid'] : null);
$acctid = (isset($_GET['acctid']) ? $_GET['acctid'] : null);
$guildid = (isset($_GET['guildid']) ? $_GET['guildid'] : null);
$aaid = (isset($_GET['aaid']) ? $_GET['aaid'] : null);
$searchbar = '';
$body = '';
$javascript = '';
$breadcrumbs = '';
$headbar = '';
require_once('lib/headbars.php');
require_once('lib/breadcrumbs.php');
if (isset($_GET['admin'])) {
if (session::is_admin()) {
require_once('lib/admin.php');
}
}
switch ($editor) {
case '':
$body = new Template("templates/intro.tmpl.php");
$body->set('current_revision', $current_revision);
break;
case 'loot':
require_once('lib/loot.php');
break;
case 'npc':
require_once('lib/npc.php');
break;
case 'spawn':
require_once('lib/spawn.php');
break;
case 'merchant':
require_once('lib/merchant.php');
break;
case 'faction':
require_once('lib/faction.php');
break;
case 'spellset':
require_once('lib/spellset.php');
break;
case 'tradeskill':
require_once('lib/tradeskill.php');
break;
case 'zone':
require_once('lib/zone.php');
break;
case 'misc':
require_once('lib/misc.php');
break;
case 'server':
require_once('lib/server.php');
break;
case 'adventures':
require_once('lib/adventures.php');
break;
case 'tasks':
require_once('lib/tasks.php');
break;
case 'items':
require_once('lib/items.php');
break;
case 'player':
require_once('lib/player.php');
break;
case 'spells':
require_once('lib/spellenums.php');
require_once('lib/spells.php');
break;
case 'spellops':
require_once('lib/spellops.php');
break;
case 'account':
require_once('lib/account.php');
break;
case 'guild':
require_once('lib/guild.php');
break;
case 'mail':
require_once('lib/mail.php');
break;
case 'aa':
require_once('lib/aa.php');
break;
case 'qglobal':
require_once('lib/qglobal.php');
break;
case 'util':
require_once('lib/util.php');
break;
case 'altcur':
require_once('lib/altcur.php');
break;
case 'quest':
require_once('lib/quest.php');
break;
}
$tmpl->set('javascript', $javascript);
$tmpl->set('headbar', $headbar);
$tmpl->set('searchbar', $searchbar);
$tmpl->set('breadcrumbs', $breadcrumbs);
$tmpl->set('body', $body);
echo $tmpl->fetch('templates/index.tmpl.php');
?>
And here is what my Config.php looks like:
<?php
// Database Information:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '********';
$db = 'peq';
/* Limit zone lists to a specified expansion
* (i.e. setting $expansion_limit to 2 would cause only Classic and Kunark zones
* to appear in zone drop-down lists)
* 1 = EQ Classic
* 2 = Kunark
* 3 = Velious
* 4 = Luclin
* 5 = Planes of Power
* 6 = Legacy of Ykesha
* 7 = Lost Dungeons of Norrath
* 8 = Gates of Discord
* 9 = Omens of War
* 10 = Dragons of Norrath
* 11 = Depths of Darkhollow
* 12 = Prophecy of Ro
* 13 = The Serpents Spine
* 14 = The Buried Sea
* 15 = Secrets of Faydwer
* 16 = Seeds of Destruction
* 17 = Underfoot
* 18 = House of Thule
* 19 = Veil of Alaris
* 20 = Rain of Fear
* 99 = Other
*/
$expansion_limit = 20;
// How NPCs are listed. 1 = by NPCID (zoneidnumber*1000), 2 = By spawn2 entry
$npc_list = 1;
// Spawngroup list limit. Limits how many spawngroups are displayed as result of a Coord/NPC search. Specific NPC lists are not effected.
$spawngroup_limit = 150;
// Dont want to have to type the username and password every time you start the editor?
// Set the two variables below to the values you want to be in the form when you start it up.
// (default login: admin pw: password)
$login = '';
$password = '';
// Log SQL queries: 1 = on, 0 = off
$logging = 1;
// $log_file = path to the file your sql logs will be saved in.
// If you want a single log file, uncomment next line and comment the two monthly log options.
//$log_file = "logs/sql_log.sql";
// Automatically create new logs monthly.
$filetime = date("m-Y");
$log_file = "logs/sql_log_$filetime.sql";
// Log all MySQL queries (If disabled only write entries are logged - recommended.)
$log_all = 0;
// Log all MySQL queries that result in an error.
$log_error = 0;
// Enable or disable user logins.
$enable_user_login = 1;
// Enable or disable read only guest mode log in.
$enable_guest_mode = 1;
// Path for quests without trailing slash.
$quest_path = "/home/administrator/run/quests"
?>
I am not sure how to tell if the PHP program is installed properly.
I am kind of curious as to why it keeps showing the lines of code when I do /localhost/index.php
Thanks,
Kingmen
c0ncrete
02-05-2013, 08:08 PM
it's because apache isn't configured correctly to execute/handle the contents of the php file, and instead is providing them as plain text files.
also, you only want to open the file via a network address through apache, not using file->open.
again, don't worry about getting the database editor to work until you get a simple php document like the one with phpinfo in it to be correctly translated by apache. otherwise, you'll just end up confusing yourself further.
you're likely missing something like this
#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"
found @ http://php.net/manual/en/install.windows.apache2.php
wolfwalkereci
07-15-2013, 03:12 PM
So the changes to npcspecialattks kind of broke part of the peqeditor and since I use this tool more then any other I thought I would attempt to fix it on my end.
This is all probably wrong in terms of how the peq team would do it but it does work.
Here is a patch file against current svn revision:
Index: lib/data.php
================================================== =================
--- lib/data.php (revision 370)
+++ lib/data.php (working copy)
@@ -890,41 +890,41 @@
);
$specialattacks = array(
- "S" => "Summon",
- "E" => "Enrage",
- "R" => "Rampage",
- "r" => "AE Rampage",
- "F" => "Flurry",
- "T" => "Triple Attack",
- "Q" => "Quad Attack",
- "m" => "Magic Attack",
- "b" => "Bane Attack",
- "U" => "Unslowable",
- "M" => "Unmezable",
- "C" => "Uncharmable",
- "N" => "Unstunable",
- "I" => "Unsnareable",
- "D" => "Unfearable",
- "p" => "Unpacifiable",
- "A" => "Immune to Melee",
- "B" => "Immune to Magic",
- "f" => "Immune to Fleeing",
- "W" => "Immune to non-Magical Melee",
- "O" => "Immune to non-Bane Melee",
- "H" => "Will Not Aggro",
- "g" => "Resist Ranged Spells",
- "d" => "See through Feign Death",
- "L" => "Dual Wield",
- "G" => "Immune to Aggro",
- "Y" => "Ranged Attack",
- "t" => "Tunnel Vision",
- "i" => "Immune to Taunt",
- "n" => "Does NOT buff/heal friends",
- "j" => "Tethered",
- "J" => "Leashed",
- "o" => "Destructible Object",
- "Z" => "No Harm from Players",
- "K" => "Immune to Dispell"
+ "1,1^" => "Summon",
+ "2,1^" => "Enrage",
+ "3,1^" => "Rampage",
+ "4,1^" => "AE Rampage",
+ "5,1^" => "Flurry",
+ "6,1^" => "Triple Attack",
+ "7,1^" => "Quad Attack",
+ "10,1^" => "Magic Attack",
+ "9,1^" => "Bane Attack",
+ "12,1^" => "Unslowable",
+ "13,1^" => "Unmezable",
+ "14,1^" => "Uncharmable",
+ "15,1^" => "Unstunable",
+ "16,1^" => "Unsnareable",
+ "17,1^" => "Unfearable",
+ "31,1^" => "Unpacifiable",
+ "19,1^" => "Immune to Melee",
+ "20,1^" => "Immune to Magic",
+ "21,1^" => "Immune to Fleeing",
+ "23,1^" => "Immune to non-Magical Melee",
+ "22,1^" => "Immune to non-Bane Melee",
+ "24,1^" => "Will Not Aggro",
+ "26,1^" => "Resist Ranged Spells",
+ "27,1^" => "See through Feign Death",
+ "8,1^" => "Dual Wield",
+ "25,1^" => "Immune to Aggro",
+ "11,1^" => "Ranged Attack",
+ "29,1^" => "Tunnel Vision",
+ "28,1^" => "Immune to Taunt",
+ "30,1^" => "Does NOT buff/heal friends",
+ "33,1^" => "Tethered",
+ "32,1^" => "Leashed",
+ "34,1^" => "Destructible Object",
+ "35,1^" => "No Harm from Players",
+ "18,1^" => "Immune to Dispell"
);
$tradeskills = array(
Index: lib/npc.php
================================================== =================
--- lib/npc.php (revision 370)
+++ lib/npc.php (working copy)
@@ -1162,7 +1162,7 @@
$new_specialattks .= $_POST["$k"];
}
}
- if ($npcspecialattks != $new_specialattks) {
+ if ($special_abilities != $new_specialattks) {
$flag = 1;
}
@@ -1189,7 +1189,7 @@
if ($mindmg != $_POST['mindmg']) $fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
if ($maxdmg != $_POST['maxdmg']) $fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
if ($attack_count != $_POST['attack_count']) $fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
- if ($flag == 1) $fields .= "npcspecialattks=\"$new_specialattks\", ";
+ if ($flag == 1) $fields .= "special_abilities=\"$new_specialattks\", ";
if ($aggroradius != $_POST['aggroradius']) $fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
if ($face != $_POST['face']) $fields .= "face=\"" . $_POST['face'] . "\", ";
if ($luclin_hairstyle != $_POST['luclin_hairstyle']) $fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1253,7 +1253,9 @@
if ($fields != '') {
$query = "UPDATE npc_types SET $fields WHERE id=$npcid";
+ $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
$mysql->query_no_result($query);
+ $mysql->query_no_result($query2);
}
}
@@ -1272,7 +1274,7 @@
if ($_POST['isquest'] != 1) $_POST['isquest'] = 0;
foreach ($specialattacks as $k => $v) {
- if (isset($_POST["$k"])) $npcspecialattks .= $_POST["$k"];
+ if (isset($_POST["$k"])) $special_abilities .= $_POST["$k"];
}
$fields = "id=\"" . $_POST['id']. "\", ";
@@ -1296,7 +1298,7 @@
$fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
$fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
$fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
- $fields .= "npcspecialattks=\"$npcspecialattks\", ";
+ $fields .= "special_abilities=\"$special_abilities\", ";
$fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
$fields .= "face=\"" . $_POST['face'] . "\", ";
$fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1359,7 +1361,9 @@
if ($fields != '') {
$query = "INSERT INTO npc_types SET $fields";
+ $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
$mysql->query_no_result($query);
+ $mysql->query_no_result($query2);
}
}
@@ -1390,7 +1394,7 @@
$fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
$fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
$fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
-$fields .= "npcspecialattks=\"" . $_POST['npcspecialattks'] . "\", ";
+$fields .= "special_abilities=\"" . $_POST['special_abilities'] . "\", ";
$fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
$fields .= "face=\"" . $_POST['face'] . "\", ";
$fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1455,7 +1459,9 @@
if ($fields != '') {
$query = "INSERT INTO npc_types SET $fields";
+ $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
$mysql->query_no_result($query);
+ $mysql->query_no_result($query2);
}
}
Index: templates/npc/npc.edit.tmpl.php
================================================== =================
--- templates/npc/npc.edit.tmpl.php (revision 370)
+++ templates/npc/npc.edit.tmpl.php (working copy)
@@ -150,45 +150,45 @@
<table cellpadding="20px">
<tr>
<td valign="top" align="left">
- <input type="checkbox" name="S" value="S"<?echo (strpos($npcspecialattks,"S") === false) ? "" : " checked"?>> Summon<br>
- <input type="checkbox" name="E" value="E"<?echo (strpos($npcspecialattks,"E") === false) ? "" : " checked"?>> Enrage<br>
- <input type="checkbox" name="R" value="R"<?echo (strpos($npcspecialattks,"R") === false) ? "" : " checked"?>> Rampage<br>
- <input type="checkbox" name="r" value="r"<?echo (strpos($npcspecialattks,"r") === false) ? "" : " checked"?>> AE Rampage<br>
- <input type="checkbox" name="F" value="F"<?echo (strpos($npcspecialattks,"F") === false) ? "" : " checked"?>> Flurry<br>
- <input type="checkbox" name="T" value="T"<?echo (strpos($npcspecialattks,"T") === false) ? "" : " checked"?>> Triple Attack<br>
- <input type="checkbox" name="Q" value="Q"<?echo (strpos($npcspecialattks,"Q") === false) ? "" : " checked"?>> Quad Attack<br>
- <input type="checkbox" name="m" value="m"<?echo (strpos($npcspecialattks,"m") === false) ? "" : " checked"?>> Magic Attack<br>
- <input type="checkbox" name="b" value="b"<?echo (strpos($npcspecialattks,"b") === false) ? "" : " checked"?>> Bane Attack<br>
- <input type="checkbox" name="L" value="L"<?echo (strpos($npcspecialattks,"L") === false) ? "" : " checked"?>> Dual Wield<br>
- <input type="checkbox" name="Y" value="Y"<?echo (strpos($npcspecialattks,"Y") === false) ? "" : " checked"?>> Ranged Attack<br>
+ <input type="checkbox" name="1,1^" value="1,1^"<?echo (strpos($special_abilities,"1,1^") === false) ? "" : " checked"?>> Summon<br>
+ <input type="checkbox" name="2,1^" value="2,1^"<?echo (strpos($special_abilities,"2,1^") === false) ? "" : " checked"?>> Enrage<br>
+ <input type="checkbox" name="3,1^" value="3,1^"<?echo (strpos($special_abilities,"3,1^") === false) ? "" : " checked"?>> Rampage<br>
+ <input type="checkbox" name="4,1^" value="4,1^"<?echo (strpos($special_abilities,"4,1^") === false) ? "" : " checked"?>> AE Rampage<br>
+ <input type="checkbox" name="5,1^" value="5,1^"<?echo (strpos($special_abilities,"5,1^") === false) ? "" : " checked"?>> Flurry<br>
+ <input type="checkbox" name="6,1^" value="6,1^"<?echo (strpos($special_abilities,"6,1^") === false) ? "" : " checked"?>> Triple Attack<br>
+ <input type="checkbox" name="7,1^" value="7,1^"<?echo (strpos($special_abilities,"7,1^") === false) ? "" : " checked"?>> Quad Attack<br>
+ <input type="checkbox" name="10,1^" value="10,1^"<?echo (strpos($special_abilities,"10,1^") === false) ? "" : " checked"?>> Magic Attack<br>
+ <input type="checkbox" name="9,1^" value="9,1^"<?echo (strpos($special_abilities,"9,1^") === false) ? "" : " checked"?>> Bane Attack<br>
+ <input type="checkbox" name="8,1^" value="8,1^"<?echo (strpos($special_abilities,"8,1^") === false) ? "" : " checked"?>> Dual Wield<br>
+ <input type="checkbox" name="11,1^" value="11,1^"<?echo (strpos($special_abilities,"11,1^") === false) ? "" : " checked"?>> Ranged Attack<br>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="U" value="U"<?echo (strpos($npcspecialattks,"U") === false) ? "" : " checked"?>> Unslowable<br>
- <input type="checkbox" name="M" value="M"<?echo (strpos($npcspecialattks,"M") === false) ? "" : " checked"?>> Unmezable<br>
- <input type="checkbox" name="C" value="C"<?echo (strpos($npcspecialattks,"C") === false) ? "" : " checked"?>> Uncharmable<br>
- <input type="checkbox" name="N" value="N"<?echo (strpos($npcspecialattks,"N") === false) ? "" : " checked"?>> Unstunable<br>
- <input type="checkbox" name="I" value="I"<?echo (strpos($npcspecialattks,"I") === false) ? "" : " checked"?>> Unsnareable<br>
- <input type="checkbox" name="D" value="D"<?echo (strpos($npcspecialattks,"D") === false) ? "" : " checked"?>> Unfearable<br>
- <input type="checkbox" name="p" value="p"<?echo (strpos($npcspecialattks,"p") === false) ? "" : " checked"?>> Unpacifiable<br>
- <input type="checkbox" name="K" value="K"<?echo (strpos($npcspecialattks,"K") === false) ? "" : " checked"?>> Immune to Dispell<br>
- <input type="checkbox" name="Z" value="Z"<?echo (strpos($npcspecialattks,"Z") === false) ? "" : " checked"?>> No Harm from Players<br>
- <input type="checkbox" name="g" value="g"<?echo (strpos($npcspecialattks,"g") === false) ? "" : " checked"?>> Resist Ranged Spells<br>
- <input type="checkbox" name="t" value="t"<?echo (strpos($npcspecialattks,"t") === false) ? "" : " checked"?>> Tunnel Vision<br>
- <input type="checkbox" name="i" value="i"<?echo (strpos($npcspecialattks,"i") === false) ? "" : " checked"?>> Immune to Taunt<br>
+ <input type="checkbox" name="12,1^" value="12,1^"<?echo (strpos($special_abilities,"12,1^") === false) ? "" : " checked"?>> Unslowable<br>
+ <input type="checkbox" name="13,1^" value="13,1^"<?echo (strpos($special_abilities,"13,1^") === false) ? "" : " checked"?>> Unmezable<br>
+ <input type="checkbox" name="14,1^" value="14,1^"<?echo (strpos($special_abilities,"14,1^") === false) ? "" : " checked"?>> Uncharmable<br>
+ <input type="checkbox" name="15,1^" value="15,1^"<?echo (strpos($special_abilities,"15,1^") === false) ? "" : " checked"?>> Unstunable<br>
+ <input type="checkbox" name="16,1^" value="16,1^"<?echo (strpos($special_abilities,"16,1^") === false) ? "" : " checked"?>> Unsnareable<br>
+ <input type="checkbox" name="17,1^" value="17,1^"<?echo (strpos($special_abilities,"17,1^") === false) ? "" : " checked"?>> Unfearable<br>
+ <input type="checkbox" name="31,1^" value="31,1^"<?echo (strpos($special_abilities,"31,1^") === false) ? "" : " checked"?>> Unpacifiable<br>
+ <input type="checkbox" name="18,1^" value="18,1^"<?echo (strpos($special_abilities,"18,1^") === false) ? "" : " checked"?>> Immune to Dispell<br>
+ <input type="checkbox" name="35,1^" value="35,1^"<?echo (strpos($special_abilities,"35,1^") === false) ? "" : " checked"?>> No Harm from Players<br>
+ <input type="checkbox" name="26,1^" value="26,1^"<?echo (strpos($special_abilities,"26,1^") === false) ? "" : " checked"?>> Resist Ranged Spells<br>
+ <input type="checkbox" name="29,1^" value="29,1^"<?echo (strpos($special_abilities,"29,1^") === false) ? "" : " checked"?>> Tunnel Vision<br>
+ <input type="checkbox" name="28,1^" value="28,1^"<?echo (strpos($special_abilities,"28,1^") === false) ? "" : " checked"?>> Immune to Taunt<br>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="A" value="A"<?echo (strpos($npcspecialattks,"A") === false) ? "" : " checked"?>> Immune to Melee<br>
- <input type="checkbox" name="B" value="B"<?echo (strpos($npcspecialattks,"B") === false) ? "" : " checked"?>> Immune to Magic<br>
- <input type="checkbox" name="f" value="f"<?echo (strpos($npcspecialattks,"f") === false) ? "" : " checked"?>> Immune to Fleeing<br>
- <input type="checkbox" name="W" value="W"<?echo (strpos($npcspecialattks,"W") === false) ? "" : " checked"?>> Immune to non-Magical Melee<br>
- <input type="checkbox" name="O" value="O"<?echo (strpos($npcspecialattks,"O") === false) ? "" : " checked"?>> Immune to non-Bane Melee<br>
- <input type="checkbox" name="H" value="H"<?echo (strpos($npcspecialattks,"H") === false) ? "" : " checked"?>> Will Not Aggro<br>
- <input type="checkbox" name="G" value="G"<?echo (strpos($npcspecialattks,"G") === false) ? "" : " checked"?>> Immune to Aggro<br>
- <input type="checkbox" name="d" value="d"<?echo (strpos($npcspecialattks,"d") === false) ? "" : " checked"?>> See through Feign Death<br>
+ <input type="checkbox" name="19,1^" value="19,1^"<?echo (strpos($special_abilities,"19,1^") === false) ? "" : " checked"?>> Immune to Melee<br>
+ <input type="checkbox" name="20,1^" value="20,1^"<?echo (strpos($special_abilities,"20,1^") === false) ? "" : " checked"?>> Immune to Magic<br>
+ <input type="checkbox" name="21,1^" value="21,1^"<?echo (strpos($special_abilities,"21,1^") === false) ? "" : " checked"?>> Immune to Fleeing<br>
+ <input type="checkbox" name="23,1^" value="23,1^"<?echo (strpos($special_abilities,"23,1^") === false) ? "" : " checked"?>> Immune to non-Magical Melee<br>
+ <input type="checkbox" name="22,1^" value="22,1^"<?echo (strpos($special_abilities,"22,1^") === false) ? "" : " checked"?>> Immune to non-Bane Melee<br>
+ <input type="checkbox" name="24,1^" value="24,1^"<?echo (strpos($special_abilities,"24,1^") === false) ? "" : " checked"?>> Will Not Aggro<br>
+ <input type="checkbox" name="25,1^" value="25,1^"<?echo (strpos($special_abilities,"25,1^") === false) ? "" : " checked"?>> Immune to Aggro<br>
+ <input type="checkbox" name="27,1^" value="27,1^"<?echo (strpos($special_abilities,"27,1^") === false) ? "" : " checked"?>> See through Feign Death<br>
<input type="checkbox" name="npc_aggro" value="1"<?echo ($npc_aggro == 1) ? "checked" : "";?>> Can Aggro NPCs<br>
- <input type="checkbox" name="n" value="n"<?echo (strpos($npcspecialattks,"n") === false) ? "" : " checked"?>> Does NOT buff/heal friends<br>
- <input type="checkbox" name="j" value="j" onClick="sanityCheck();"<?echo (strpos($npcspecialattks,"j") === false) ? "" : " checked"?>> Tethered<br>
- <input type="checkbox" name="J" value="J" onClick="sanityCheck();"<?echo (strpos($npcspecialattks,"J") === false) ? "" : " checked"?>> Leashed<br>
+ <input type="checkbox" name="30,1^" value="30,1^"<?echo (strpos($special_abilities,"30,1^") === false) ? "" : " checked"?>> Does NOT buff/heal friends<br>
+ <input type="checkbox" name="33,1^" value="33,1^" onClick="sanityCheck();"<?echo (strpos($special_abilities,"33,1^") === false) ? "" : " checked"?>> Tethered<br>
+ <input type="checkbox" name="32,1^" value="32,1^" onClick="sanityCheck();"<?echo (strpos($special_abilities,"32,1^") === false) ? "" : " checked"?>> Leashed<br>
</td>
</tr>
</table>
@@ -272,7 +272,7 @@
</td>
<td valign="top" align="left">
<input type="checkbox" name="underwater" value="1"<?echo ($underwater == 1) ? " checked" : "";?>> Underwater NPC<br>
- <input type="checkbox" name="o" value="o"<?echo (strpos($npcspecialattks,"o") === false) ? "" : " checked"?>> Destructible Object<br>
+ <input type="checkbox" name="34,1^" value="34,1^"<?echo (strpos($special_abilities,"34,1^") === false) ? "" : " checked"?>> Destructible Object<br>
<input type="checkbox" name="isquest" value="1"<?echo ($isquest == 1) ? " checked" : "";?>> Has Quest File<br/>
</td>
</tr>
Index: templates/npc/npc.editlevel.tmpl.php
================================================== =================
--- templates/npc/npc.editlevel.tmpl.php (revision 370)
+++ templates/npc/npc.editlevel.tmpl.php (working copy)
@@ -145,34 +145,34 @@
<table cellpadding="20px">
<tr>
<td valign="top" align="left">
- <input type="checkbox" name="S" value="S"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "S") ? "checked" : "";}}?>> Summon<br>
- <input type="checkbox" name="E" value="E"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "E") ? "checked" : "";}}?>> Enrage<br>
- <input type="checkbox" name="R" value="R"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "R") ? "checked" : "";}}?>> Rampage<br>
- <input type="checkbox" name="r" value="r"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "r") ? "checked" : "";}}?>> AE Rampage<br>
- <input type="checkbox" name="F" value="F"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "F") ? "checked" : "";}}?>> Flurry<br>
- <input type="checkbox" name="T" value="T"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "T") ? "checked" : "";}}?>> Triple Attack<br>
- <input type="checkbox" name="Q" value="Q"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "Q") ? "checked" : "";}}?>> Quad Attack<br>
- <input type="checkbox" name="m" value="m"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "m") ? "checked" : "";}}?>> Magic Attack<br>
- <input type="checkbox" name="b" value="b"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "b") ? "checked" : "";}}?>> Bane Attack<br>
+ <input type="checkbox" name="1,1^" value="1,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "1,1^") ? "checked" : "";}}?>> Summon<br>
+ <input type="checkbox" name="2,1^" value="2,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "2,1^") ? "checked" : "";}}?>> Enrage<br>
+ <input type="checkbox" name="3,1^" value="3,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "3,1^") ? "checked" : "";}}?>> Rampage<br>
+ <input type="checkbox" name="4,1^" value="4,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "4,1^") ? "checked" : "";}}?>> AE Rampage<br>
+ <input type="checkbox" name="5,1^" value="5,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "5,1^") ? "checked" : "";}}?>> Flurry<br>
+ <input type="checkbox" name="6,1^" value="6,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "6,1^") ? "checked" : "";}}?>> Triple Attack<br>
+ <input type="checkbox" name="7,1^" value="7,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "7,1^") ? "checked" : "";}}?>> Quad Attack<br>
+ <input type="checkbox" name="10,1^" value="10,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "10,1^") ? "checked" : "";}}?>> Magic Attack<br>
+ <input type="checkbox" name="9,1^" value="9,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "9,1^") ? "checked" : "";}}?>> Bane Attack<br>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="U" value="U"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "U") ? "checked" : "";}}?>> Unslowable<br>
- <input type="checkbox" name="M" value="M"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "M") ? "checked" : "";}}?>> Unmezable<br>
- <input type="checkbox" name="C" value="C"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "C") ? "checked" : "";}}?>> Uncharmable<br>
- <input type="checkbox" name="N" value="N"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "N") ? "checked" : "";}}?>> Unstunable<br>
- <input type="checkbox" name="I" value="I"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "I") ? "checked" : "";}}?>> Unsnareable<br>
- <input type="checkbox" name="D" value="D"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "D") ? "checked" : "";}}?>> Unfearable<br>
- <input type="checkbox" name="K" value="K"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "K") ? "checked" : "";}}?>> Immune to Dispell<br>
- <input type="checkbox" name="g" value="g"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "g") ? "checked" : "";}}?>> Resist ranged spells<br>
+ <input type="checkbox" name="12,1^" value="12,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "12,1^") ? "checked" : "";}}?>> Unslowable<br>
+ <input type="checkbox" name="13,1^" value="13,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "13,1^") ? "checked" : "";}}?>> Unmezable<br>
+ <input type="checkbox" name="14,1^" value="14,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "14,1^") ? "checked" : "";}}?>> Uncharmable<br>
+ <input type="checkbox" name="15,1^" value="15,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "15,1^") ? "checked" : "";}}?>> Unstunable<br>
+ <input type="checkbox" name="16,1^" value="16,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "16,1^") ? "checked" : "";}}?>> Unsnareable<br>
+ <input type="checkbox" name="17,1^" value="17,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "17,1^") ? "checked" : "";}}?>> Unfearable<br>
+ <input type="checkbox" name="18,1^" value="18,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "18,1^") ? "checked" : "";}}?>> Immune to Dispell<br>
+ <input type="checkbox" name="26,1^" value="26,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "26,1^") ? "checked" : "";}}?>> Resist ranged spells<br>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="A" value="A"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "A") ? "checked" : "";}}?>> Immune to Melee<br>
- <input type="checkbox" name="B" value="B"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "B") ? "checked" : "";}}?>> Immune to Magic<br>
- <input type="checkbox" name="f" value="f"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "f") ? "checked" : "";}}?>> Immune to Fleeing<br>
- <input type="checkbox" name="W" value="W"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "W") ? "checked" : "";}}?>> Immune to non-Magical Melee<br>
- <input type="checkbox" name="O" value="O"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "O") ? "checked" : "";}}?>> Immune to non-Bane Melee<br>
- <input type="checkbox" name="H" value="H"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "H") ? "checked" : "";}}?>> Will Not Aggro<br>
- <input type="checkbox" name="d" value="d"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "d") ? "checked" : "";}}?>> See through Feign Death<br>
+ <input type="checkbox" name="19,1^" value="19,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "19,1^") ? "checked" : "";}}?>> Immune to Melee<br>
+ <input type="checkbox" name="20,1^" value="20,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "20,1^") ? "checked" : "";}}?>> Immune to Magic<br>
+ <input type="checkbox" name="21,1^" value="21,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "21,1^") ? "checked" : "";}}?>> Immune to Fleeing<br>
+ <input type="checkbox" name="23,1^" value="23,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "23,1^") ? "checked" : "";}}?>> Immune to non-Magical Melee<br>
+ <input type="checkbox" name="22,1^" value="22,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "22,1^") ? "checked" : "";}}?>> Immune to non-Bane Melee<br>
+ <input type="checkbox" name="24,1^" value="24,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "24,1^") ? "checked" : "";}}?>> Will Not Aggro<br>
+ <input type="checkbox" name="27,1^" value="27,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "27,1^") ? "checked" : "";}}?>> See through Feign Death<br>
<input type="checkbox" name="npc_aggro" value="1"<?echo ($npc_aggro == 1) ? "checked" : "";?>> Can Aggro NPCs<br>
</td>
@@ -258,7 +258,7 @@
</td>
<td valign="top" align="left">
<input type="checkbox" name="underwater" value="1"<?echo ($underwater == 1) ? "checked" : "";?>> Underwater NPC<br>
- <input type="checkbox" name="o" value="o"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "o") ? "checked" : "";}}?>> Destructible Object<br>
+ <input type="checkbox" name="34,1^" value="34,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "34,1^") ? "checked" : "";}}?>> Destructible Object<br>
</td>
</tr>
</table>
Index: templates/npc/npc.tmpl.php
================================================== =================
--- templates/npc/npc.tmpl.php (revision 370)
+++ templates/npc/npc.tmpl.php (working copy)
@@ -177,7 +177,7 @@
<tr>
<td align="left" width="33%">Aggro: <?=$aggroradius?></td>
<td align="left" width="33%">Atk Speed: <?=$attack_speed?>%</td>
- <td align="left" width="34%">Special Atks: <?echo ($npcspecialattks) ? $npcspecialattks : "None";?></td>
+ <td align="left" width="34%">Special Atks: <?echo ($special_abilities) ? $special_abilities : "None";?></td>
</tr>
<tr>
<td align="left" width="33%">Slow Mit: <?=$slow_mitigation?> (<?=$slotmit?>%)</td>
@@ -327,7 +327,7 @@
<input type="hidden" name="adventure_template_id" value="<?=$adventure_template_id?>">
<input type="hidden" name="trap_template" value="<?=$trap_template?>">
<input type="hidden" name="armortint_id" value="<?=$armortint_id?>">
- <input type="hidden" name="npcspecialattks" value="<?=$npcspecialattks?>">
+ <input type="hidden" name="special_abilities" value="<?=$special_abilities?>">
<input type="hidden" name="slow_mitigation" value="<?=$slow_mitigation?>">
<input type="hidden" name="maxlevel" value="<?=$maxlevel?>">
<input type="hidden" name="scalerate" value="<?=$scalerate?>">
Cavedude has been busy lately but I'll see what we can do about getting official support for the new special abilities system.
wolfwalkereci
07-20-2013, 05:35 AM
Cavedude has been busy lately but I'll see what we can do about getting official support for the new special abilities system.
If you use that patch I forgot to modify destructible object or it didnt work when I did and also as written you can create a npc but on creation it wont set special_abilities. Have to edit it after creation. I figured I would just throw that up for others to use and the smart people that maintain the editor would either figure a better way to do it or figure a better way to do it. :)
Yeah I think your patch is a nice stopgap but we need better support across the board cause we need to support the params. Also this is basically the reason PEQ is actually behind versions -.-
wolfwalkereci
07-21-2013, 03:12 PM
Was looking at something else inside the editor and discovered why on creation I was not seeing special_abilities saved to the npc.
So until you can get support in for the params here is another patch which corrects that issue.
Index: templates/npc/npc.add.tmpl.php
================================================== =================
--- templates/npc/npc.add.tmpl.php (revision 370)
+++ templates/npc/npc.add.tmpl.php (working copy)
@@ -146,45 +146,45 @@
<table cellpadding="20px">
<tr>
<td valign="top" align="left">
- <input type="checkbox" name="S" value="S"/> Summon<br/>
- <input type="checkbox" name="E" value="E"/> Enrage<br/>
- <input type="checkbox" name="R" value="R"/> Rampage<br/>
- <input type="checkbox" name="r" value="r"/> AE Rampage<br/>
- <input type="checkbox" name="F" value="F"/> Flurry<br/>
- <input type="checkbox" name="T" value="T"/> Triple Attack<br/>
- <input type="checkbox" name="Q" value="Q"/> Quad Attack<br/>
- <input type="checkbox" name="m" value="m"/> Magic Attack<br/>
- <input type="checkbox" name="b" value="b"/> Bane Attack<br/>
- <input type="checkbox" name="L" value="L"/> Dual Wield<br/>
- <input type="checkbox" name="Y" value="Y"/> Ranged Attack<br/>
+ <input type="checkbox" name="1,1^" value="1,1^"/> Summon<br/>
+ <input type="checkbox" name="2,1^" value="2,1^"/> Enrage<br/>
+ <input type="checkbox" name="3,1^" value="3,1^"/> Rampage<br/>
+ <input type="checkbox" name="4,1^" value="4,1^"/> AE Rampage<br/>
+ <input type="checkbox" name="5,1^" value="5,1^"/> Flurry<br/>
+ <input type="checkbox" name="6,1^" value="6,1^"/> Triple Attack<br/>
+ <input type="checkbox" name="7,1^" value="7,1^"/> Quad Attack<br/>
+ <input type="checkbox" name="10,1^" value="10,1^"/> Magic Attack<br/>
+ <input type="checkbox" name="9,1" value="9,1"/> Bane Attack<br/>
+ <input type="checkbox" name="8,1^" value="8,1^"/> Dual Wield<br/>
+ <input type="checkbox" name="11,1^" value="11,1^"/> Ranged Attack<br/>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="U" value="U"/> Unslowable<br/>
- <input type="checkbox" name="M" value="M"/> Unmezable<br/>
- <input type="checkbox" name="C" value="C"/> Uncharmable<br/>
- <input type="checkbox" name="N" value="N"/> Unstunable<br/>
- <input type="checkbox" name="I" value="I"/> Unsnareable<br/>
- <input type="checkbox" name="D" value="D"/> Unfearable<br/>
- <input type="checkbox" name="p" value="p"/> Unpacifiable<br/>
- <input type="checkbox" name="K" value="K"/> Immune to Dispell<br/>
- <input type="checkbox" name="Z" value="Z"/> No Harm from Players<br/>
- <input type="checkbox" name="g" value="g"/> Resist Ranged Spells<br/>
- <input type="checkbox" name="t" value="t"/> Tunnel Vision<br/>
- <input type="checkbox" name="i" value="i"/> Immune to Taunt<br/>
+ <input type="checkbox" name="12,1^" value="12,1^"/> Unslowable<br/>
+ <input type="checkbox" name="13,1^" value="13,1^"/> Unmezable<br/>
+ <input type="checkbox" name="14,1^" value="14,1^"/> Uncharmable<br/>
+ <input type="checkbox" name="15,1^" value="15,1^"/> Unstunable<br/>
+ <input type="checkbox" name="16,1^" value="16,1^"/> Unsnareable<br/>
+ <input type="checkbox" name="17,1^" value="17,1^"/> Unfearable<br/>
+ <input type="checkbox" name="31,1^" value="31,1^"/> Unpacifiable<br/>
+ <input type="checkbox" name="18,1^" value="18,1^"/> Immune to Dispell<br/>
+ <input type="checkbox" name="35,1^" value="35,1^"/> No Harm from Players<br/>
+ <input type="checkbox" name="26,1^" value="26,1^"/> Resist Ranged Spells<br/>
+ <input type="checkbox" name="29,1^" value="29,1^"/> Tunnel Vision<br/>
+ <input type="checkbox" name="28,1^" value="28,1^"/> Immune to Taunt<br/>
</td>
<td valign="top" align="left">
- <input type="checkbox" name="A" value="A"/> Immune to Melee<br/>
- <input type="checkbox" name="B" value="B"/> Immune to Magic<br/>
- <input type="checkbox" name="f" value="f"/> Immune to Fleeing<br/>
- <input type="checkbox" name="W" value="W"/> Immune to non-Magical Melee<br/>
- <input type="checkbox" name="O" value="O"/> Immune to non-Bane Melee<br/>
- <input type="checkbox" name="H" value="H"/> Will Not Aggro<br/>
- <input type="checkbox" name="G" value="G"/> Immune to Aggro<br/>
- <input type="checkbox" name="d" value="d"/> See through Feign Death<br/>
+ <input type="checkbox" name="19,1^" value="19,1^"/> Immune to Melee<br/>
+ <input type="checkbox" name="20,1^" value="20,1^"/> Immune to Magic<br/>
+ <input type="checkbox" name="21,1^" value="21,1^"/> Immune to Fleeing<br/>
+ <input type="checkbox" name="23,1^" value="23,1^"/> Immune to non-Magical Melee<br/>
+ <input type="checkbox" name="22,1^" value="22,1^"/> Immune to non-Bane Melee<br/>
+ <input type="checkbox" name="24,1^" value="24,1^"/> Will Not Aggro<br/>
+ <input type="checkbox" name="25,1^" value="25,1^"/> Immune to Aggro<br/>
+ <input type="checkbox" name="27,1^" value="27,1^"/> See through Feign Death<br/>
<input type="checkbox" name="npc_aggro" value="1"<?echo ($npc_aggro == 1) ? "checked" : "";?>/> Can Aggro NPCs<br/>
- <input type="checkbox" name="n" value="n"> Does NOT buff/heal friends<br/>
- <input type="checkbox" name="j" value="j" onClick="sanityCheck();"/> Tethered<br/>
- <input type="checkbox" name="J" value="J" onClick="sanityCheck();"/> Leashed<br/>
+ <input type="checkbox" name="30,1^" value="30,1^"> Does NOT buff/heal friends<br/>
+ <input type="checkbox" name="33,1^" value="33,1^" onClick="sanityCheck();"/> Tethered<br/>
+ <input type="checkbox" name="32,1^" value="32,1^" onClick="sanityCheck();"/> Leashed<br/>
</td>
</tr>
</table>
cavedude
07-24-2013, 01:16 PM
The newest editor has quick support added for special abilities (including editing those with params) and also lua quests. It's up on SVN now, or the daily dump can be grabbed tomorrow.
wolfwalkereci
07-24-2013, 09:36 PM
The newest editor has quick support added for special abilities (including editing those with params) and also lua quests. It's up on SVN now, or the daily dump can be grabbed tomorrow.
Great news! Thanks to those that actually know what they are doing with the editor. Love that tool.
wolfwalkereci
07-29-2013, 07:58 AM
Cavedude or KLS
Another thing I noticed was adding lootdrops either did not let you specify mindrop, droplimit, multiplier, probability or if it did would ignore your input.
I understand that PEQ DB pulls everything off of magelo now in terms of the loot but for doing custom loot it was annoying to have to create then edit.
Not sure if this is correct but it works and here is a patch against r371.
Just noticed r372 is on svn but nothing effected by this patch was touched in r372.
Index: templates/loot/lootdrop.add.tmpl.php
================================================== =================
--- templates/loot/lootdrop.add.tmpl.php (revision 371)
+++ templates/loot/lootdrop.add.tmpl.php (working copy)
@@ -13,13 +13,13 @@
Suggested Name:<br>
<input type="text" name="name" size="25" value="<?=$name?>"><br><br>
Mindrop: <br>
- <input type="text" name="mindrop" size="25" value="0"><br><br>
+ <input type="text" name="mindrop" size="25" value="<?=$mindrop?>"><br><br>
Droplimit: <br>
- <input type="text" name="droplimit" size="25" value="0"><br><br>
+ <input type="text" name="droplimit" size="25" value="<?=$droplimit?>"><br><br>
Multiplier: <br>
- <input type="text" name="multiplier" size="25" value="1"><br><br>
- Probability: <br>
- <input type="text" name="probability" size="25" value="100"><br><br>
+ <input type="text" name="multiplier" size="25" value="<?=$multiplier?>"><br><br>
+ Probability: <br>
+ <input type="text" name="probability" size="25" value="<?=$probability?>"><br><br>
<center>
<input type="submit" name="submit" value="Submit Changes">
</center>
Index: templates/loot/lootdrop.changebyid.tmpl.php
================================================== =================
--- templates/loot/lootdrop.changebyid.tmpl.php (revision 371)
+++ templates/loot/lootdrop.changebyid.tmpl.php (working copy)
@@ -1,27 +1,27 @@
- <table class="edit_form">
- <tr>
- <td class="edit_form_header">
- Change Lootdrop
- </td>
- </tr>
- <tr>
- <td class="edit_form_content">
- <form name="addlootdrop" method="post" action="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&action=24">
- <input type="hidden" name="ltid" value="<?=$ltid?>">
- Enter Lootdrop ID:<br>
- <input type="text" name="ldid" size="10"><br><br>
- Mindrop: <br>
- <input type="text" name="mindrop" size="5" value="0"><br><br>
- Droplimit: <br>
- <input type="text" name="droplimit" size="5" value="0"><br><br>
- Multiplier: <br>
- <input type="text" name="multiplier" size="5" value="1"><br><br>
- Probability: <br>
- <input type="text" name="probability" size="5" value="100"><br><br>
- <center>
- <input type="submit">
- </center>
- </form>
- </td>
- </tr>
- </table>
+ <table class="edit_form">
+ <tr>
+ <td class="edit_form_header">
+ Change Lootdrop
+ </td>
+ </tr>
+ <tr>
+ <td class="edit_form_content">
+ <form name="addlootdrop" method="post" action="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&action=24">
+ <input type="hidden" name="ltid" value="<?=$ltid?>">
+ Enter Lootdrop ID:<br>
+ <input type="text" name="ldid"><br><br>
+ Probability:<br>
+ <input type="text" name="probability"><br><br>
+ Multiplier:<br>
+ <input type="text" name="multiplier"><br><br>
+ Droplimit:<br>
+ <input type="text" name="droplimit"><br><br>
+ Mindrop:<br>
+ <input type="text" name="mindrop"><br><br>
+ <center>
+ <input type="submit">
+ </center>
+ </form>
+ </td>
+ </tr>
+ </table>
Index: templates/loot/lootdrop.changebysearch.tmpl.php
================================================== =================
--- templates/loot/lootdrop.changebysearch.tmpl.php (revision 371)
+++ templates/loot/lootdrop.changebysearch.tmpl.php (working copy)
@@ -11,9 +11,13 @@
Lootdrop ID:<br>
<input type="text" name="ldid" value="<?=$ldid?>"><br><br>
Probability:<br>
- <input type="text" name="prob"><br><br>
+ <input type="text" name="probability"><br><br>
Multiplier:<br>
- <input type="text" name="mult"><br><br>
+ <input type="text" name="multiplier"><br><br>
+ Droplimit:<br>
+ <input type="text" name="droplimit"><br><br>
+ Mindrop:<br>
+ <input type="text" name="mindrop"><br><br>
<center>
<input type="submit">
</center>
Index: templates/loot/loottable.edit.entry.tmpl.php
================================================== =================
--- templates/loot/loottable.edit.entry.tmpl.php (revision 371)
+++ templates/loot/loottable.edit.entry.tmpl.php (working copy)
@@ -9,8 +9,10 @@
<strong>LootTable:</strong> <?=$ltid?><br>
<strong>LootDrop:</strong> <?=$ldid?><br><br>
<form name="loottable" id="loottable" method="post" action="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&action=8&npcid=<?=$npcid?><id=<?=$ltid?>&ldid=<?=$ldid?>">
- Probability: <br><input type="text" name="prob" value="<?=$probability?>"><br><br>
- Multiplier: <br><input type="text" name="mult" value="<?=$multiplier?>"><br><br>
+ Probability: <br><input type="text" name="probability" value="<?=$probability?>"><br><br>
+ Multiplier: <br><input type="text" name="multiplier" value="<?=$multiplier?>"><br><br>
+ Droplimit: <br><input type="text" name="droplimit" value="<?=$droplimit?>"><br><br>
+ Mindrop: <br><input type="text" name="mindrop" value="<?=$mindrop?>"><br><br>
<center>
<input type="submit" name="submit" value="Submit Changes">
</center>
cavedude
07-29-2013, 10:24 AM
Could you tell me exactly where the problem is? It seems to be working fine for me.
wolfwalkereci
07-29-2013, 11:16 AM
When you click on loot, select the zone and npc.
LootDrops associated with this LootTable: 3 http://127.0.0.1/peqedit/images/add.gif (http://127.0.0.1/peqedit/index.php?editor=loot&z=dragonscaleb&zoneid=76&npcid=451000&action=22<id=94368)
Click on add and in this example lets say I am adding a new lootdrop and I want to set probability to 50.
It would save as 0 and I would have to then click on that 0 value which brings up the edit page and enter it there and then it would save.
Minor issue but I noticed it earlier when populating loot in a custom zone and wanted to fix it.
Personal preference is all.
I also changed my copy so when I add items to a loot drop I can set everything on that screen instead of adding a item then having to go in and change stuff like minlvl maxlvl charges and chance.
edit: I probably should be pulling from your daily dump more often but its not like anything is really broken and generating patches seems best off the svn revision.
sorvani
07-29-2013, 11:59 AM
The daily dump is best for starting new. or never changing. the SVN is good when you have existing and want to see what changed. Also posting diff for changes = awesome
wolfwalkereci
07-29-2013, 12:02 PM
The daily dump is best for starting new. or never changing. the SVN is good when you have existing and want to see what changed. Also posting diff for changes = awesome
Better then going "I changed XYZ and broke it can you fix it for me."
I've been guilty of that in the past :D
cavedude
07-29-2013, 12:13 PM
Hmm, the only option I see broken is when adding an existing lootdrop from search. The options to create a new lootdrop or add an existing one by ID both work fine for me.
wolfwalkereci
07-29-2013, 12:49 PM
Hmm looking at lootdrop.add.tmpl.php I see how it is written for default values of 0,0,1,100.
I wonder if by putting anything into those fields instead of leaving them blank was what caused it to create lootdrops with 0,0,0,0 in the fields.
Since that patch works I'm going to be lazy and not revert and check but that might be why I was seeing zero across the board.
cavedude
07-29-2013, 01:14 PM
Oh, I wanted to mention that. Your changes to lootdrop.add.tmpl.php should be reverted. You replaced the default values (which exist only to save on typing for the user) to variables that aren't even defined yet. The input field itself is what creates those variables, so it's referencing a variable it hasn't even submitted yet. PHP is very forgiving of course, but another language like C++ wouldn't like that too much and crash.
This change creates NULLs for the input boxes (since the variable doesn't exist yet), so if you clicked submit without filling out all the boxes the DB would fill with default values, which are 0s. If that's not the problem, then there may be something else going on for you else where.
wolfwalkereci
07-29-2013, 01:32 PM
Oh, I wanted to mention that. Your changes to lootdrop.add.tmpl.php should be reverted. You replaced the default values (which exist only to save on typing for the user) to variables that aren't even defined yet. The input field itself is what creates those variables, so it's referencing a variable it hasn't even submitted yet. PHP is very forgiving of course, but another language like C++ wouldn't like that too much and crash.
This change creates NULLs for the input boxes (since the variable doesn't exist yet), so if you clicked submit without filling out all the boxes the DB would fill with default values, which are 0s. If that's not the problem, then there may be something else going on for you else where.
Ok I am tracking with that. Myself I am in the habit of filling in all the fields with something so I'm not sure if that would be an issue. I'll revert later today and check if not inputing anything would generate a default value (0,0,1,100). -- if so I might just remove the ability to even input anything since every time I do put something in the fields it generates the lootdrop as mindrop through probability with value of 0.
I did take a look at \lib\loot.php and saw in function assign_lootdrop that droplimit, mindrop, multiplier and probability are defined which is why I made the changes to lootdrop.add.tmpl.php
cavedude
07-29-2013, 01:39 PM
Yep, lootdrop.add.tmpl.php creates those variables and sends them to loot.php for use in assign_lootdrop().
wolfwalkereci
07-30-2013, 01:41 PM
Well I feel stupid to an extent. When I woke up today I deleted every file with a change date that did not match up with the SVN, then reapplied my custom changes for misc stuff like website integration and everything works like it should.
So at some point in time I changed one of the pages and was not careful with copying from SVN to my web folder and that would explain when I was adding loot drops mindrop,droplimit,multiplier,probability were zero and also I just checked adding items and noticed that I was not careful in the past because the current revision from svn when I add items now I do have the option to change percent.
So thanks cavedude for suffering my posts. It was still nice to take a few min and look at how everything is setup and play with it.
I was able to make some personalized changes to aspects of the tool yesterday and get an idea for how it should look based on the current templates.
Anyways, thanks as always to you and everyone else from peq that keep this tool up to date.
wolfwalkereci
07-31-2013, 09:15 PM
Reference: http://www.peqtgc.com/phpBB3/viewtopic.php?f=29&t=14068
I think this is a good idea and decided to go mucking around inside the editor... again.
This time I am going to include some pictures of the table I tested against.
http://imageshack.us/a/img802/960/zlzo.png
Then what the new option you clicked on brings up. I used one of the 13x13 icons included with the editor for this test.
http://imageshack.us/a/img5/4364/m2ue.png
And what the result ended up being after choosing the copy option.
http://imageshack.us/a/img4/2701/mrqo.png
You can either choose move (move and delete from old) or copy (move and retain original).
Here is a patch and I'm pretty sure I did not fubar up this time but its probably not the best way to handle it. Either way you cut it, it does work and can be made pretty as needed. IE I created a new template page but was that really the best method?
Index: lib/loot.php
================================================== =================
--- lib/loot.php (revision 374)
+++ lib/loot.php (working copy)
@@ -341,6 +341,25 @@
enable_lootdrop_item();
header("Location: index.php?editor=loot&z=$z&zoneid=$zoneid&npcid=$npcid");
exit;
+ case 46: //Move Lootdrop Item page
+ check_authorization();
+ $body = new Template("templates/loot/lootdrop.move.item.tmpl.php");
+ $body->set('currzone', $z);
+ $body->set('currzoneid', $zoneid);
+ $body->set('npcid', $npcid);
+ $body->set('ldid', $_GET['ldid']);
+ $body->set('itemid', $_GET['itemid']);
+ $body->set('ldname', getLootdropName($_GET['ldid']));
+ $vars = lootdrop_info();
+ foreach ($vars as $key=>$value) {
+ $body->set($key, $value);
+ }
+ break;
+ case 47: // Move lootdrop item
+ check_authorization();
+ move_copy_lootdrop_item();
+ header("Location: index.php?editor=loot&z=$z&zoneid=$zoneid&npcid=$npcid");
+ exit;
}
function loottable_info () {
@@ -860,4 +879,30 @@
$mysql->query_no_result($query);
}
+function move_copy_lootdrop_item() {
+ check_authorization();
+ global $mysql;
+ $ldid = $_GET['ldid'];
+ $itemid = $_GET['itemid'];
+ $equip = $_POST['equip_item'];
+ $charges = $_POST['charges'];
+ $chance = $_POST['chance'];
+ $minlevel = $_POST['minlevel'];
+ $maxlevel = $_POST['maxlevel'];
+ $multiplier = $_POST['multiplier'];
+ $new_ldid = $_POST['movetolootdrop'];
+ $move_copy_item = $_POST['move_copy_item'];
+ if ($move_copy_item == 0) {
+ $query1 = "DELETE FROM lootdrop_entries WHERE lootdrop_id='$ldid' AND item_id='$itemid'";
+ $mysql->query_no_result($query1);
+
+ $query2 = "INSERT INTO lootdrop_entries SET lootdrop_id=$new_ldid, item_id=$itemid, equip_item=$equip, item_charges=$charges, chance=$chance, minlevel=$minlevel, maxlevel=$maxlevel, multiplier=$multiplier";
+ $mysql->query_no_result($query2);
+ }
+ if ($move_copy_item == 1) {
+ $query = "INSERT INTO lootdrop_entries SET lootdrop_id=$new_ldid, item_id=$itemid, equip_item=$equip, item_charges=$charges, chance=$chance, minlevel=$minlevel, maxlevel=$maxlevel, multiplier=$multiplier";
+ $mysql->query_no_result($query);
+ }
+}
+
?>
\ No newline at end of file
Index: templates/loot/lootdrop.move.item.tmpl.php
================================================== =================
--- templates/loot/lootdrop.move.item.tmpl.php (revision 0)
+++ templates/loot/lootdrop.move.item.tmpl.php (working copy)
@@ -0,0 +1,35 @@
+ <table class="edit_form">
+ <tr>
+ <td class="edit_form_header">
+ <?=$ldname?>
+ </td>
+ </tr>
+ <tr>
+ <td class="edit_form_content">
+ <form name="item" method="post" action="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&action=47&npcid=<?=$npcid?>&ldid=<?=$ldid?>&itemid=<?=$itemid?>">
+ <strong>Lootdrop:</strong> <?=$ldid?><br>
+ <strong>Item:</strong> <?=$itemid?><br><br>
+ <strong>Move to Lootdrop:</strong></br>
+ <input type="radio" name="move_copy_item" value="0"<?echo ($move_copy_item == 0) ? " checked" : ""?>>Move Item<br>
+ <input type="radio" name="move_copy_item" value="1"<?echo ($move_copy_item == 1) ? " checked" : ""?>>Copy Item<br>
+ <input class="indented" type="text" size="5" name="movetolootdrop" value="<?=$new_ldid?>"><br><br>
+ <strong>Equipped:</strong><br>
+ <input type="radio" name="equip_item" value="0"<?echo ($equip_item == 0) ? " checked" : ""?>>no<br>
+ <input type="radio" name="equip_item" value="1"<?echo ($equip_item == 1) ? " checked" : ""?>>yes<br><br>
+ <strong>Item Charges:</strong> <br>
+ <input class="indented" type="text" size="5" name="charges" value="<?=$item_charges?>"><br><br>
+ <strong>Min Level:</strong> <br>
+ <input class="indented" type="text" size="5" name="minlevel" value="<?=$minlevel?>"><br><br>
+ <strong>Max Level:</strong> <br>
+ <input class="indented" type="text" size="5" name="maxlevel" value="<?=$maxlevel?>"><br><br>
+ <strong>Multiplier:</strong> <br>
+ <input class="indented" type="text" size="5" name="multiplier" value="<?=$multiplier?>"><br><br>
+ <strong>Chance:</strong> <br>
+ <input class="indented" type="text" size="5" name="chance" value="<?=$chance?>">%<br><br>
+ <center>
+ <input type="submit" name="submit" value="Submit Changes">
+ </center>
+ </form>
+ </td>
+ </tr>
+ </table>
Index: templates/loot/loottable.tmpl.php
================================================== =================
--- templates/loot/loottable.tmpl.php (revision 374)
+++ templates/loot/loottable.tmpl.php (working copy)
@@ -104,11 +104,11 @@
<?php if(isset($lootdrop['items']) && $lootdrop['items']): $x=0;?>
<tr>
<th align="center" width="8%">Item ID</th>
- <th align="center" width="35%">Item Name</th>
- <th align="center" width="8%">Equipped?</th>
- <th align="center" width="8%">Charges</th>
- <th align="center" width="8%">MinLevel</th>
- <th align="center" width="8%">MaxLevel</th>
+ <th align="center" width="36%">Item Name</th>
+ <th align="center" width="7%">Equipped?</th>
+ <th align="center" width="7%">Charges</th>
+ <th align="center" width="7%">MinLevel</th>
+ <th align="center" width="7%">MaxLevel</th>
<th align="center" width="8%">Multiplier</th>
<th align="center" width="8%">Chance</th>
<th width="13%"></th>
@@ -145,6 +145,7 @@
<?=$chance?>%
</td>
<td align="right">
+ <a href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&action=46"><img src="images/minus.gif" border="0" title="Move Lootdrop Item"></a>
<a href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&action=5"><img src="images/edit2.gif" border="0" title="Edit Lootdrop Item"></a>
<?php if($disabled_chance == 0 && $chance > 0):?>
<a <?=$lootdrop['id']?>?');" href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&chance=<?=$chance?>&action=44"><img src="images/downgrade.gif" border="0" title="Disable Item"></a>
cavedude
08-01-2013, 01:45 PM
Thanks for that! I'll be merging it into the next commit, it's very well done. The only thing I changed was I made copy the default option.
cavedude
08-01-2013, 02:05 PM
Also, I wanted to say keep mucking! Once you get a solid grasp of the editor, I'll have no problem giving you SVN access, so you can commit your changes directly.
wolfwalkereci
08-01-2013, 03:26 PM
I enjoy tinkering with the tools the eqemu community uses and produces.
The peq editor has been a favorite of mine for some time since I sometimes forget to double check sql syntax and then I end up borking entire tables.
Just ask Natedog he was on vent with me the other day when I had to drop altadv_vars because I changed in range using <= and <= ... silly me.
GUI interfaces help reduce the mistakes I make :)
I would have posted this on the PEQ boards but for some reason I just never made a forum account there, no idea why because I monitor the forums for all gold/green and high pop white server looking for reasons to tinker with things.
I can't think of anything else the editor could use that would not step on other tools that are already well made or bloat it in size but I'll continue poking it with a spork and post .patch files for stuff to be considered.
wolfwalkereci
08-02-2013, 05:43 AM
Figured I would attempt to break guilds tab.
Had to tweak it a little to fit the new button and I think its kind of ugly but not sure if its really something useful so making it pretty can come later.
http://img580.imageshack.us/img580/1390/l3jx.png
Grabs the next ID for you, just need to input the guild name and the name of the character that is to be the leader.
Not sure if guild names can contain characters that require escaping for sql so did not attempt to check for that in the query. So "Dan's party guild" would probably fail to insert.
Index: css/peq.css
================================================== =================
--- css/peq.css (revision 376)
+++ css/peq.css (working copy)
@@ -242,4 +242,10 @@
.indented {
margin: 5px 0px 0px 10px;
+}
+
+.newgid {
+ color: darkred;
+ font-size: 12px;
+ font-weight: bold;
}
\ No newline at end of file
Index: lib/guild.php
================================================== =================
--- lib/guild.php (revision 376)
+++ lib/guild.php (working copy)
@@ -70,6 +70,16 @@
delete_guild();
header("Location: index.php?editor=guild");
exit;
+ case 6: // Add new guild template
+ check_admin_authorization();
+ $body = new Template("templates/guild/guild.addnew.tmpl.php");
+ $body->set('new_guild_id', getNextGuildID());
+ break;
+ case 7: // Add new guild submission
+ check_admin_authorization();
+ add_new_guild();
+ header("Location: index.php?editor=guild");
+ exit;
}
function guild_info () {
@@ -116,4 +126,26 @@
global $mysql, $playerid;
//Delete guild info here
}
+
+function getNextGuildID () {
+global $mysql;
+$query = "SELECT MAX(id) as id FROM guilds";
+$result = $mysql->query_assoc($query);
+return ($result['id'] + 1);
+}
+
+function add_new_guild () {
+ global $mysql;
+ $guild_name = $_POST['guild_name'];
+ $new_guild_id = $_POST['new_guild_id'];
+ $leader_name = $_POST['leader_name'];
+ $query = "SELECT id FROM character_ AS id WHERE name=\"$leader_name\"";
+ $result = $mysql->query_assoc($query);
+ $char_id = $result['id'];
+ $query = "INSERT INTO guilds SET id=$new_guild_id, name=\"$guild_name\", leader=$char_id";
+ $mysql->query_no_result($query);
+ $query = "INSERT INTO guild_members SET char_id=$char_id, guild_id=$new_guild_id, rank=1";
+ $mysql->query_no_result($query);
+}
+
?>
\ No newline at end of file
Index: templates/guild/guild.addnew.tmpl.php
================================================== =================
--- templates/guild/guild.addnew.tmpl.php (revision 0)
+++ templates/guild/guild.addnew.tmpl.php (working copy)
@@ -0,0 +1,27 @@
+<div style="width: 275px; margin: auto;">
+ <div style="border: 1px solid black;">
+ <div class="edit_form_header">Create a new guild</div>
+ <div class="edit_form_content">
+ <form name="guild" method="post" action="index.php?editor=guild&action=7">
+
+<table width="100%">
+ <tr>
+ <td><strong>Guild Name:</strong></td>
+ <td><strong>Leader Name:</strong></td>
+ <td><strong>New Guild ID:</strong></td>
+ </tr>
+ <tr>
+ <td><input size="8" type="text" name="guild_name" value="<?=$guild_name?>"></td>
+ <td><input size="8" type="text" name="leader_name" value="<?=$leader_name?>"></td>
+ <td align="center" class="newgid"><input type="hidden" name="new_guild_id" value="<?=$new_guild_id?>"><?=$new_guild_id?></td>
+ </tr>
+</table>
+<br>
+<center>
+ <input type="submit" value="Submit"> <input type="button" value="Cancel" onclick="history.back()">
+</center>
+
+ </form>
+ </div>
+ </div>
+</div>
\ No newline at end of file
Index: templates/searchbar/searchbar.guild.tmpl.php
================================================== =================
--- templates/searchbar/searchbar.guild.tmpl.php (revision 376)
+++ templates/searchbar/searchbar.guild.tmpl.php (working copy)
@@ -1,5 +1,11 @@
<div id="searchbar">
<table width="100%">
+ <tr>
+ <th align="center">Select by menu</th>
+ <th align="center">Select by guild id or name</th>
+ <th align="center">Select by char id or name</th>
+ <th align="center">Add new</th>
+ </tr>
<tr>
<td>
<strong>1.</strong>
@@ -21,7 +27,7 @@
?>
</select>
</td>
- <td> or <strong> 2.</strong>
+ <td><strong> 2.</strong>
<form action="index.php" method="GET">
<input type="hidden" name="editor" value="guild">
<input type="hidden" name="action" value="2">
@@ -29,7 +35,7 @@
<input type="submit" value=" GO ">
</form>
</td>
- <td> or <strong> 3.</strong>
+ <td><strong> 3.</strong>
<form action="index.php" method="GET">
<input type="hidden" name="editor" value="guild">
<input type="hidden" name="action" value="3">
@@ -37,6 +43,13 @@
<input type="submit" value=" GO ">
</form>
</td>
+ <td><strong> 4.</strong>
+ <form action="index.php" method="GET">
+ <input type="hidden" name="editor" value="guild">
+ <input type="hidden" name="action" value="6">
+ <input type="submit" value=" Create ">
+ </form>
+ </td>
</tr>
</table>
</div>
volkmeer
08-27-2013, 10:12 AM
I have the editor running and connecting to my database. I can actually make changes. But I get tons of errors on the opening page and when creating new items. (This is so far that I am aware of)
I am using the latest install of XAMPP 1.8.2.1
The first is:
Notice: Use of undefined constant c71 - assumed 'c71' in C:\xampp\htdocs\peq\lib\data.php on line 2601
*This error above is actually the last in 100 plus errors that are before the actual interface. I began manually formatting all entries in data.php that have a letter before the number with single quotes ('c71'). This seemed to fix this issue. But I am not sure what impact this has.
The second is:
Notice: Undefined variable:
*This occurs when creating a new item. Almost all selectable boxes begin with this error.
I also noticed when I create NPCs that very few are available and pull up only the human model even when say Bristlebane is selected.
I am not a programer, but I enjoy EQ and my step son and I love playing on our own home server. I am attempting to make it more fun for him by slightly customizing our server.
Volkmeer
wolfwalkereci
08-27-2013, 12:22 PM
Notice: Use of undefined constant c71 - assumed 'c71' in C:\xampp\htdocs\peq\lib\data.php on line 2601
\lib\data.php only has 1806 lines so I am not sure how you have a reported error on 2601
Not sure off the top of my head why you are seeing the error. I'll check this again later today when I have more time, though probably a more knowledgeable person will have responded by then, or at least I hope so.
volkmeer
08-27-2013, 12:55 PM
Thanks for reply. I really want to get this working. My data.php from the current download has 2606 lines total.
By adding the single quotes i have fixed a number of issues.
But I get undefined variables in the interface:
Notice: Undefined variable: table_string in C:\xampp\htdocs\peq\lib\npc.php on line 2035
Notice: Undefined variable: update_string in C:\xampp\htdocs\peq\lib\npc.php on line 2047
and
Notice: Undefined variable: version in C:\xampp\htdocs\peq\lib\headbars.php on line 347
Notice: Undefined variable: version in C:\xampp\htdocs\peq\lib\headbars.php on line 352
and (Item Creation seems really broken as all fields have the variable error)
Notice: Undefined variable: filename in C:\xampp\htdocs\peq\templates\items\items.add.tmpl .php on line 51
Notice: Undefined variable: filename in C:\xampp\htdocs\peq\templates\items\items.add.tmpl .php on line 54
It looks like the 'php' code is calling a field in the database and associating it with a variable. But, what happens is it is not keeping that association when it runs a greater or less than query against it. Hope that makes sense. It looks like if 1=apple, then apple=grape, grape > 3 goto 'tree', if grape < 3 goto bush. But grape doesnt seem to '=' 1 anymore.
Anyway somethings do work still.
If you have a different version of the tool I would definitely try it!
If you tell me how i could upload the tool contents I have I would do that as well.
Volkmeer
cavedude
08-27-2013, 01:43 PM
This problem was handled by Joligario farther up in this thread:
Looks like you have your php.ini error messaging set higher than you need. In your php.ini file, scroll down to the error handling and logging section and set your error reporting to this:
error_reporting = E_ALL & ~E_NOTICE
Not sure, but I think you may need to stop/start your httpd services after that change.
I can't provide any further details on how to do that as I don't use Windows. :I
Also, none of your line numbers line up with the current release, so grab the editor from here (updated daily): http://www.peqtgc.com/releases/
volkmeer
08-27-2013, 04:13 PM
Ok I made the php.ini change and i downloaded the new editor. I actually get more variable errors now.
joligario
08-27-2013, 08:01 PM
Notices are not errors. Think of them as just warnings.
Since you are using 1.8.2, that has newer PHP. I recommend using this to turn off all the strict/warnings.
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING
wolfwalkereci
08-27-2013, 09:11 PM
Report back if joligario's suggestion does not work out. As I said earlier there are a bunch of people that will assist in figuring it out with you.
volkmeer
08-29-2013, 09:16 PM
Made the above changes but still get the variable error. Seems everything is working just errors everywhere.
joligario
08-31-2013, 06:10 PM
Not descriptive enough for anyone to help you.
wolfwalkereci
08-31-2013, 06:34 PM
Can you print screen, crop it and post that so we can see what is going on.
NatedogEZ
10-03-2013, 09:42 AM
I noticed there were few missing spell effects in the Spell editor when I grabbed the newest PEQ editor from the daily dump.
I decided to update the ones that were OLD "unknowns" that are now known to the correct effect name and added all the ones that were missing.
Placed "NI" at the from the effect if it wasn't implement as of 10 /3 /2013
--- "lib\spellenums.php"
+++ "lib\spellenums.php"
@@ -772,14 +772,14 @@
332 => "Summon To Corpse",
333 => "Effect On Fade",
334 => "Bard AOE Dot",
- 335 => "Unknown335",
+ 335 => "BlockNextSpellFocus",
337 => "Percent XP Increase",
338 => "Summon and Res All Corpses",
339 => "Trigger On Cast",
340 => "Lifeshard Chance",
342 => "Immune to Fleeing",
343 => "Interrupt Casting",
- 348 => "Unkown348",
+ 348 => "LimitManaCost",
350 => "Manaburn",
351 => "Persistent Effect",
352 => "Unknown352",
@@ -788,9 +788,9 @@
355 => "Unknown355",
358 => "Current Mana Once",
360 => "Spell On Kill",
- 361 => "Unknown361",
+ 361 => "SpellOnDeath",
365 => "Spell On Death",
- 366 => "Unkown366",
+ 366 => "NI ShieldEquipDmgMod",
367 => "Add Body Type",
368 => "Faction Mod",
369 => "Corruption Counter",
@@ -803,7 +803,68 @@
380 => "Knockdown",
382 => "Block Damage Shield",
383 => "Decrease Hitpoints",
- 384 => "Leap"
+ 384 => "Leap",
+ 385 => "LimitSpellGroup",
+ 386 => "CastOnCurer",
+ 387 => "CastOnCure",
+ 388 => "NI SummonCorpseZone",
+ 389 => "Forceful_Rejuv",
+ 390 => "NI CastResistRestrict",
+ 391 => "NI Unknown391",
+ 392 => "AdditionalHeal2",
+ 393 => "HealRate2",
+ 394 => "NI Unknown394",
+ 395 => "CriticalHealRate",
+ 396 => "AdditionalHeal",
+ 397 => "NI PetMeleeMitigation",
+ 398 => "SwarmPetDuration",
+ 399 => "Twincast",
+ 400 => "HealGroupFromMana",
+ 401 => "ManaDrainWithDmg",
+ 402 => "EndDrainWithDmg",
+ 403 => "NI ReluctantBene",
+ 404 => "LimitExcludeSkill",
+ 405 => "TwoHandBluntBlock",
+ 406 => "CastonNumHitFade",
+ 407 => "NI Unknown397",
+ 408 => "LimitHPPercent",
+ 409 => "LimitManaPercent",
+ 410 => "LimitEndPercent",
+ 411 => "LimitClass",
+ 412 => "NI Unknown412",
+ 413 => "IncreaseSpellPower",
+ 414 => "LimitSpellSkill",
+ 415 => "NI Unknown415",
+ 416 => "ACv2",
+ 417 => "ManaRegen_v2",
+ 418 => "SkillDamageAmount2",
+ 419 => "AddMeleeProc",
+ 420 => "NI Unknown420",
+ 421 => "IncreaseNumHits",
+ 422 => "NI Unknown422",
+ 423 => "NI Unknown423",
+ 424 => "GravityEffect",
+ 425 => "NI Display",
+ 426 => "NI IncreaseExtTargetWindow",
+ 427 => "SkillProc",
+ 428 => "LimitToSkill",
+ 429 => "SkillProc2",
+ 430 => "NI Unknown430",
+ 431 => "NI Unknown431",
+ 432 => "NI Unknown432",
+ 433 => "NI Uknonwn433",
+ 434 => "CriticalHealChance2",
+ 435 => "CriticalHealOverTime2",
+ 436 => "NI Unknown432",
+ 437 => "NI Anchor",
+ 438 => "NI Unknown438",
+ 439 => "NI IncreaseAssassinationLvl",
+ 440 => "FinishingBlowLvl",
+ 441 => "NI MovementSpeed2",
+ 442 => "NI TriggerOnHPAmount",
+ 443 => "NI Unknown443",
+ 444 => "NI AggroLock",
+ 445 => "NI AdditionalMercenary"
);
$sp_fields = array(
NatedogEZ
10-04-2013, 08:22 AM
Found a few missing fields for item edit / add.
Allow for augtype up to 20
http://i.imgur.com/vLo0ITP.png
--- "templates\iframes\js.tmpl.php"
+++ "templates\iframes\js.tmpl.php"
@@ -112,5 +112,13 @@
form.augtype_Type_10.checked = form.all_none5.checked ;
form.augtype_Type_11.checked = form.all_none5.checked ;
form.augtype_Type_12.checked = form.all_none5.checked ;
+form.augtype_Type_13.checked = form.all_none5.checked ;
+form.augtype_Type_14.checked = form.all_none5.checked ;
+form.augtype_Type_15.checked = form.all_none5.checked ;
+form.augtype_Type_16.checked = form.all_none5.checked ;
+form.augtype_Type_17.checked = form.all_none5.checked ;
+form.augtype_Type_18.checked = form.all_none5.checked ;
+form.augtype_Type_19.checked = form.all_none5.checked ;
+form.augtype_Type_20.checked = form.all_none5.checked ;
}
</script>
--- "templates\items\items.add.tmpl.php"
+++ "templates\items\items.add.tmpl.php"
@@ -811,6 +811,18 @@
<input type="checkbox" name="augtype_Type_11" value=1024 <?echo ($augtype & 1024) ? "checked" : ""?>> Type 11<br>
<input type="checkbox" name="augtype_Type_12" value=2048 <?echo ($augtype & 2048) ? "checked" : ""?>> Type 12<br>
</td>
+ <td valign="top" align="left"><br/>
+ <input type="checkbox" name="augtype_Type_13" value=4096 <?echo ($augtype & 4096) ? "checked" : ""?>> Type 13<br/>
+ <input type="checkbox" name="augtype_Type_14" value=8192 <?echo ($augtype & 8192) ? "checked" : ""?>> Type 14<br/>
+ <input type="checkbox" name="augtype_Type_15" value=16384 <?echo ($augtype & 16384) ? "checked" : ""?>> Type 15<br/>
+ <input type="checkbox" name="augtype_Type_16" value=32768 <?echo ($augtype & 32768) ? "checked" : ""?>> Type 16<br/>
+ </td>
+ <td valign="top" align="left"><br/>
+ <input type="checkbox" name="augtype_Type_17" value=65536 <?echo ($augtype & 65536) ? "checked" : ""?>> Type 17<br/>
+ <input type="checkbox" name="augtype_Type_18" value=131072 <?echo ($augtype & 131072) ? "checked" : ""?>> Type 18<br/>
+ <input type="checkbox" name="augtype_Type_19" value=262144 <?echo ($augtype & 262144) ? "checked" : ""?>> Type 19<br/>
+ <input type="checkbox" name="augtype_Type_20" value=524288 <?echo ($augtype & 524288) ? "checked" : ""?>> Type 20<br/>
+ </td>
<td valign="top" align="left">
<br>
<input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b><br>
--- "templates\items\items.edit.tmpl.php"
+++ "templates\items\items.edit.tmpl.php"
@@ -752,6 +752,18 @@
<input type="checkbox" name="augtype_Type_12" value=2048 <?echo ($augtype & 2048) ? "checked" : ""?>> Type 12<br/>
</td>
<td valign="top" align="left"><br/>
+ <input type="checkbox" name="augtype_Type_13" value=4096 <?echo ($augtype & 4096) ? "checked" : ""?>> Type 13<br/>
+ <input type="checkbox" name="augtype_Type_14" value=8192 <?echo ($augtype & 8192) ? "checked" : ""?>> Type 14<br/>
+ <input type="checkbox" name="augtype_Type_15" value=16384 <?echo ($augtype & 16384) ? "checked" : ""?>> Type 15<br/>
+ <input type="checkbox" name="augtype_Type_16" value=32768 <?echo ($augtype & 32768) ? "checked" : ""?>> Type 16<br/>
+ </td>
+ <td valign="top" align="left"><br/>
+ <input type="checkbox" name="augtype_Type_17" value=65536 <?echo ($augtype & 65536) ? "checked" : ""?>> Type 17<br/>
+ <input type="checkbox" name="augtype_Type_18" value=131072 <?echo ($augtype & 131072) ? "checked" : ""?>> Type 18<br/>
+ <input type="checkbox" name="augtype_Type_19" value=262144 <?echo ($augtype & 262144) ? "checked" : ""?>> Type 19<br/>
+ <input type="checkbox" name="augtype_Type_20" value=524288 <?echo ($augtype & 524288) ? "checked" : ""?>> Type 20<br/>
+ </td>
+ <td valign="top" align="left"><br/>
<input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b><br/>
</td>
</tr>
--- "lib\items.php"
+++ "lib\items.php"
@@ -358,6 +358,14 @@
if (isset($_POST['augtype_Type_10'])) $augtype = $augtype+512;
if (isset($_POST['augtype_Type_11'])) $augtype = $augtype+1024;
if (isset($_POST['augtype_Type_12'])) $augtype = $augtype+2048;
+ if (isset($_POST['augtype_Type_13'])) $augtype = $augtype+4096;
+ if (isset($_POST['augtype_Type_14'])) $augtype = $augtype+8192;
+ if (isset($_POST['augtype_Type_15'])) $augtype = $augtype+16384;
+ if (isset($_POST['augtype_Type_16'])) $augtype = $augtype+32768;
+ if (isset($_POST['augtype_Type_17'])) $augtype = $augtype+65536;
+ if (isset($_POST['augtype_Type_18'])) $augtype = $augtype+131072;
+ if (isset($_POST['augtype_Type_19'])) $augtype = $augtype+262144;
+ if (isset($_POST['augtype_Type_20'])) $augtype = $augtype+524288;
$fields = '';
if ($item['slots'] != $slots) $fields .= "slots=\"$slots\", ";
@@ -682,6 +690,14 @@
if (isset($_POST['augtype_Type_10'])) $augtype = $augtype+512;
if (isset($_POST['augtype_Type_11'])) $augtype = $augtype+1024;
if (isset($_POST['augtype_Type_12'])) $augtype = $augtype+2048;
+ if (isset($_POST['augtype_Type_13'])) $augtype = $augtype+4096;
+ if (isset($_POST['augtype_Type_14'])) $augtype = $augtype+8192;
+ if (isset($_POST['augtype_Type_15'])) $augtype = $augtype+16384;
+ if (isset($_POST['augtype_Type_16'])) $augtype = $augtype+32768;
+ if (isset($_POST['augtype_Type_17'])) $augtype = $augtype+65536;
+ if (isset($_POST['augtype_Type_18'])) $augtype = $augtype+131072;
+ if (isset($_POST['augtype_Type_19'])) $augtype = $augtype+262144;
+ if (isset($_POST['augtype_Type_20'])) $augtype = $augtype+524288;
$fields = '';
$fields .= "slots=\"$slots\", ";
Thank you for this wonderful tool :)
Created a random item with it :)
http://i.imgur.com/0jUFW01.png
joligario
10-04-2013, 05:44 PM
Thank you for the contribution. I'll get this in tonight.
NatedogEZ
11-11-2013, 06:10 AM
A few more edits / tweaks that might seem useful / helpful for people.
Augtypes up to 30
Add "_copy" to items and spells that are copied using the copy button.
(I cant count the number of times I edited the same item because I forgot to copy -- this helps remind you it was copied)
js.tmpl.php
--- "templates\iframes\js.tmpl.php"
+++ "templates\iframes\js.tmpl.php"
@@ -120,5 +120,15 @@
form.augtype_Type_18.checked = form.all_none5.checked ;
form.augtype_Type_19.checked = form.all_none5.checked ;
form.augtype_Type_20.checked = form.all_none5.checked ;
+form.augtype_Type_21.checked = form.all_none5.checked ;
+form.augtype_Type_22.checked = form.all_none5.checked ;
+form.augtype_Type_23.checked = form.all_none5.checked ;
+form.augtype_Type_24.checked = form.all_none5.checked ;
+form.augtype_Type_25.checked = form.all_none5.checked ;
+form.augtype_Type_26.checked = form.all_none5.checked ;
+form.augtype_Type_27.checked = form.all_none5.checked ;
+form.augtype_Type_28.checked = form.all_none5.checked ;
+form.augtype_Type_29.checked = form.all_none5.checked ;
+form.augtype_Type_30.checked = form.all_none5.checked ;
}
</script>
\ No newline at end of file
Add "_copy" to spell name that is copied!
--- "lib\spells.php"
+++ "lib\spells.php"
@@ -184,6 +184,9 @@
$query2 = "INSERT INTO spells_new ($fields, id) SELECT $fields, $newid AS id FROM spells_new WHERE id = '$id'";
$mysql->query_no_result($query2);
+ $query3 = "UPDATE spells_new SET name = concat(Name, '_copy') WHERE id = $newid";
+ $mysql->query_no_result($query3);
+
return $newid;
}
Add the augtypes to the add and edit templates
--- "templates\items\items.add.tmpl.php"
+++ "templates\items\items.add.tmpl.php"
@@ -795,8 +795,6 @@
<input type="checkbox" name="augtype_Type_2" value=2 <?echo ($augtype & 2) ? "checked" : ""?>> Type 2<br/>
<input type="checkbox" name="augtype_Type_3" value=4 <?echo ($augtype & 4) ? "checked" : ""?>> Type 3<br/>
<input type="checkbox" name="augtype_Type_4" value=8 <?echo ($augtype & 8) ? "checked" : ""?>> Type 4<br/>
- </td>
- <td valign="top" align="left"><br/>
<input type="checkbox" name="augtype_Type_5" value=16 <?echo ($augtype & 16) ? "checked" : ""?>> Type 5<br/>
<input type="checkbox" name="augtype_Type_6" value=32 <?echo ($augtype & 32) ? "checked" : ""?>> Type 6<br/>
<input type="checkbox" name="augtype_Type_7" value=64 <?echo ($augtype & 64) ? "checked" : ""?>> Type 7<br/>
@@ -807,8 +805,6 @@
<input type="checkbox" name="augtype_Type_10" value=512 <?echo ($augtype & 512) ? "checked" : ""?>> Type 10<br/>
<input type="checkbox" name="augtype_Type_11" value=1024 <?echo ($augtype & 1024) ? "checked" : ""?>> Type 11<br/>
<input type="checkbox" name="augtype_Type_12" value=2048 <?echo ($augtype & 2048) ? "checked" : ""?>> Type 12<br/>
- </td>
- <td valign="top" align="left"><br/>
<input type="checkbox" name="augtype_Type_13" value=4096 <?echo ($augtype & 4096) ? "checked" : ""?>> Type 13<br/>
<input type="checkbox" name="augtype_Type_14" value=8192 <?echo ($augtype & 8192) ? "checked" : ""?>> Type 14<br/>
<input type="checkbox" name="augtype_Type_15" value=16384 <?echo ($augtype & 16384) ? "checked" : ""?>> Type 15<br/>
@@ -819,9 +815,22 @@
<input type="checkbox" name="augtype_Type_18" value=131072 <?echo ($augtype & 131072) ? "checked" : ""?>> Type 18<br/>
<input type="checkbox" name="augtype_Type_19" value=262144 <?echo ($augtype & 262144) ? "checked" : ""?>> Type 19<br/>
<input type="checkbox" name="augtype_Type_20" value=524288 <?echo ($augtype & 524288) ? "checked" : ""?>> Type 20<br/>
+ <input type="checkbox" name="augtype_Type_21" value=1048576 <?echo ($augtype & 1048576) ? "checked" : ""?>> Type 21<br/>
+ <input type="checkbox" name="augtype_Type_22" value=2097152 <?echo ($augtype & 2097152) ? "checked" : ""?>> Type 22<br/>
+ <input type="checkbox" name="augtype_Type_23" value=4194304 <?echo ($augtype & 4194304) ? "checked" : ""?>> Type 23<br/>
+ <input type="checkbox" name="augtype_Type_24" value=8388608 <?echo ($augtype & 8388608) ? "checked" : ""?>> Type 24<br/>
</td>
<td valign="top" align="left"><br/>
- <input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b>
+ <input type="checkbox" name="augtype_Type_25" value=16777216 <?echo ($augtype & 16777216) ? "checked" : ""?>> Type 25<br/>
+ <input type="checkbox" name="augtype_Type_26" value=33554432 <?echo ($augtype & 33554432) ? "checked" : ""?>> Type 26<br/>
+ <input type="checkbox" name="augtype_Type_27" value=67108864 <?echo ($augtype & 67108864) ? "checked" : ""?>> Type 27<br/>
+ <input type="checkbox" name="augtype_Type_28" value=134217728 <?echo ($augtype & 134217728) ? "checked" : ""?>> Type 28<br/>
+ <input type="checkbox" name="augtype_Type_29" value=268435456 <?echo ($augtype & 268435456) ? "checked" : ""?>> Type 29<br/>
+ <input type="checkbox" name="augtype_Type_30" value=536870912 <?echo ($augtype & 536870912) ? "checked" : ""?>> Type 30<br/>
+ </td>
+ <td valign="top" align="left">
+ <br>
+ <input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b><br/>
</td>
</tr>
</table>
--- "templates\items\items.edit.tmpl.php"
+++ "templates\items\items.edit.tmpl.php"
@@ -738,8 +738,6 @@
<input type="checkbox" name="augtype_Type_2" value=2 <?echo ($augtype & 2) ? "checked" : ""?>> Type 2<br/>
<input type="checkbox" name="augtype_Type_3" value=4 <?echo ($augtype & 4) ? "checked" : ""?>> Type 3<br/>
<input type="checkbox" name="augtype_Type_4" value=8 <?echo ($augtype & 8) ? "checked" : ""?>> Type 4<br/>
- </td>
- <td valign="top" align="left"><br/>
<input type="checkbox" name="augtype_Type_5" value=16 <?echo ($augtype & 16) ? "checked" : ""?>> Type 5<br/>
<input type="checkbox" name="augtype_Type_6" value=32 <?echo ($augtype & 32) ? "checked" : ""?>> Type 6<br/>
<input type="checkbox" name="augtype_Type_7" value=64 <?echo ($augtype & 64) ? "checked" : ""?>> Type 7<br/>
@@ -750,8 +748,6 @@
<input type="checkbox" name="augtype_Type_10" value=512 <?echo ($augtype & 512) ? "checked" : ""?>> Type 10<br/>
<input type="checkbox" name="augtype_Type_11" value=1024 <?echo ($augtype & 1024) ? "checked" : ""?>> Type 11<br/>
<input type="checkbox" name="augtype_Type_12" value=2048 <?echo ($augtype & 2048) ? "checked" : ""?>> Type 12<br/>
- </td>
- <td valign="top" align="left"><br/>
<input type="checkbox" name="augtype_Type_13" value=4096 <?echo ($augtype & 4096) ? "checked" : ""?>> Type 13<br/>
<input type="checkbox" name="augtype_Type_14" value=8192 <?echo ($augtype & 8192) ? "checked" : ""?>> Type 14<br/>
<input type="checkbox" name="augtype_Type_15" value=16384 <?echo ($augtype & 16384) ? "checked" : ""?>> Type 15<br/>
@@ -762,9 +758,22 @@
<input type="checkbox" name="augtype_Type_18" value=131072 <?echo ($augtype & 131072) ? "checked" : ""?>> Type 18<br/>
<input type="checkbox" name="augtype_Type_19" value=262144 <?echo ($augtype & 262144) ? "checked" : ""?>> Type 19<br/>
<input type="checkbox" name="augtype_Type_20" value=524288 <?echo ($augtype & 524288) ? "checked" : ""?>> Type 20<br/>
+ <input type="checkbox" name="augtype_Type_21" value=1048576 <?echo ($augtype & 1048576) ? "checked" : ""?>> Type 21<br/>
+ <input type="checkbox" name="augtype_Type_22" value=2097152 <?echo ($augtype & 2097152) ? "checked" : ""?>> Type 22<br/>
+ <input type="checkbox" name="augtype_Type_23" value=4194304 <?echo ($augtype & 4194304) ? "checked" : ""?>> Type 23<br/>
+ <input type="checkbox" name="augtype_Type_24" value=8388608 <?echo ($augtype & 8388608) ? "checked" : ""?>> Type 24<br/>
</td>
<td valign="top" align="left"><br/>
- <input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b>
+ <input type="checkbox" name="augtype_Type_25" value=16777216 <?echo ($augtype & 16777216) ? "checked" : ""?>> Type 25<br/>
+ <input type="checkbox" name="augtype_Type_26" value=33554432 <?echo ($augtype & 33554432) ? "checked" : ""?>> Type 26<br/>
+ <input type="checkbox" name="augtype_Type_27" value=67108864 <?echo ($augtype & 67108864) ? "checked" : ""?>> Type 27<br/>
+ <input type="checkbox" name="augtype_Type_28" value=134217728 <?echo ($augtype & 134217728) ? "checked" : ""?>> Type 28<br/>
+ <input type="checkbox" name="augtype_Type_29" value=268435456 <?echo ($augtype & 268435456) ? "checked" : ""?>> Type 29<br/>
+ <input type="checkbox" name="augtype_Type_30" value=536870912 <?echo ($augtype & 536870912) ? "checked" : ""?>> Type 30<br/>
+ </td>
+ <td valign="top" align="left">
+ <br>
+ <input type="checkbox" name="all_none5" value="yes" onClick="Check5(document.item_edit)"> <b>All/None</b><br/>
</td>
</tr>
</table>
How all the augtypes look
http://i.imgur.com/YlZ7E1c.png
New Augtypes and add "_copy" to the name of copied items
--- "lib\items.php"
+++ "lib\items.php"
@@ -366,6 +366,17 @@
if (isset($_POST['augtype_Type_18'])) $augtype = $augtype+131072;
if (isset($_POST['augtype_Type_19'])) $augtype = $augtype+262144;
if (isset($_POST['augtype_Type_20'])) $augtype = $augtype+524288;
+ if (isset($_POST['augtype_Type_21'])) $augtype = $augtype+1048576;
+ if (isset($_POST['augtype_Type_22'])) $augtype = $augtype+2097152;
+ if (isset($_POST['augtype_Type_23'])) $augtype = $augtype+4194304;
+ if (isset($_POST['augtype_Type_24'])) $augtype = $augtype+8388608;
+ if (isset($_POST['augtype_Type_25'])) $augtype = $augtype+16777216;
+ if (isset($_POST['augtype_Type_26'])) $augtype = $augtype+33554432;
+ if (isset($_POST['augtype_Type_27'])) $augtype = $augtype+67108864;
+ if (isset($_POST['augtype_Type_28'])) $augtype = $augtype+134217728;
+ if (isset($_POST['augtype_Type_29'])) $augtype = $augtype+268435456;
+ if (isset($_POST['augtype_Type_30'])) $augtype = $augtype+536870912;
+
$fields = '';
if ($item['slots'] != $slots) $fields .= "slots=\"$slots\", ";
@@ -568,7 +579,7 @@
$mysql->query_no_result($query);
$query2 = "INSERT INTO items (minstatus, Name, aagi, ac, accuracy, acha, adex, aint, artifactflag, asta, astr, attack, augrestrict, augslot1type, augslot1visible, augslot2type, augslot2visible, augslot3type, augslot3visible, augslot4type, augslot4visible, augslot5type, augslot5visible, augtype, avoidance, awis, bagsize, bagslots, bagtype, bagwr, banedmgamt, banedmgraceamt, banedmgbody, banedmgrace, bardtype, bardvalue, book, casttime, casttime_, charmfile, charmfileid, classes, color, combateffects, extradmgskill, extradmgamt, price, cr, damage, damageshield, deity, delay, augdistiller, dotshielding, dr, clicktype, clicklevel2, elemdmgtype, elemdmgamt, endur, factionamt1, factionamt2, factionamt3, factionamt4, factionmod1, factionmod2, factionmod3, factionmod4, filename, focuseffect, fr, fvnodrop, haste, clicklevel, hp, regen, icon, idfile, itemclass, itemtype, ldonprice, ldontheme, ldonsold, light, lore, loregroup, magic, mana, manaregen, enduranceregen, material, maxcharges, mr, nodrop, norent, pendingloreflag, pr, procrate, races, `range`, reclevel, recskill, reqlevel, sellrate, shielding, size, skillmodtype, skillmodvalue, slots, clickeffect, spellshield, strikethrough, stunresist, summonedflag, tradeskills, favor, weight, UNK012, UNK013, benefitflag, UNK054, UNK059, booktype, recastdelay, recasttype, guildfavor, UNK123, UNK124, attuneable, nopet, updated, comment, UNK127, pointtype, potionbelt, potionbeltslots, stacksize, notransfer, stackable, UNK134, UNK137, proceffect, proctype, proclevel2, proclevel, UNK142, worneffect, worntype, wornlevel2, wornlevel, UNK147, focustype, focuslevel2, focuslevel, UNK152, scrolleffect, scrolltype, scrolllevel2, scrolllevel, UNK157, serialized, verified, serialization, source, UNK033, lorefile, UNK014, svcorruption, UNK038, UNK060, augslot1unk2, augslot2unk2, augslot3unk2, augslot4unk2, augslot5unk2, UNK120, UNK121, questitemflag, UNK132, clickunk5, clickunk6, clickunk7, procunk1, procunk2, procunk3, procunk4, procunk6, procunk7, wornunk1, wornunk2, wornunk3, wornunk4, wornunk5, wornunk6, wornunk7, focusunk1, focusunk2, focusunk3, focusunk4, focusunk5, focusunk6, focusunk7, scrollunk1, scrollunk2, scrollunk3, scrollunk4, scrollunk5, scrollunk6, scrollunk7, UNK193, purity, evolvinglevel, clickname, procname, wornname, focusname, scrollname, dsmitigation, heroic_str, heroic_int, heroic_wis, heroic_agi, heroic_dex, heroic_sta, heroic_cha, heroic_pr, heroic_dr, heroic_fr, heroic_cr, heroic_mr, heroic_svcorrup, healamt, spelldmg, clairvoyance, backstabdmg, created, elitematerial, ldonsellbackrate, scriptfileid, expendablearrow, powersourcecapacity, bardeffect, bardeffecttype, bardlevel2, bardlevel, bardunk1, bardunk2, bardunk3, bardunk4,bardunk5, bardname, bardunk7, UNK214)
- SELECT minstatus, Name, aagi, ac, accuracy, acha, adex, aint, artifactflag, asta, astr, attack, augrestrict, augslot1type, augslot1visible, augslot2type, augslot2visible, augslot3type, augslot3visible, augslot4type, augslot4visible, augslot5type, augslot5visible, augtype, avoidance, awis, bagsize, bagslots, bagtype, bagwr, banedmgamt, banedmgraceamt, banedmgbody, banedmgrace, bardtype, bardvalue, book, casttime, casttime_, charmfile, charmfileid, classes, color, combateffects, extradmgskill, extradmgamt, price, cr, damage, damageshield, deity, delay, augdistiller, dotshielding, dr, clicktype, clicklevel2, elemdmgtype, elemdmgamt, endur, factionamt1, factionamt2, factionamt3, factionamt4, factionmod1, factionmod2, factionmod3, factionmod4, filename, focuseffect, fr, fvnodrop, haste, clicklevel, hp, regen, icon, idfile, itemclass, itemtype, ldonprice, ldontheme, ldonsold, light, lore, loregroup, magic, mana, manaregen, enduranceregen, material, maxcharges, mr, nodrop, norent, pendingloreflag, pr, procrate, races, `range`, reclevel, recskill, reqlevel, sellrate, shielding, size, skillmodtype, skillmodvalue, slots, clickeffect, spellshield, strikethrough, stunresist, summonedflag, tradeskills, favor, weight, UNK012, UNK013, benefitflag, UNK054, UNK059, booktype, recastdelay, recasttype, guildfavor, UNK123, UNK124, attuneable, nopet, updated, comment, UNK127, pointtype, potionbelt, potionbeltslots, stacksize, notransfer, stackable, UNK134, UNK137, proceffect, proctype, proclevel2, proclevel, UNK142, worneffect, worntype, wornlevel2, wornlevel, UNK147, focustype, focuslevel2, focuslevel, UNK152, scrolleffect, scrolltype, scrolllevel2, scrolllevel, UNK157, serialized, verified, serialization, source, UNK033, lorefile, UNK014, svcorruption, UNK038, UNK060, augslot1unk2, augslot2unk2, augslot3unk2, augslot4unk2, augslot5unk2, UNK120, UNK121, questitemflag, UNK132, clickunk5, clickunk6, clickunk7, procunk1, procunk2, procunk3, procunk4, procunk6, procunk7, wornunk1, wornunk2, wornunk3, wornunk4, wornunk5, wornunk6, wornunk7, focusunk1, focusunk2, focusunk3, focusunk4, focusunk5, focusunk6, focusunk7, scrollunk1, scrollunk2, scrollunk3, scrollunk4, scrollunk5, scrollunk6, scrollunk7, UNK193, purity, evolvinglevel, clickname, procname, wornname, focusname, scrollname, dsmitigation, heroic_str, heroic_int, heroic_wis, heroic_agi, heroic_dex, heroic_sta, heroic_cha, heroic_pr, heroic_dr, heroic_fr, heroic_cr, heroic_mr, heroic_svcorrup, healamt, spelldmg, clairvoyance, backstabdmg, created, elitematerial, ldonsellbackrate, scriptfileid, expendablearrow, powersourcecapacity, bardeffect, bardeffecttype, bardlevel2, bardlevel, bardunk1, bardunk2, bardunk3, bardunk4, bardunk5, bardname, bardunk7, UNK214 FROM items where id=$id";
+ SELECT minstatus, concat(Name, '_copy'), aagi, ac, accuracy, acha, adex, aint, artifactflag, asta, astr, attack, augrestrict, augslot1type, augslot1visible, augslot2type, augslot2visible, augslot3type, augslot3visible, augslot4type, augslot4visible, augslot5type, augslot5visible, augtype, avoidance, awis, bagsize, bagslots, bagtype, bagwr, banedmgamt, banedmgraceamt, banedmgbody, banedmgrace, bardtype, bardvalue, book, casttime, casttime_, charmfile, charmfileid, classes, color, combateffects, extradmgskill, extradmgamt, price, cr, damage, damageshield, deity, delay, augdistiller, dotshielding, dr, clicktype, clicklevel2, elemdmgtype, elemdmgamt, endur, factionamt1, factionamt2, factionamt3, factionamt4, factionmod1, factionmod2, factionmod3, factionmod4, filename, focuseffect, fr, fvnodrop, haste, clicklevel, hp, regen, icon, idfile, itemclass, itemtype, ldonprice, ldontheme, ldonsold, light, lore, loregroup, magic, mana, manaregen, enduranceregen, material, maxcharges, mr, nodrop, norent, pendingloreflag, pr, procrate, races, `range`, reclevel, recskill, reqlevel, sellrate, shielding, size, skillmodtype, skillmodvalue, slots, clickeffect, spellshield, strikethrough, stunresist, summonedflag, tradeskills, favor, weight, UNK012, UNK013, benefitflag, UNK054, UNK059, booktype, recastdelay, recasttype, guildfavor, UNK123, UNK124, attuneable, nopet, updated, comment, UNK127, pointtype, potionbelt, potionbeltslots, stacksize, notransfer, stackable, UNK134, UNK137, proceffect, proctype, proclevel2, proclevel, UNK142, worneffect, worntype, wornlevel2, wornlevel, UNK147, focustype, focuslevel2, focuslevel, UNK152, scrolleffect, scrolltype, scrolllevel2, scrolllevel, UNK157, serialized, verified, serialization, source, UNK033, lorefile, UNK014, svcorruption, UNK038, UNK060, augslot1unk2, augslot2unk2, augslot3unk2, augslot4unk2, augslot5unk2, UNK120, UNK121, questitemflag, UNK132, clickunk5, clickunk6, clickunk7, procunk1, procunk2, procunk3, procunk4, procunk6, procunk7, wornunk1, wornunk2, wornunk3, wornunk4, wornunk5, wornunk6, wornunk7, focusunk1, focusunk2, focusunk3, focusunk4, focusunk5, focusunk6, focusunk7, scrollunk1, scrollunk2, scrollunk3, scrollunk4, scrollunk5, scrollunk6, scrollunk7, UNK193, purity, evolvinglevel, clickname, procname, wornname, focusname, scrollname, dsmitigation, heroic_str, heroic_int, heroic_wis, heroic_agi, heroic_dex, heroic_sta, heroic_cha, heroic_pr, heroic_dr, heroic_fr, heroic_cr, heroic_mr, heroic_svcorrup, healamt, spelldmg, clairvoyance, backstabdmg, created, elitematerial, ldonsellbackrate, scriptfileid, expendablearrow, powersourcecapacity, bardeffect, bardeffecttype, bardlevel2, bardlevel, bardunk1, bardunk2, bardunk3, bardunk4, bardunk5, bardname, bardunk7, UNK214 FROM items where id=$id";
$mysql->query_no_result($query2);
$query3 = "SELECT max(id) AS iid FROM items";
@@ -698,6 +709,16 @@
if (isset($_POST['augtype_Type_18'])) $augtype = $augtype+131072;
if (isset($_POST['augtype_Type_19'])) $augtype = $augtype+262144;
if (isset($_POST['augtype_Type_20'])) $augtype = $augtype+524288;
+ if (isset($_POST['augtype_Type_21'])) $augtype = $augtype+1048576;
+ if (isset($_POST['augtype_Type_22'])) $augtype = $augtype+2097152;
+ if (isset($_POST['augtype_Type_23'])) $augtype = $augtype+4194304;
+ if (isset($_POST['augtype_Type_24'])) $augtype = $augtype+8388608;
+ if (isset($_POST['augtype_Type_25'])) $augtype = $augtype+16777216;
+ if (isset($_POST['augtype_Type_26'])) $augtype = $augtype+33554432;
+ if (isset($_POST['augtype_Type_27'])) $augtype = $augtype+67108864;
+ if (isset($_POST['augtype_Type_28'])) $augtype = $augtype+134217728;
+ if (isset($_POST['augtype_Type_29'])) $augtype = $augtype+268435456;
+ if (isset($_POST['augtype_Type_30'])) $augtype = $augtype+536870912;
$fields = '';
$fields .= "slots=\"$slots\", ";
http://img513.imageshack.us/img513/6880/rcmm.png
This is just showing that an item can have up to 30 for augtype heh...
http://i.imgur.com/g1rPzvB.png
There is a way to have "Any augment type" which is Augtype -1 but I didn't add that.. but if someone else wants to add it that would be neato :)
joligario
11-11-2013, 07:33 PM
Added with some very minor changes. Thanks!
Will have to discuss the -1 Augment type at some time as well.
Kingly_Krab
01-06-2014, 11:53 PM
I'm currently having an issue with the PEQ Editor not having a login popup or anything, it is just a picture and the background, nothing more.
http://i.imgur.com/egYdJXt.png
joligario
01-07-2014, 08:15 AM
Discussed above and in the readme: most likely you forgot to turn on short open tags.
NatedogEZ
02-02-2014, 11:53 PM
Would adding spawn2.version to the zonelist be something that would be helpful for anyone?
I have code for it.. just not sure if its too custom or whatever... :p
Here is what it looks like.... note I added $version (spawn2) to the searchbar for NPC editing
http://i.imgur.com/QFTKiZZ.png
cavedude
02-02-2014, 11:59 PM
I have wanted to do something like that, it certainly will help for LDoN. I would definitely be interested in that code for inclusion in SVN.
NatedogEZ
02-03-2014, 12:41 AM
The way I wrote it only works correctly with ... $npc_list = 2;
Gotta figure a way out to make it work with the other way as well.. but my brain huts from lack of sleep.. :p
sorvani
02-03-2014, 01:14 AM
Yes, please. I been tinkering with Ikkinz stuff lately and it is apain in the ass to keep some things straight. But how would this code handle quest spawned? still have to hit the base version 0?
cavedude
02-03-2014, 01:44 PM
sorvani: Yes, I would have them under version 0 since they would be npc_types without a spawnpoint in the DB.
NatedogEZ: Share whatever you feel comfortable with. If it still needs work, one of us can finish it up.
NatedogEZ
02-03-2014, 08:16 PM
I did something kinda stupid but it is sort of working in my favor lol... was using the variable $version for spawn2 version in the searchbar.. and forgot that npc_types has a version in the field list that uses it as the variable $version (doh)
The default database already has version set to npc_types in different versions which really helps and might be a better way to separate them.. but zone version
I think what I wrote though needs to be reconfigured to separate the variables.. so yeah.. doh :p
cavedude
02-03-2014, 09:38 PM
Something to keep in mind. version in spawn2 is hard-fast. The server uses it so it has to be correct. However, version in npc_types is only used by us for organizational sake. It doesn't necessarily have to be correct. Meaning, a npc_type could have version in npc_types set to 0, even though it is in version 3 of the zone.
Also, a single NPC can be in multiple versions of a zone if it has multiple spawn points. That's where things get tricky with this :I
Rhodan
05-17-2014, 07:22 AM
Is there something wrong with the svn? When I try to check out I get
Checkout from https://code.google.com/p/peqphpeditor, revision HEAD, Fully recursive, Externals included
Unable to connect to a repository at URL
'https://code.google.com/p/peqphpeditor'
Unexpected HTTP status 405 'Method Not Allowed' on '/p/peqphpeditor'
Additional errors:
OPTIONS request on '/p/peqphpeditor' failed: 405 Method Not Allowed
Thanks!
joligario
05-17-2014, 07:36 AM
I'm not having any issues with the SVN. Perhaps you had a connection issue.
Rhodan
05-17-2014, 07:49 AM
I was able to update quests from svn. Don't know why peqeditor wouldn't work.
Get it from http://peqtgc.com/releases instead of SVN.
Rhodan
05-18-2014, 09:54 AM
Got it! And now the SVN works from the resulting directory too.
There seems to be something wrong with the login routine though. I always get an error
Invalid login attempt. Bad password from IP: '127.0.0.1'. Username: 'admin' Password: 'password'.; -- admin (18-May-14 15:36:24)
But I checked and the password in peq_admin does match md5('password')
odds bodkins!
Found it in another post. XAMPP defaults to short tags off, turned them on and all is well.
hayward6
08-05-2014, 09:21 AM
Does anyone know how I fix this? THis is my first time with the editor... Everything seems setup correctly, but that logs directory doesn't exist on my server... Even after I created it and provided write access to it I couldn't work this out. Thank you!
Could not create logs/sql_log_08-2014.sql! Make sure the logs directory is writeable by your webserver.
joligario
08-05-2014, 11:22 AM
What is the logs and parent chmod?
hayward6
08-05-2014, 11:35 AM
What is the logs and parent chmod?
I have been playing around with several and the login screen itself "The pfpeditor folder" likes 755, but nothing I do to the logs folder seems to help.
I have no idea... I have even moved the log location in the config file and it's the same thing. There must be a setting somewhere that allows the webserver to write, and until I find that... It won't work.
joligario
08-06-2014, 12:00 PM
Yeah, 755 the folders and 644 the files (if I remember right). Are you running with a different user than the public html owner? Is it outside your public html folder with a symlink?
EDIT: How about give me an ls -al from your editor directory.
hayward6
08-06-2014, 12:43 PM
EDIT: How about give me an ls -al from your editor directory.
It's a little more broken than it was because I had to redo the database and source, but the log issue is still there... I don't know why that spells file is there...
eqemu@debian:/var/www/phpeditor$ ls -al
total 64
drwxr-xr-x 11 eqemu eqemu 4096 Aug 5 09:06 .
drwxr-xr-x 3 root root 4096 Aug 5 07:32 ..
drwxr-xr-x 3 eqemu eqemu 4096 Dec 7 2013 classes
-rw-r--r-- 1 eqemu eqemu 2146 Aug 5 11:50 config.php
-rw-r--r-- 1 eqemu eqemu 2130 Aug 5 09:05 config.php.dist
drwxr-xr-x 3 eqemu eqemu 4096 Aug 28 2013 css
-rw-r--r-- 1 eqemu eqemu 716 Sep 27 2013 .htaccess
drwxr-xr-x 3 eqemu eqemu 4096 May 3 07:00 images
-rw-r--r-- 1 eqemu eqemu 3515 Jul 23 07:00 index.php
drwxr-xr-x 3 eqemu eqemu 4096 Jul 23 07:00 lib
drwxr-xr-x 3 eqemu eqemu 4096 Nov 25 2013 logs
drwxr-xr-x 3 eqemu eqemu 4096 Jul 23 07:00 perl
-rw-r--r-- 1 eqemu eqemu 1303 Dec 5 2013 README.txt
-rw-r--r-- 1 eqemu eqemu 0 Jun 30 2013 spells_us.txt
drwxr-xr-x 3 eqemu eqemu 4096 Jun 30 2013 sql
drwxr-xr-x 6 eqemu eqemu 4096 Jul 23 07:00 .svn
drwxr-xr-x 32 eqemu eqemu 4096 May 3 07:00 templates
eqemu@debian:/var/www/phpeditor$
hayward6
08-06-2014, 12:55 PM
I was able to get it working by turning off sql logging, so that is where the problem is...
joligario
08-06-2014, 01:03 PM
I wonder if the problem may be that root owns your parent directory (www). Only guessing at this point.
What is inside your logs folder? Can I get an ls -al from there?
hayward6
08-06-2014, 01:24 PM
There is nothing inside the logs folder and I had to create that folder myself. I may be wrong but I believe that www folder was part of the debain deployment, so maybe that is the problem. I could change ownership of it... Let me try that.
hayward6
08-06-2014, 01:26 PM
Oh sorry ls-la... yeah it looks like this...
eqemu@debian:/var/www/phpeditor/logs$ ls -la
total 12
drwxr-xr-x 3 eqemu eqemu 4096 Nov 25 2013 .
drwxr-xr-x 11 eqemu eqemu 4096 Aug 5 09:06 ..
drwxr-xr-x 6 eqemu eqemu 4096 Jul 23 07:00 .svn
eqemu@debian:/var/www/phpeditor/logs$
hayward6
08-06-2014, 01:35 PM
That didn't help :( I would run it with logs off, but it seems that the commands don't execute unless the log is written.
eqemu@debian:/var$ ls -la
total 52
drwxr-xr-x 13 root root 4096 Aug 3 20:35 .
drwxr-xr-x 23 root root 4096 Aug 5 09:23 ..
drwxr-xr-x 2 root root 4096 Aug 5 06:25 backups
drwxr-xr-x 10 root root 4096 Aug 6 07:15 cache
drwxr-xr-x 31 root root 4096 Aug 3 20:08 lib
drwxrwsr-x 2 root staff 4096 Jun 11 17:07 local
lrwxrwxrwx 1 root root 9 Aug 3 19:46 lock -> /run/lock
drwxr-xr-x 9 root root 4096 Aug 6 06:25 log
drwxrwsr-x 2 root mail 4096 Aug 6 13:00 mail
drwxr-xr-x 2 root root 4096 Aug 3 19:46 opt
lrwxrwxrwx 1 root root 4 Aug 3 19:46 run -> /run
drwxr-xr-x 5 root root 4096 Aug 3 19:51 spool
drwxrwxrwt 2 root root 4096 Aug 3 20:35 tmp
drwx------ 3 root bin 4096 Aug 5 20:29 webmin
drwxr-xr-x 3 eqemu eqemu 4096 Aug 5 07:32 www
eqemu@debian:/var$
joligario
08-06-2014, 01:48 PM
... I may be wrong but I believe that www folder was part of the debain deployment...
I also assumed that as it didn't look user specific. Don't forget to put it back!
hayward6
08-06-2014, 01:53 PM
I also assumed that as it didn't look user specific. Don't forget to put it back!
Yeah I restored it. The only think in there is the phpeditor though.
joligario
08-06-2014, 05:31 PM
I just created a debian 7 VM and the default for that folder is owned by root and the chmod is initially set low. I recommend setting /var/www back to root:root with a chmod of 0777. Then, any folders inside can be 0755 while the files are 0644 and should be owned by (in your case) eqemu:eqemu. See if that works.
hayward6
08-07-2014, 09:53 AM
I just created a debian 7 VM and the default for that folder is owned by root and the chmod is initially set low. I recommend setting /var/www back to root:root with a chmod of 0777. Then, any folders inside can be 0755 while the files are 0644 and should be owned by (in your case) eqemu:eqemu. See if that works.
I don't understand how to do what you are saying... I can set the permissions on folders and files, but the file its writing doesn't exist, and seems to be created each time a new change is made while having the time and date in the file name... I do have the editor working now but I get an error everytime I commit a change.
I changed www back to 777. You're saying that phpeditor should be 755, so I will try that.
hayward6
08-07-2014, 10:06 AM
So here is how I have it setup now
drwxrwxrwx 3 root root 4096 Aug 5 07:32 www
drwxr-xr-x 11 eqemu eqemu 4096 Aug 7 09:38 phpeditor
drwxr-xr-x 3 eqemu eqemu 4096 Nov 25 2013 logs
And then there is nothing in the log folder because it cannot write.
Any type of edit gives me this error. I have also moved the log location around to directly into the peq/logs folder and I get the same result. For some reason php is not privileged...
Could not create /var/www/logs/sql_log_08-2014.sql! Make sure the logs directory is writeable by your webserver.
joligario
08-07-2014, 11:47 AM
Ok, I think I'm understanding a little more with permissions. Apache is run as www-data on debian. Try these:
chown root:www-data /var/www
cd /var/www
chown -R www-data:www-data *
ls -al
EDIT: In fact, you would probably get away with just having www-data own the logs folder.
hayward6
08-07-2014, 12:23 PM
I put in those changes but it didn't help. Would I need to restart anything for the changes to take hold?
Also, what port does this travel in on? I would like to be able to hit this editor remote.
hayward6
08-07-2014, 12:26 PM
Sorry here is what we did.
eqemu@debian:/var/www$ ls -al
total 20
drwxrwxrwx 3 root www-data 4096 Aug 5 07:32 .
drwxr-xr-x 13 root root 4096 Aug 3 20:35 ..
-rw-r--r-- 1 www-data www-data 177 Aug 3 20:01 index.html
-rw-r--r-- 1 www-data www-data 20 Aug 3 20:04 info.php
drwxr-xr-x 11 www-data www-data 4096 Aug 7 09:38 phpeditor
eqemu@debian:/var/www$
eqemu@debian:/var/www/phpeditor$ ls -al
total 21976
drwxr-xr-x 11 www-data www-data 4096 Aug 7 09:38 .
drwxrwxrwx 3 root www-data 4096 Aug 5 07:32 ..
drwxr-xr-x 3 www-data www-data 4096 Dec 7 2013 classes
-rw-r--r-- 1 www-data www-data 2139 Aug 7 10:10 config.php
-rw-r--r-- 1 www-data www-data 2130 Aug 5 09:05 config.php.dist
drwxr-xr-x 3 www-data www-data 4096 Aug 28 2013 css
-rw-r--r-- 1 www-data www-data 716 Sep 27 2013 .htaccess
drwxr-xr-x 3 www-data www-data 4096 May 3 07:00 images
-rw-r--r-- 1 www-data www-data 3515 Jul 23 07:00 index.php
drwxr-xr-x 3 www-data www-data 4096 Jul 23 07:00 lib
drwxr-xr-x 3 www-data www-data 4096 Nov 25 2013 logs
drwxr-xr-x 3 www-data www-data 4096 Jul 23 07:00 perl
-rw-r--r-- 1 www-data www-data 1303 Dec 5 2013 README.txt
-rwxrwxrwx 1 www-data www-data 22436418 Aug 7 09:38 spells_us.txt
drwxr-xr-x 3 www-data www-data 4096 Jun 30 2013 sql
drwxr-xr-x 6 www-data www-data 4096 Jul 23 07:00 .svn
drwxr-xr-x 32 www-data www-data 4096 May 3 07:00 templates
eqemu@debian:/var/www/phpeditor$
joligario
08-07-2014, 12:33 PM
Standard http is on port 80.
Not sure why it wouldn't be able to write if it is the owner... Try doing a chmod 0770 on just the logs folder.
hayward6
08-07-2014, 01:02 PM
Standard http is on port 80.
Not sure why it wouldn't be able to write if it is the owner... Try doing a chmod 0770 on just the logs folder.
Sweet, no more logging into my home pc to try it out! Remote access is working :)
770 didn't help either...
joligario
08-07-2014, 01:58 PM
I'm at a loss then. We must be missing something else.
Shin Noir
08-08-2014, 12:47 AM
This is using my tutorial right?
You followed step 22? http://wiki.eqemulator.org/p?EQEmu_on_Debian_7_Virtualbox
I have it working with those steps, from start to end. I didn't need to chown the directory or anything., just chmod 777 (or 770 or whatever, 777 due to laziness and I never plan to forward port 80 so it's a LAN only accessible network spot).
TECHNICAL STUFF FOLLOWING
by default debian creates /var/www/ as the htdocs root default vhost entry.
This is set inside /etc/apache2/sites-available/default file.
files inside /var/www/ can be root and readable, since init.d for apache2 is ran as root and www-data (you can verify this by typing $ "ps aux | grep apache2" and note the left side for user executing the binaries.)
hayward6
08-08-2014, 07:32 AM
This is using my tutorial right?
You followed step 22? http://wiki.eqemulator.org/p?EQEmu_on_Debian_7_Virtualbox
I have it working with those steps, from start to end. I didn't need to chown the directory or anything., just chmod 777 (or 770 or whatever, 777 due to laziness and I never plan to forward port 80 so it's a LAN only accessible network spot).
TECHNICAL STUFF FOLLOWING
by default debian creates /var/www/ as the htdocs root default vhost entry.
This is set inside /etc/apache2/sites-available/default file.
files inside /var/www/ can be root and readable, since init.d for apache2 is ran as root and www-data (you can verify this by typing $ "ps aux | grep apache2" and note the left side for user executing the binaries.)
Many of these steps have been changed since I set it up, and you have added a few commands, so I have only gone back and tried to adapt it. It's working fine, just not logging, which is ok with me... but I would like to figure it out...
I believe you have a couple steps out of place in the latest update. The sudo nano line is followed directly buy a mkdir command rather than what you will do in nano. Just confusing, but I get what you want done here.
22 - Set up PHPEditor (optional)
PHPEditor is a way to edit NPC's, spells, items, and many other aspects of the EQ database. It is recommended to set up for future editing, even if you use other tools along with it.
First, we need to inject the schema file for phpeditor
$ sudo mysql -u eq -p -h 127.0.0.1 eq < /var/www/phpeditor/sql/schema.sql
Go to a web browser, access http://10.0.0.111/phpeditor/
It should note database is not configured.
$ sudo cp /var/www/phpeditor/config.php.dist /var/www/phpeditor/config.php
$ sudo nano /var/www/phpeditor/config.php
$ sudo mkdir /var/www/phpeditor/logs
$ sudo chmod 777 /var/www/phpeditor/logs
change the dbhost, 127.0.0.1
dbuser change to eq
password change to root
db change to eq
Refresh web page, should show prompt
Log in as admin/password
$ sudo chmod 777 /var/www/phpeditor/spells_us.txt
Digitala
08-24-2014, 07:44 AM
Hey!
Does the PEQ Editor work with Angelox Database?
Thx ;)
Kingly_Krab
08-24-2014, 09:04 AM
Hey!
Does the PEQ Editor work with Angelox Database?
Thx ;)
No, because their tables have different column names and they have different table names as well.
Digitala
08-24-2014, 09:11 AM
Ahh okey thx!
So what kinda editor works with Angelox?
Just setting things up with my friend atm and we are trying to find out what to use. Any information is useful.
Thank you =)
wolfwalkereci
08-24-2014, 09:24 AM
If you compared their tables/columns to PEQ you could modify the editor to work. Not to knock on their DB but why use it over PEQ?
Digitala
08-24-2014, 09:27 AM
We are going for the classic everquest, and from my understanding PEQ is missing a lot of that. Lavastorm CT etc.
dimitrious
09-07-2014, 02:39 PM
Hey guys, the editor is pretty amazing and I'm loving the easy-to-use nature of it all.
I am experiencing a problem with the spell copy function though. When I try and copy a spell I get the following error:
Query failed:
INSERT INTO spells_new (name, player_1, teleport_zone, you_cast, other_casts, cast_on_you, cast_on_other, spell_fades, `range`, aoerange, pushback, pushup, cast_time, recovery_time, recast_time, buffdurationformula, buffduration, AEDuration, mana, effect_base_value1, effect_base_value2, effect_base_value3, effect_base_value4, effect_base_value5, effect_base_value6, effect_base_value7, effect_base_value8, effect_base_value9, effect_base_value10, effect_base_value11, effect_base_value12, effect_limit_value1, effect_limit_value2, effect_limit_value3, effect_limit_value4, effect_limit_value5, effect_limit_value6, effect_limit_value7, effect_limit_value8, effect_limit_value9, effect_limit_value10, effect_limit_value11, effect_limit_value12, max1, max2, max3, max4, max5, max6, max7, max8, max9, max10, max11, max12, icon, memicon, components1, components2, components3, components4, component_counts1, component_counts2, component_counts3, component_counts4, NoexpendReagent1, NoexpendReagent2, NoexpendReagent3, NoexpendReagent4, formula1, formula2, formula3, formula4, formula5, formula6, formula7, formula8, formula9, formula10, formula11, formula12, LightType, goodEffect, Activated, resisttype, effectid1, effectid2, effectid3, effectid4, effectid5, effectid6, effectid7, effectid8, effectid9, effectid10, effectid11, effectid12, targettype, basediff, skill, zonetype, EnvironmentType, TimeOfDay, classes1, classes2, classes3, classes4, classes5, classes6, classes7, classes8, classes9, classes10, classes11, classes12, classes13, classes14, classes15, classes16, CastingAnim, TargetAnim, TravelType, SpellAffectIndex, field124, field125, deities1, deities2, deities3, deities4, deities5, deities6, deities7, deities8, deities9, deities10, deities11, deities12, deities13, deities14, deities15, deities16, field142, field143, new_icon, spellanim, uninterruptable, ResistDiff, dot_stacking_exempt, deleteable, RecourseLink, no_partial_resist, field152, field153, short_buff_box, descnum, typedescnum, effectdescnum, field158, npc_no_los, field160, reflectable, bonushate, field163, field164, field165, EndurCost, EndurTimerIndex, IsDiscipline, field169, field170, field171, field172, HateAdded, EndurUpkeep, numhitstype, numhits, pvpresistbase, pvpresistcalc, pvpresistcap, spell_category, field181, field182, field183, field184, can_mgb, nodispell, npc_category, npc_usefulness, MinResist, MaxResist, field191, field192, nimbuseffect, ConeStartAngle, ConeStopAngle, field196, not_extendable, field198, field199, suspendable, field201, songcap, field203, field204, field205, field206, spellgroup, rank, field209, field210, CastRestriction, allowrest, NotOutofCombat, NotInCombat, field215, field216, field217, field218, maxtargets, field220, field221, field222, field223, persistdeath, id) SELECT name, player_1, teleport_zone, you_cast, other_casts, cast_on_you, cast_on_other, spell_fades, `range`, aoerange, pushback, pushup, cast_time, recovery_time, recast_time, buffdurationformula, buffduration, AEDuration, mana, effect_base_value1, effect_base_value2, effect_base_value3, effect_base_value4, effect_base_value5, effect_base_value6, effect_base_value7, effect_base_value8, effect_base_value9, effect_base_value10, effect_base_value11, effect_base_value12, effect_limit_value1, effect_limit_value2, effect_limit_value3, effect_limit_value4, effect_limit_value5, effect_limit_value6, effect_limit_value7, effect_limit_value8, effect_limit_value9, effect_limit_value10, effect_limit_value11, effect_limit_value12, max1, max2, max3, max4, max5, max6, max7, max8, max9, max10, max11, max12, icon, memicon, components1, components2, components3, components4, component_counts1, component_counts2, component_counts3, component_counts4, NoexpendReagent1, NoexpendReagent2, NoexpendReagent3, NoexpendReagent4, formula1, formula2, formula3, formula4, formula5, formula6, formula7, formula8, formula9, formula10, formula11, formula12, LightType, goodEffect, Activated, resisttype, effectid1, effectid2, effectid3, effectid4, effectid5, effectid6, effectid7, effectid8, effectid9, effectid10, effectid11, effectid12, targettype, basediff, skill, zonetype, EnvironmentType, TimeOfDay, classes1, classes2, classes3, classes4, classes5, classes6, classes7, classes8, classes9, classes10, classes11, classes12, classes13, classes14, classes15, classes16, CastingAnim, TargetAnim, TravelType, SpellAffectIndex, field124, field125, deities1, deities2, deities3, deities4, deities5, deities6, deities7, deities8, deities9, deities10, deities11, deities12, deities13, deities14, deities15, deities16, field142, field143, new_icon, spellanim, uninterruptable, ResistDiff, dot_stacking_exempt, deleteable, RecourseLink, no_partial_resist, field152, field153, short_buff_box, descnum, typedescnum, effectdescnum, field158, npc_no_los, field160, reflectable, bonushate, field163, field164, field165, EndurCost, EndurTimerIndex, IsDiscipline, field169, field170, field171, field172, HateAdded, EndurUpkeep, numhitstype, numhits, pvpresistbase, pvpresistcalc, pvpresistcap, spell_category, field181, field182, field183, field184, can_mgb, nodispell, npc_category, npc_usefulness, MinResist, MaxResist, field191, field192, nimbuseffect, ConeStartAngle, ConeStopAngle, field196, not_extendable, field198, field199, suspendable, field201, songcap, field203, field204, field205, field206, spellgroup, rank, field209, field210, CastRestriction, allowrest, NotOutofCombat, NotInCombat, field215, field216, field217, field218, maxtargets, field220, field221, field222, field223, persistdeath, 33000 AS id FROM spells_new WHERE id = '2160' - Unknown column 'field191' in 'field list'
I assume there's something wrong with my spells_new but I'm unsure how to go about fixing this. This is a recent setup (two days ago)
Kingly_Krab
09-07-2014, 04:04 PM
field191 and field192 were renamed, the Editor just hasn't caught up to that change yet:
https://github.com/EQEmu/Server/pull/184/files
joligario
09-07-2014, 05:06 PM
This is fixed in the editor source now. Not all new fields are supported yet, though.
Gigfel
01-19-2015, 01:57 PM
Hello Everyone,
i am using a Apache 2.2.x with PHP 5.3.x and i am trying to run the PEQ PHPEditor 2014/10/11, which i have downloaded from this location:
https://drive.google.com/folderview?id=0B5FZHGN6aazfeThIMENvWTA2VDA&usp=sharing#list
I have configured my "php.ini" as it have been told in the "readme.txt":
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
short_open_tags = On
I can access the Editor over the Webbrowser and getting the "Login" -Screen.
If i log myself in, the php starts to work, connects the Database, finds my Account and identifies my Password as correct, but the Output i get is the "Login" -Screen again.
There are no "Error" - Messages or -Logfiles, which would give me a hint.
Maybe Someone has an Idea why i cant get it run correctly ?
Edit:
The ".htaccess" -Files set correctly and when i use wrong Logindata i get a Query-Error-Log.
joligario
01-19-2015, 02:03 PM
What does your config file look like (omit passwords).
Check your logs directory, apache access/error logs, and php error log for any other hints.
Gigfel
01-19-2015, 02:42 PM
This is my "config.php" of the PEQ PHPEditor:
// Database Information:
$dbhost = 'localhost';
$dbuser = 'xxxx';
$dbpass = 'xxxx';
$db = 'everquest';
$mysql_class = 'mysqli'; // Use mysql or mysqli
/* Limit zone lists to a specified expansion
* (i.e. setting $expansion_limit to 2 would cause only Classic and Kunark zones
* to appear in zone drop-down lists)
* 1 = EQ Classic
* 2 = Kunark
* 3 = Velious
* 4 = Luclin
* 5 = Planes of Power
* 6 = Legacy of Ykesha
* 7 = Lost Dungeons of Norrath
* 8 = Gates of Discord
* 9 = Omens of War
* 10 = Dragons of Norrath
* 11 = Depths of Darkhollow
* 12 = Prophecy of Ro
* 13 = The Serpents Spine
* 14 = The Buried Sea
* 15 = Secrets of Faydwer
* 16 = Seeds of Destruction
* 17 = Underfoot
* 18 = House of Thule
* 19 = Veil of Alaris
* 20 = Rain of Fear
* 99 = Other
*/
$expansion_limit = 20;
// How NPCs are listed. 1 = by NPCID (zoneidnumber*1000), 2 = By spawn2 entry
$npc_list = 1;
// Spawngroup list limit. Limits how many spawngroups are displayed as result of a Coord/NPC search. Specific NPC lists are not effected.
$spawngroup_limit = 150;
// Dont want to have to type the username and password every time you start the editor?
// Set the two variables below to the values you want to be in the form when you start it up.
// (default login: admin pw: password)
$login = '';
$password = '';
// Log SQL queries: 1 = on, 0 = off
$logging = 1;
// $log_file = path to the file your sql logs will be saved in.
// If you want a single log file, uncomment next line and comment the two monthly log options.
//$log_file = "logs/sql_log.sql";
// Automatically create new logs monthly.
$filetime = date_default_timezone_set('Europe/Paris');
$log_file = "logs/sql_log_$filetime.sql";
// Log all MySQL queries (If disabled only write entries are logged - recommended.)
$log_all = 0;
// Log all MySQL queries that result in an error.
$log_error = 1;
// Enable or disable user logins.
$enable_user_login = 1;
// Enable or disable read only guest mode log in.
$enable_guest_mode = 0;
// Path for quests without trailing slash.
$quest_path = "/home/eqemu/quests"
The "access" -Logfile of the Apache says:
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:43 +0100] "GET /eqeditor/index.php HTTP/1.1" 200 1704
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:44 +0100] "GET /eqeditor/css/peq.css HTTP/1.1" 304 -
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:44 +0100] "GET /eqeditor/images/peq_editor.gif HTTP/1.1" 304 -
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:52 +0100] "POST /eqeditor/index.php?login HTTP/1.1" 302 -
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:52 +0100] "GET /eqeditor/index.php HTTP/1.1" 200 1704
There is no Error in the "error" -Log of the Apache Server.
(Sorry i needed so long, but i got a phone call ...)
Gigfel
01-19-2015, 03:26 PM
I have made a Alias to my private Domain to Access over the Internet the PEQ PHPEditor, because i would like to work from everywhere with this tool.
Alias /eqeditor "D:/Webserver/Domain/www.eqemulator.de"
But i get a 302 "Hijacking" -Error from it:
xxx.x.xxx.xxx - - [19/Jan/2015:19:09:52 +0100] "POST /eqeditor/index.php?login HTTP/1.1" 302
The Alias i have made on my PHPMyAdmin doesnt make such a Problem.
Anyone an Idea how i could correct it ?
P.S. I will research myself, but maybe someone had already the same Problem.
Gigfel
01-19-2015, 07:47 PM
I had disabled the Cookie Session in the "php.ini" -File, thats why i couldnt log into PEQ PHPEditor.
The "hijacking" -Error 302, repoted by Apache itself, is only a side effect, which happens when the Editor hasnt found a available Session.
Then the Tool resets the Connection by using a "header(location: index.php)", which delivers by default the State 302.
Indicators for Coockie Session's are inactive:
1. You could access the Tool via Webbrowser
2. You could enter your Logindata
3. You dont get any Query-Log-Error in Logpath of the Tool
3. The Apache-Access-Log shows something like this:
xxx.x.xxx.xxx - - [20/Jan/2015:00:15:25 +0100] "POST /eqeditor/index.php?login HTTP/1.1" 302 -
xxx.x.xxx.xxx - - [20/Jan/2015:00:15:25 +0100] "GET /eqeditor/index.php HTTP/1.1" 200 1704
(The 2nd line shows the Reset of the Connection)
Edit:
Thanks to Joligario, whitout his hint i wouldnt have found the Problem that fast :D
Hiing
02-18-2015, 01:55 PM
Our merchants have a strange bug, and i'm having a hard time finding a spot in the db editor that might be able to fix it.
If you sell an item with charges, they will immediately sellback that quanity in charges. Ie, you sell a 10 charge potion, they sell back 10 fully charged potions. You sell a 6 charge, they sell back 6, and so on. I've searched all over the editor and cant find anything, would that be something deeper? Any recomendations or anyone had the same issue?
trevius
02-18-2015, 02:32 PM
Our merchants have a strange bug, and i'm having a hard time finding a spot in the db editor that might be able to fix it.
If you sell an item with charges, they will immediately sellback that quanity in charges. Ie, you sell a 10 charge potion, they sell back 10 fully charged potions. You sell a 6 charge, they sell back 6, and so on. I've searched all over the editor and cant find anything, would that be something deeper? Any recomendations or anyone had the same issue?
Do you mean that if you sell a potion that is fully or partially used, you can buy it back fully charged? I know that was an issue/bug/exploit years ago, but thought it had been fixed. If not, then the merchant tables need to save charges and load them properly or something most likely.
Hiing
02-18-2015, 05:25 PM
That happens too but im not so concerned about the recharge.
The item itself is actually duplicated in the sellers window. So if its a ten charge item, then its duplicated 10 times. Each item with full charges.
Ignishaut
06-18-2015, 03:57 PM
I would like to suggest updateing the readme to include setting the following in the php.ini
session.use_cookies=1
session.use_only_cookies=1
It those two tidbits had been in the readme, it would have saved me a few headaches.
(And yes I did search the boards but apparently I was not using the correct keywords to find anything meaningful.)
joligario
06-18-2015, 07:55 PM
Actually, those are the default settings anyways (http://php.net/manual/en/session.configuration.php). As a side note, I have use_only_cookies set to 0 and it works fine.
tendricvk
07-03-2015, 01:49 AM
having problem when I went to the page it said login disabled but I tried to login anyway now I just have a pic saying don't panic.... well I am panicking!!!
joligario
07-03-2015, 07:13 AM
Check again. Does it say Guest Mode is disabled?
At the Don't Panic page, are there tabs along the top like NPCs, Tasks, Accounts, etc.?
What does it say in the url?
Did you follow the readme step by step?
tendricvk
07-03-2015, 11:23 AM
I can't get to any other screen now but I remember it saying guest mode was disabled. I'll post a pic of it when I get to a pc
tendricvk
07-03-2015, 12:14 PM
I followed readme im using xampp. as you can see there is no tabs
https://scontent-iad3-1.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/11011039_477036765787355_1249266695375201180_n.jpg ?oh=7aa93aab72a0d70709ecccc110ef45d9&oe=56262C84
NatedogEZ
07-03-2015, 01:01 PM
You need to go into your php.ini and turn on...
short_open_tag=On
http://i.imgur.com/Zl0m026.png
If you havent already make sure to turn off showing errors as well.. unless you plan on fixing all of them. (the peq editor has a lot of warnings :p)
also in the php.ini turn off...
display_errors=Off
tendricvk
07-03-2015, 01:06 PM
this is what I have https://scontent-iad3-1.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/10402958_477088025782229_3773403171558545923_n.jpg ?oh=4257fcd57ed19151e6be08a2b05597f0&oe=562BC00B
joligario
07-03-2015, 06:46 PM
If that is what you have and you are showing us this, that means you don't understand that particular step and/or the file structure.
A semicolon is a comment in the php.ini file. So this is just showing you what the default, development, and production values are supposed to be. The actual declaration is about 50 lines farther down.
tendricvk
07-04-2015, 01:06 PM
yep I goofed. thank you that fixed it
Drg01
08-10-2015, 02:05 AM
Edit: Rebooted and fixed my own problem of not having tabs show up.
Dremis
01-28-2016, 09:07 PM
I've followed all instructions I can find both here and on PEQ's site. I'm using Xampp
5.5.30 and I get:
Server error!
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.
If you think this is a server error, please contact the webmaster.
Error 500
localhost
Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.5.30
any ideas? should I post config files?
joligario
01-28-2016, 09:30 PM
Yes. You could also look inside your apache log files and php error log to find the entries related to at 500 error.
Dremis
01-29-2016, 08:49 PM
ok. here's httpd.conf
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/access_log"
# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
# will be interpreted as '/logs/access_log'.
#
# NOTE: Where filenames are specified, you must use forward slashes
# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
# If a drive letter is omitted, the drive on which httpd.exe is located
# will be used by default. It is recommended that you always supply
# an explicit drive letter in absolute paths to avoid confusion.
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used. If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "D:/xampp/apache"
#
# Mutex: Allows you to set the mutex mechanism and mutex file directory
# for individual mutexes, or change the global defaults
#
# Uncomment and change the directory if mutexes are file-based and the default
# mutex file directory is not on a local disk or is not appropriate for some
# other reason.
#
# Mutex default:logs
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule data_module modules/mod_data.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule http2_module modules/mod_http2.so
LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule lua_module modules/mod_lua.so
LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule macro_module modules/mod_macro.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule request_module modules/mod_request.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>
# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin postmaster@localhost
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost:80
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:/xampp/htdocs"
<Directory "D:/xampp/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ".ht*">
Require all denied
</Files>
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error.log"
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog "logs/access.log" common
#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
CustomLog "logs/access.log" combined
</IfModule>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "D:/xampp/cgi-bin/"
</IfModule>
<IfModule cgid_module>
#
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#
#Scriptsock cgisock
</IfModule>
#
# "D:/xampp/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "D:/xampp/cgi-bin">
AllowOverride All
Options None
Require all granted
</Directory>
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig conf/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl .asp
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
<IfModule mime_magic_module>
#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
MIMEMagicFile "conf/magic"
</IfModule>
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# MaxRanges: Maximum number of Ranges in a request before
# returning the entire resource, or one of the special
# values 'default', 'none' or 'unlimited'.
# Default setting is to accept 200 Ranges.
#MaxRanges unlimited
#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall may be used to deliver
# files. This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
#EnableSendfile off
# Supplemental configuration
#
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
Include conf/extra/httpd-autoindex.conf
# Language settings
Include conf/extra/httpd-languages.conf
# User home directories
Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Attention! WEB_DAV is a security risk without a new userspecific configuration for a secure authentifcation
#Include conf/extra/httpd-dav.conf
# Various default settings
#Include conf/extra/httpd-default.conf
# Implements a proxy/gateway for Apache.
Include "conf/extra/httpd-proxy.conf"
# Various default settings
Include "conf/extra/httpd-default.conf"
# XAMPP settings
Include "conf/extra/httpd-xampp.conf"
# Configure mod_proxy_html to understand HTML4/XHTML1
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
#
# uncomment out the below to deal with user agents that deliberately
# violate open standards by misusing DNT (DNT *must* be a specific
# end-user choice)
#
#<IfModule setenvif_module>
#BrowserMatch "MSIE 10.0;" bad_DNT
#</IfModule>
#<IfModule headers_module>
#RequestHeader unset DNT env=bad_DNT
#</IfModule>
# XAMPP: We disable operating system specific optimizations for a listening
# socket by the http protocol here. IE 64 bit make problems without this.
AcceptFilter http none
# AJP13 Proxy
<IfModule mod_proxy.c>
<IfModule mod_proxy_ajp.c>
Include "conf/extra/httpd-ajp.conf"
</IfModule>
</IfModule>
here's php.ini
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
; PHP attempts to find and load this configuration from a number of locations.
; The following is a summary of its search order:
; 1. SAPI module specific location.
; 2. The PHPRC environment variable. (As of PHP 5.2.0)
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
; 4. Current working directory (except CLI)
; 5. The web server's directory (for SAPI modules), or directory of PHP
; (otherwise in Windows)
; 6. The directory from the --with-config-file-path compile time option, or the
; Windows directory (C:\windows or C:\winnt)
; See the PHP docs for more specific information.
; http://php.net/configuration.file
; The syntax of the file is extremely simple. Whitespace and Lines
; beginning with a semicolon are silently ignored (as you probably guessed).
; Section headers (e.g. [Foo]) are also silently ignored, even though
; they might mean something in the future.
; Directives following the section heading [PATH=/www/mysite] only
; apply to PHP files in the /www/mysite directory. Directives
; following the section heading [HOST=www.example.com] only apply to
; PHP files served from www.example.com. Directives set in these
; special sections cannot be overridden by user-defined INI files or
; at runtime. Currently, [PATH=] and [HOST=] sections only work under
; CGI/FastCGI.
; http://php.net/ini.sections
; Directives are specified using the following syntax:
; directive = value
; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
; Directives are variables used to configure PHP or PHP extensions.
; There is no name validation. If PHP can't find an expected
; directive because it is not set or is mistyped, a default value will be used.
; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
; previously set variable or directive (e.g. ${foo})
; Expressions in the INI file are limited to bitwise operators and parentheses:
; | bitwise OR
; ^ bitwise XOR
; & bitwise AND
; ~ bitwise NOT
; ! boolean NOT
; Boolean flags can be turned on using the values 1, On, True or Yes.
; They can be turned off using the values 0, Off, False or No.
; An empty string can be denoted by simply not writing anything after the equal
; sign, or by using the None keyword:
; foo = ; sets foo to an empty string
; foo = None ; sets foo to an empty string
; foo = "None" ; sets foo to the string 'None'
; If you use constants in your value, and these constants belong to a
; dynamically loaded extension (either a PHP extension or a Zend extension),
; you may only use these constants *after* the line that loads the extension.
;;;;;;;;;;;;;;;;;;;
; About this file ;
;;;;;;;;;;;;;;;;;;;
; PHP comes packaged with two INI files. One that is recommended to be used
; in production environments and one that is recommended to be used in
; development environments.
; php.ini-production contains settings which hold security, performance and
; best practices at its core. But please be aware, these settings may break
; compatibility with older or less security conscience applications. We
; recommending using the production ini in production and testing environments.
; php.ini-development is very similar to its production variant, except it's
; much more verbose when it comes to errors. We recommending using the
; development version only in development environments as errors shown to
; application users can inadvertently leak otherwise secure information.
;;;;;;;;;;;;;;;;;;;
; Quick Reference ;
;;;;;;;;;;;;;;;;;;;
; The following are all the settings which are different in either the production
; or development versions of the INIs with respect to PHP's default behavior.
; Please see the actual settings later in the document for more details as to why
; we recommend these changes in PHP's behavior.
; allow_call_time_pass_reference
; Default Value: On
; Development Value: Off
; Production Value: Off
; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
; display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off
; error_reporting
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; html_errors
; Default Value: On
; Development Value: On
; Production value: Off
; log_errors
; Default Value: Off
; Development Value: On
; Production Value: On
; magic_quotes_gpc
; Default Value: On
; Development Value: Off
; Production Value: Off
; max_input_time
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; output_buffering
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; register_argc_argv
; Default Value: On
; Development Value: Off
; Production Value: Off
; register_long_arrays
; Default Value: On
; Development Value: Off
; Production Value: Off
; request_order
; Default Value: None
; Development Value: "GP"
; Production Value: "GP"
; session.bug_compat_42
; Default Value: On
; Development Value: On
; Production Value: Off
; session.bug_compat_warn
; Default Value: On
; Development Value: On
; Production Value: Off
; session.gc_divisor
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
; session.hash_bits_per_character
; Default Value: 4
; Development Value: 5
; Production Value: 5
; short_open_tag
; Default Value: On
; Development Value: Off
; Production Value: Off
; track_errors
; Default Value: Off
; Development Value: On
; Production Value: Off
; url_rewriter.tags
; Default Value: "a=href,area=href,frame=src,form=,fieldset="
; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentr y"
; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentr y"
; variables_order
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS"
;;;;;;;;;;;;;;;;;;;;
; php.ini Options ;
;;;;;;;;;;;;;;;;;;;;
; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
;user_ini.filename = ".user.ini"
; To disable this feature set this option to empty value
;user_ini.filename =
; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
;user_ini.cache_ttl = 300
;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;
; Enable the PHP scripting language engine under Apache.
; http://php.net/engine
engine=On
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag=ON
; XAMPP for Linux is currently old fashioned
;short_open_tag = On
; Allow ASP-style <% %> tags.
; http://php.net/asp-tags
asp_tags=Off
; The number of significant digits displayed in floating point numbers.
; http://php.net/precision
precision=14
; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
; http://php.net/y2k-compliance
y2k_compliance=On
; Output buffering is a mechanism for controlling how much output data
; (excluding headers and cookies) PHP should keep internally before pushing that
; data to the client. If your application's output exceeds this setting, PHP
; will send that data in chunks of roughly the size you specify.
; Turning on this setting and managing its maximum buffer size can yield some
; interesting side-effects depending on your application and web server.
; You may be able to send headers and cookies after you've already sent output
; through print or echo. You also may see performance benefits if your server is
; emitting less packets due to buffered output versus PHP streaming the output
; as it gets it. On production servers, 4096 bytes is a good setting for performance
; reasons.
; Note: Output buffering can also be controlled via Output Buffering Control
; functions.
; Possible Values:
; On = Enabled and buffer is unlimited. (Use with caution)
; Off = Disabled
; Integer = Enables the buffer and sets its maximum size in bytes.
; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering=4096
; You can redirect all of the output of your scripts to a function. For
; example, if you set output_handler to "mb_output_handler", character
; encoding will be transparently converted to the specified encoding.
; Setting any output handler automatically turns on output buffering.
; Note: People who wrote portable scripts should not depend on this ini
; directive. Instead, explicitly set the output handler using ob_start().
; Using this ini directive may cause problems unless you know what script
; is doing.
; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
; Note: output_handler must be empty if this is set 'On' !!!!
; Instead you must use zlib.output_handler.
; http://php.net/output-handler
;output_handler =
; Transparent output compression using the zlib library
; Valid values for this option are 'off', 'on', or a specific buffer size
; to be used for compression (default is 4KB)
; Note: Resulting chunk size may vary due to nature of compression. PHP
; outputs chunks that are few hundreds bytes each as a result of
; compression. If you prefer a larger chunk size for better
; performance, enable output_buffering in addition.
; Note: You need to use zlib.output_handler instead of the standard
; output_handler, or otherwise the output will be corrupted.
; http://php.net/zlib.output-compression
zlib.output_compression=Off
; http://php.net/zlib.output-compression-level
;zlib.output_compression_level = -1
; You cannot specify additional output handlers if zlib.output_compression
; is activated here. This setting does the same as output_handler but in
; a different order.
; http://php.net/zlib.output-handler
;zlib.output_handler =
; Implicit flush tells PHP to tell the output layer to flush itself
; automatically after every output block. This is equivalent to calling the
; PHP function flush() after each and every call to print() or echo() and each
; and every HTML block. Turning this option on has serious performance
; implications and is generally recommended for debugging purposes only.
; http://php.net/implicit-flush
; Note: This directive is hardcoded to On for the CLI SAPI
implicit_flush=Off
; The unserialize callback function will be called (with the undefined class'
; name as parameter), if the unserializer finds an undefined class
; which should be instantiated. A warning appears if the specified function is
; not defined, or if the function doesn't include/implement the missing class.
; So only set this entry, if you really want to implement such a
; callback-function.
unserialize_callback_func=
; When floats & doubles are serialized store serialize_precision significant
; digits after the floating point. The default value ensures that when floats
; are decoded with unserialize, the data will remain the same.
serialize_precision=100
; This directive allows you to enable and disable warnings which PHP will issue
; if you pass a value by reference at function call time. Passing values by
; reference at function call time is a deprecated feature which will be removed
; from PHP at some point in the near future. The acceptable method for passing a
; value by reference to a function is by declaring the reference in the functions
; definition, not at call time. This directive does not disable this feature, it
; only determines whether PHP will warn you about it or not. These warnings
; should enabled in development environments only.
; Default Value: On (Suppress warnings)
; Development Value: Off (Issue warnings)
; Production Value: Off (Issue warnings)
; http://php.net/allow-call-time-pass-reference
allow_call_time_pass_reference=Off
; Safe Mode
; http://php.net/safe-mode
safe_mode=Off
; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
; http://php.net/safe-mode-gid
safe_mode_gid=Off
; When safe_mode is on, UID/GID checks are bypassed when
; including files from this directory and its subdirectories.
; (directory must also be in include_path or full path must
; be used when including)
; http://php.net/safe-mode-include-dir
safe_mode_include_dir=
; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
; http://php.net/safe-mode-exec-dir
safe_mode_exec_dir=
; Setting certain environment variables may be a potential security breach.
; This directive contains a comma-delimited list of prefixes. In Safe Mode,
; the user may only alter environment variables whose names begin with the
; prefixes supplied here. By default, users will only be able to set
; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
; Note: If this directive is empty, PHP will let the user modify ANY
; environment variable!
; http://php.net/safe-mode-allowed-env-vars
safe_mode_allowed_env_vars=PHP_
; This directive contains a comma-delimited list of environment variables that
; the end user won't be able to change using putenv(). These variables will be
; protected even if safe_mode_allowed_env_vars is set to allow to change them.
; http://php.net/safe-mode-protected-env-vars
safe_mode_protected_env_vars=LD_LIBRARY_PATH
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/open-basedir
;open_basedir =
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions=
; This directive allows you to disable certain classes for security reasons.
; It receives a comma-delimited list of class names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-classes
disable_classes=
; Colors for Syntax Highlighting mode. Anything that's acceptable in
; <span style="color: ???????"> would work.
; http://php.net/syntax-highlighting
;highlight.string = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg = #FFFFFF
;highlight.default = #0000BB
;highlight.html = #000000
; If enabled, the request will be allowed to complete even if the user aborts
; the request. Consider enabling it if executing long requests, which may end up
; being interrupted by the user or a browser timing out. PHP's default behavior
; is to disable this feature.
; http://php.net/ignore-user-abort
;ignore_user_abort = On
; Determines the size of the realpath cache to be used by PHP. This value should
; be increased on systems where PHP opens many files to reflect the quantity of
; the file operations performed.
; http://php.net/realpath-cache-size
;realpath_cache_size = 16k
; Duration of time, in seconds for which to cache realpath information for a given
; file or directory. For systems with rarely changing files, consider increasing this
; value.
; http://php.net/realpath-cache-ttl
;realpath_cache_ttl = 120
; Enables or disables the circular reference collector.
; http://php.net/zend.enable-gc
zend.enable_gc=On
; If enabled, scripts may be written in encodings that are incompatible with
; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
; encodings. To use this feature, mbstring extension must be enabled.
; Default: Off
;zend.multibyte = Off
; Allows to set the default encoding for the scripts. This value will be used
; unless "declare(encoding=...)" directive appears at the top of the script.
; Only affects if zend.multibyte is set.
; Default: ""
;zend.script_encoding =
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php=On
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time=30
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time=60
; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64
; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit=128M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This directive informs PHP of which errors, warnings and notices you would like
; it to take action for. The recommended way of setting values for this
; directive is through the use of the error level constants and bitwise
; operators. The error level constants are below here for convenience as well as
; some common settings and their meanings.
; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
; those related to E_NOTICE and E_STRICT, which together cover best practices and
; recommended coding standards in PHP. For performance reasons, this is the
; recommend error reporting setting. Your production server shouldn't be wasting
; resources complaining about best practices and coding standards. That's what
; development servers and development settings are for.
; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
; means it pretty much reports everything which is exactly what you want during
; development and early testing.
;
; Error Level Constants:
; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
; E_ERROR - fatal run-time errors
; E_RECOVERABLE_ERROR - almost fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_STRICT - run-time notices, enable to have PHP suggest changes
; to your code which will ensure the best interoperability
; and forward compatibility of your code
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
; E_DEPRECATED - warn about code that will not work in future versions
; of PHP
; E_USER_DEPRECATED - user-generated deprecation warnings
;
; Common Values:
; E_ALL (Show all errors, warnings and notices including coding standards.)
; E_ALL & ~E_NOTICE (Show all errors, except for notices)
; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE _ERROR (Show only errors)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting=E_ALL & ~E_NOTICE
; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
; it could be very dangerous in production environments. Depending on the code
; which is triggering the error, sensitive information could potentially leak
; out of your application such as database usernames and passwords or worse.
; It's recommended that errors be logged on production servers rather than
; having the errors sent to STDOUT.
; Possible Values:
; Off = Do not display any errors
; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
; On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors=Off
; The display of errors which occur during PHP's startup sequence are handled
; separately from display_errors. PHP's default behavior is to suppress those
; errors from clients. Turning the display of startup errors on can be useful in
; debugging configuration problems. But, it's strongly recommended that you
; leave this setting off on production servers.
; Default Value: Off
; Development Value: On
; Production Value: Off
; http://php.net/display-startup-errors
; XAMPP: Turn display_startup_errors = Off here for a full Joomla support
display_startup_errors=On
; Besides displaying errors, PHP can also log errors to locations such as a
; server-specific log, STDERR, or a location specified by the error_log
; directive found below. While errors should not be displayed on productions
; servers they should still be monitored and logging is a great way to do that.
; Default Value: Off
; Development Value: On
; Production Value: On
; http://php.net/log-errors
log_errors=On
; Set maximum length of log_errors. In error_log information about the source is
; added. The default is 1024 and 0 allows to not apply any maximum length at all.
; http://php.net/log-errors-max-len
log_errors_max_len=1024
; Do not log repeated messages. Repeated errors must occur in same file on same
; line unless ignore_repeated_source is set true.
; http://php.net/ignore-repeated-errors
ignore_repeated_errors=Off
; Ignore source of message when ignoring repeated messages. When this setting
; is On you will not log errors with repeated messages from different files or
; source lines.
; http://php.net/ignore-repeated-source
ignore_repeated_source=Off
; If this parameter is set to Off, then memory leaks will not be shown (on
; stdout or in the log). This has only effect in a debug compile, and if
; error reporting includes E_WARNING in the allowed list
; http://php.net/report-memleaks
report_memleaks=On
; This setting is on by default.
;report_zend_debug = 0
; Store the last error/warning message in $php_errormsg (boolean). Setting this value
; to On can assist in debugging and is appropriate for development servers. It should
; however be disabled on production servers.
; Default Value: Off
; Development Value: On
; Production Value: Off
; http://php.net/track-errors
track_errors=On
; Turn off normal error reporting and emit XML-RPC error XML
; http://php.net/xmlrpc-errors
;xmlrpc_errors = 0
; An XML-RPC faultCode
;xmlrpc_error_number = 0
; When PHP displays or logs an error, it has the capability of inserting html
; links to documentation related to that error. This directive controls whether
; those HTML links appear in error messages or not. For performance and security
; reasons, it's recommended you disable this on production servers.
; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: On
; Development Value: On
; Production value: On
; http://php.net/html-errors
html_errors=On
; If html_errors is set On PHP produces clickable error messages that direct
; to a page describing the error or function causing the error in detail.
; You can download a copy of the PHP manual from http://php.net/docs
; and change docref_root to the base URL of your local copy including the
; leading '/'. You must also specify the file extension being used including
; the dot. PHP's default behavior is to leave these settings empty.
; Note: Never use this feature for production boxes.
; http://php.net/docref-root
; Examples
;docref_root = "/phpmanual/"
; http://php.net/docref-ext
;docref_ext = .html
; String to output before an error message. PHP's default behavior is to leave
; this setting blank.
; http://php.net/error-prepend-string
; Example:
;error_prepend_string = "<span style='color: #ff0000'>"
; String to output after an error message. PHP's default behavior is to leave
; this setting blank.
; http://php.net/error-append-string
; Example:
;error_append_string = "</span>"
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
;error_log = php_errors.log
error_log="D:\xampp\php\logs\php_error_log"
; Log errors to syslog (Event Log on NT, not valid in Windows 95).
;error_log = syslog
;windows.show_crt_warning
; Default value: 0
; Development value: 0
; Production value: 0
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
; Note - track_vars is ALWAYS enabled
; The separator used in PHP generated URLs to separate arguments.
; PHP's default setting is "&".
; http://php.net/arg-separator.output
; Example:
;arg_separator.output = "&"
; List of separator(s) used by PHP to parse input URLs into variables.
; PHP's default setting is "&".
; NOTE: Every character in this directive is considered as separator!
; http://php.net/arg-separator.input
; Example:
;arg_separator.input = ";&"
; This directive determines which super global arrays are registered when PHP
; starts up. G,P,C,E & S are abbreviations for the following respective super
; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
; paid for the registration of these arrays and because ENV is not as commonly
; used as the others, ENV is not recommended on productions servers. You
; can still get access to the environment variables through getenv() should you
; need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order="GPCS"
; This directive determines which super global data (G,P,C,E & S) should
; be registered into the super global array REQUEST. If so, it also determines
; the order in which that data is registered. The values for this directive are
; specified in the same manner as the variables_order directive, EXCEPT one.
; Leaving this value empty will cause PHP to use the value set in the
; variables_order directive. It does not mean it will leave the super globals
; array REQUEST empty.
; Default Value: None
; Development Value: "GP"
; Production Value: "GP"
; http://php.net/request-order
request_order="GP"
; Whether or not to register the EGPCS variables as global variables. You may
; want to turn this off if you don't want to clutter your scripts' global scope
; with user data. This makes most sense when coupled with track_vars - in which
; case you can access all of the GPC variables through the $HTTP_*_VARS[],
; variables.
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
; http://php.net/register-globals
register_globals=Off
; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
; are registered by PHP or not. As they are deprecated, we obviously don't
; recommend you use them. They are on by default for compatibility reasons but
; they are not recommended on production servers.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/register-long-arrays
register_long_arrays=Off
; This directive determines whether PHP registers $argv & $argc each time it
; runs. $argv contains an array of all the arguments passed to PHP when a script
; is invoked. $argc contains an integer representing the number of arguments
; that were passed when the script was invoked. These arrays are extremely
; useful when running scripts from the command line. When this directive is
; enabled, registering these variables consumes CPU cycles and memory each time
; a script is executed. For performance reasons, this feature should be disabled
; on production servers.
; Note: This directive is hardcoded to On for the CLI SAPI
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/register-argc-argv
register_argc_argv=Off
; When enabled, the ENV, REQUEST and SERVER variables are created when they're
; first used (Just In Time) instead of when the script starts. If these
; variables are not used within a script, having this directive on will result
; in a performance gain. The PHP directive register_argc_argv must be disabled
; for this directive to have any affect.
; http://php.net/auto-globals-jit
auto_globals_jit=On
; Whether PHP will read the POST data.
; This option is enabled by default.
; Most likely, you won't want to disable this option globally. It causes $_POST
; and $_FILES to always be empty; the only way you will be able to read the
; POST data will be through the php://input stream wrapper. This can be useful
; to proxy requests or to process the POST data in a memory efficient fashion.
; http://php.net/enable-post-data-reading
;enable_post_data_reading = Off
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size=8M
; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
; escape any character sequences in GET, POST, COOKIE and ENV data which might
; otherwise corrupt data being placed in resources such as databases before
; making that data available to you. Because of character encoding issues and
; non-standard SQL implementations across many databases, it's not currently
; possible for this feature to be 100% accurate. PHP's default behavior is to
; enable the feature. We strongly recommend you use the escaping mechanisms
; designed specifically for the database your using instead of relying on this
; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
; scheduled for removal in PHP 6.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/magic-quotes-gpc
magic_quotes_gpc=Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
; http://php.net/magic-quotes-runtime
magic_quotes_runtime=Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
; http://php.net/magic-quotes-sybase
magic_quotes_sybase=Off
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file=
; Automatically add files after PHP document.
; http://php.net/auto-append-file
auto_append_file=
; By default, PHP will output a character encoding using
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
; http://php.net/default-mimetype
default_mimetype="text/html"
; PHP's default character set is set to empty.
; http://php.net/default-charset
;default_charset = "UTF-8"
; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
; to disable this feature. If post reading is disabled through
; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated.
; http://php.net/always-populate-raw-post-data
;always_populate_raw_post_data = On
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path=".;D:\xampp\php\PEAR"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path
; The root of the PHP pages, used only if nonempty.
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
; if you are running php as a CGI under any web server (other than IIS)
; see documentation for security issues. The alternate is to use the
; cgi.force_redirect configuration below
; http://php.net/doc-root
doc_root=
; The directory under which PHP opens the script using /~username used only
; if nonempty.
; http://php.net/user-dir
user_dir=
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir="D:\xampp\php\ext"
; Whether or not to enable the dl() function. The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl=On
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers. Left undefined, PHP turns this on by default. You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; http://php.net/cgi.force-redirect
;cgi.force_redirect = 1
; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
; every request. PHP's default behavior is to disable this feature.
;cgi.nph = 1
; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
; will look for to know it is OK to continue execution. Setting this variable MAY
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
; http://php.net/cgi.redirect-status-env
;cgi.redirect_status_env = ;
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
;cgi.fix_pathinfo=1
; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; security tokens of the calling client. This allows IIS to define the
; security context that the request runs under. mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
; Set to 1 if running under IIS. Default is zero.
; http://php.net/fastcgi.impersonate
;fastcgi.impersonate = 1;
; Disable logging through FastCGI connection. PHP's default behavior is to enable
; this feature.
;fastcgi.logging = 0
; cgi.rfc2616_headers configuration option tells PHP what type of headers to
; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
; is supported by Apache. When this option is set to 1 PHP will send
; RFC2616 compliant header.
; Default is zero.
; http://php.net/cgi.rfc2616-headers
;cgi.rfc2616_headers = 0
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads=On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir="D:\xampp\tmp"
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize=2M
; Maximum number of files that can be uploaded via a single request
max_file_uploads=20
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen=On
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
allow_url_include=Off
; Define the anonymous ftp password (your email address). PHP's default setting
; for this is empty.
; http://php.net/from
;from="john@doe.com"
; Define the User-Agent string. PHP's default setting for this is empty.
; http://php.net/user-agent
;user_agent="PHP"
; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
default_socket_timeout=60
; If your scripts have to deal with files from Macintosh systems,
; or you are running on a Mac and need to deal with files from
; unix or win32 systems, setting this flag will cause PHP to
; automatically detect the EOL character in those files so that
; fgets() and file() will work regardless of the source of the file.
; http://php.net/auto-detect-line-endings
;auto_detect_line_endings = Off
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
extension=php_bz2.dll
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[CLI Server]
; Whether the CLI web server uses ANSI color coding in its terminal output.
cli_server.color=On
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone=Europe/Berlin
; http://php.net/date.default-latitude
;date.default_latitude = 31.7667
; http://php.net/date.default-longitude
;date.default_longitude = 35.2333
; http://php.net/date.sunrise-zenith
;date.sunrise_zenith = 90.583333
; http://php.net/date.sunset-zenith
;date.sunset_zenith = 90.583333
[filter]
; http://php.net/filter.default
;filter.default = unsafe_raw
; http://php.net/filter.default-flags
;filter.default_flags =
[iconv]
;iconv.input_encoding = ISO-8859-1
;iconv.internal_encoding = ISO-8859-1
;iconv.output_encoding = ISO-8859-1
[intl]
;intl.default_locale =
; This directive allows you to produce PHP errors when some error
; happens within intl functions. The value is the level of the error produced.
; Default is 0, which does not produce any errors.
;intl.error_level = E_WARNING
[sqlite]
; http://php.net/sqlite.assoc-case
;sqlite.assoc_case = 0
[sqlite3]
;sqlite3.extension_dir =
[Pcre]
;PCRE library backtracking limit.
; http://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000
;PCRE library recursion limit.
;Please note that if you set this value to a high number you may consume all
;the available process stack and eventually crash PHP (due to reaching the
;stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000
[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict
;pdo_odbc.db2_instance_name
[Pdo_mysql]
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size=2000
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket="MySQL"
[Phar]
; http://php.net/phar.readonly
;phar.readonly = On
; http://php.net/phar.require-hash
;phar.require_hash = On
;phar.cache_list =
[Syslog]
; Whether or not to define the various syslog variables (e.g. $LOG_PID,
; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
; runtime, you can define these variables by calling define_syslog_variables().
; http://php.net/define-syslog-variables
define_syslog_variables=Off
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
; SMTP = localhost
; smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesD:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"
; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the D:\xampp\mailoutput folder
sendmail_path="D:\xampp\mailtodisk\mailtodisk.exe"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=Off
; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "D:\xampp\php\logs\php_mail.log"
[SQL]
; http://php.net/sql.safe-mode
sql.safe_mode=Off
[ODBC]
; http://php.net/odbc.default-db
;odbc.default_db = Not yet implemented
; http://php.net/odbc.default-user
;odbc.default_user = Not yet implemented
; http://php.net/odbc.default-pw
;odbc.default_pw = Not yet implemented
; Controls the ODBC cursor model.
; Default: SQL_CURSOR_STATIC (default).
;odbc.default_cursortype
; Allow or prevent persistent links.
; http://php.net/odbc.allow-persistent
odbc.allow_persistent=On
; Check that a connection is still valid before reuse.
; http://php.net/odbc.check-persistent
odbc.check_persistent=On
; Maximum number of persistent links. -1 means no limit.
; http://php.net/odbc.max-persistent
odbc.max_persistent=-1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/odbc.max-links
odbc.max_links=-1
; Handling of LONG fields. Returns number of bytes to variables. 0 means
; passthru.
; http://php.net/odbc.defaultlrl
odbc.defaultlrl=4096
; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
; of odbc.defaultlrl and odbc.defaultbinmode
; http://php.net/odbc.defaultbinmode
odbc.defaultbinmode=1
;birdstep.max_links = -1
[Interbase]
; Allow or prevent persistent links.
ibase.allow_persistent=1
; Maximum number of persistent links. -1 means no limit.
ibase.max_persistent=-1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
ibase.max_links=-1
; Default database name for ibase_connect().
;ibase.default_db =
; Default username for ibase_connect().
;ibase.default_user =
; Default password for ibase_connect().
;ibase.default_password =
; Default charset for ibase_connect().
;ibase.default_charset =
; Default timestamp format.
ibase.timestampformat="%Y-%m-%d %H:%M:%S"
; Default date format.
ibase.dateformat="%Y-%m-%d"
; Default time format.
ibase.timeformat="%H:%M:%S"
[MySQL]
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysql.allow_local_infile
mysql.allow_local_infile=On
; Allow or prevent persistent links.
; http://php.net/mysql.allow-persistent
mysql.allow_persistent=On
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/mysql.cache_size
mysql.cache_size=2000
; Maximum number of persistent links. -1 means no limit.
; http://php.net/mysql.max-persistent
mysql.max_persistent=-1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/mysql.max-links
mysql.max_links=-1
; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
; http://php.net/mysql.default-port
mysql.default_port=3306
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket="MySQL"
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-host
mysql.default_host=
; Default user for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-user
mysql.default_user=
; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
; http://php.net/mysql.default-password
mysql.default_password=
; Maximum time (in seconds) for connect timeout. -1 means no limit
; http://php.net/mysql.connect-timeout
mysql.connect_timeout=3
; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
; http://php.net/mysql.trace-mode
mysql.trace_mode=Off
[MySQLi]
; Maximum number of persistent links. -1 means no limit.
; http://php.net/mysqli.max-persistent
mysqli.max_persistent=-1
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysqli.allow_local_infile
mysqli.allow_local_infile=On
; Allow or prevent persistent links.
; http://php.net/mysqli.allow-persistent
mysqli.allow_persistent=On
; Maximum number of links. -1 means no limit.
; http://php.net/mysqli.max-links
mysqli.max_links=-1
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/mysqli.cache_size
mysqli.cache_size=2000
; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
; http://php.net/mysqli.default-port
mysqli.default_port=3306
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
mysqli.default_socket="MySQL"
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-host
mysqli.default_host=
; Default user for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-user
mysqli.default_user=
; Default password for mysqli_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
; http://php.net/mysqli.default-pw
mysqli.default_pw=
; Allow or prevent reconnect
mysqli.reconnect=Off
[mysqlnd]
; Enable / Disable collection of general statstics by mysqlnd which can be
; used to tune and monitor MySQL operations.
; http://php.net/mysqlnd.collect_statistics
mysqlnd.collect_statistics=On
; Enable / Disable collection of memory usage statstics by mysqlnd which can be
; used to tune and monitor MySQL operations.
; http://php.net/mysqlnd.collect_memory_statistics
mysqlnd.collect_memory_statistics=Off
; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
; http://php.net/mysqlnd.net_cmd_buffer_size
;mysqlnd.net_cmd_buffer_size = 2048
; Size of a pre-allocated buffer used for reading data sent by the server in
; bytes.
; http://php.net/mysqlnd.net_read_buffer_size
;mysqlnd.net_read_buffer_size = 32768
[OCI8]
; Connection: Enables privileged connections using external
; credentials (OCI_SYSOPER, OCI_SYSDBA)
; http://php.net/oci8.privileged-connect
;oci8.privileged_connect = Off
; Connection: The maximum number of persistent OCI8 connections per
; process. Using -1 means no limit.
; http://php.net/oci8.max-persistent
;oci8.max_persistent = -1
; Connection: The maximum number of seconds a process is allowed to
; maintain an idle persistent connection. Using -1 means idle
; persistent connections will be maintained forever.
; http://php.net/oci8.persistent-timeout
;oci8.persistent_timeout = -1
; Connection: The number of seconds that must pass before issuing a
; ping during oci_pconnect() to check the connection validity. When
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
; pings completely.
; http://php.net/oci8.ping-interval
;oci8.ping_interval = 60
; Connection: Set this to a user chosen connection class to be used
; for all pooled server requests with Oracle 11g Database Resident
; Connection Pooling (DRCP). To use DRCP, this value should be set to
; the same string for all web servers running the same application,
; the database pool must be configured, and the connection string must
; specify to use a pooled server.
;oci8.connection_class =
; High Availability: Using On lets PHP receive Fast Application
; Notification (FAN) events generated when a database node fails. The
; database must also be configured to post FAN events.
;oci8.events = Off
; Tuning: This option enables statement caching, and specifies how
; many statements to cache. Using 0 disables statement caching.
; http://php.net/oci8.statement-cache-size
;oci8.statement_cache_size = 20
; Tuning: Enables statement prefetching and sets the default number of
; rows that will be fetched automatically after statement execution.
; http://php.net/oci8.default-prefetch
;oci8.default_prefetch = 100
; Compatibility. Using On means oci_close() will not close
; oci_connect() and oci_new_connect() connections.
; http://php.net/oci8.old-oci-close-semantics
;oci8.old_oci_close_semantics = Off
[PostgresSQL]
; Allow or prevent persistent links.
; http://php.net/pgsql.allow-persistent
pgsql.allow_persistent=On
; Detect broken persistent links always with pg_pconnect().
; Auto reset feature requires a little overheads.
; http://php.net/pgsql.auto-reset-persistent
pgsql.auto_reset_persistent=Off
; Maximum number of persistent links. -1 means no limit.
; http://php.net/pgsql.max-persistent
pgsql.max_persistent=-1
; Maximum number of links (persistent+non persistent). -1 means no limit.
; http://php.net/pgsql.max-links
pgsql.max_links=-1
; Ignore PostgreSQL backends Notice message or not.
; Notice message logging require a little overheads.
; http://php.net/pgsql.ignore-notice
pgsql.ignore_notice=0
; Log PostgreSQL backends Noitce message or not.
; Unless pgsql.ignore_notice=0, module cannot log notice message.
; http://php.net/pgsql.log-notice
pgsql.log_notice=0
[Sybase-CT]
; Allow or prevent persistent links.
; http://php.net/sybct.allow-persistent
sybct.allow_persistent=On
; Maximum number of persistent links. -1 means no limit.
; http://php.net/sybct.max-persistent
sybct.max_persistent=-1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/sybct.max-links
sybct.max_links=-1
; Minimum server message severity to display.
; http://php.net/sybct.min-server-severity
sybct.min_server_severity=10
; Minimum client message severity to display.
; http://php.net/sybct.min-client-severity
sybct.min_client_severity=10
; Set per-context timeout
; http://php.net/sybct.timeout
;sybct.timeout=
;sybct.packet_size
; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
; Default: one minute
;sybct.login_timeout=
; The name of the host you claim to be connecting from, for display by sp_who.
; Default: none
;sybct.hostname=
; Allows you to define how often deadlocks are to be retried. -1 means "forever".
; Default: 0
;sybct.deadlock_retry_count=
[bcmath]
; Number of decimal digits for all bcmath functions.
; http://php.net/bcmath.scale
bcmath.scale=0
[browscap]
; http://php.net/browscap
browscap="D:\xampp\php\extras\browscap.ini"
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler=files
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
session.save_path="D:\xampp\tmp"
; Whether to use cookies.
; http://php.net/session.use-cookies
session.use_cookies=1
; http://php.net/session.cookie-secure
;session.cookie_secure =
; This option forces PHP to fetch and use a cookie for storing and maintaining
; the session id. We encourage this operation as it's very helpful in combatting
; session hijacking when not specifying and managing your own session id. It is
; not the end all be all of session hijacking defense, but it's a good start.
; http://php.net/session.use-only-cookies
session.use_only_cookies=0
; Name of the session (used as cookie name).
; http://php.net/session.name
session.name=PHPSESSID
; Initialize session on request startup.
; http://php.net/session.auto-start
session.auto_start=0
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
; http://php.net/session.cookie-lifetime
session.cookie_lifetime=0
; The path for which the cookie is valid.
; http://php.net/session.cookie-path
session.cookie_path=/
; The domain for which the cookie is valid.
; http://php.net/session.cookie-domain
session.cookie_domain=
; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
; http://php.net/session.cookie-httponly
session.cookie_httponly=
; Handler used to serialize data. php is the standard serializer of PHP.
; http://php.net/session.serialize-handler
session.serialize_handler=php
; Defines the probability that the 'garbage collection' process is started
; on every session initialization. The probability is calculated by using
; gc_probability/gc_divisor. Where session.gc_probability is the numerator
; and gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request.
; Default Value: 1
; Development Value: 1
; Production Value: 1
; http://php.net/session.gc-probability
session.gc_probability=1
; Defines the probability that the 'garbage collection' process is started on every
; session initialization. The probability is calculated by using the following equation:
; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
; session.gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request. Increasing this value to 1000 will give you
; a 0.1% chance the gc will run on any give request. For high volume production servers,
; this is a more efficient approach.
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
; http://php.net/session.gc-divisor
session.gc_divisor=1000
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; http://php.net/session.gc-maxlifetime
session.gc_maxlifetime=1440
; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope.
; PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled. This feature
; introduces some serious security problems if not handled correctly. It's
; recommended that you do not use this feature on production servers. But you
; should enable this on development servers and enable the warning as well. If you
; do not enable the feature on development servers, you won't be warned when it's
; used and debugging errors caused by this can be difficult to track down.
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/session.bug-compat-42
session.bug_compat_42=On
; This setting controls whether or not you are warned by PHP when initializing a
; session value into the global space. session.bug_compat_42 must be enabled before
; these warnings can be issued by PHP. See the directive above for more information.
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/session.bug-compat-warn
session.bug_compat_warn=On
; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
; http://php.net/session.referer-check
session.referer_check=
; How many bytes to read from the file.
; http://php.net/session.entropy-length
session.entropy_length=0
; Specified here to create the session id.
; http://php.net/session.entropy-file
; Defaults to /dev/urandom
; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom
; If neither are found at compile time, the default is no entropy file.
; On windows, setting the entropy_length setting will activate the
; Windows random source (using the CryptoAPI)
;session.entropy_file = /dev/urandom
session.entropy_file=
; http://php.net/session.entropy-length
;session.entropy_length = 16
; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter=nocache
; Document expires after n minutes.
; http://php.net/session.cache-expire
session.cache_expire=180
; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
; http://php.net/session.use-trans-sid
session.use_trans_sid=0
; Select a hash function for use in generating session ids.
; Possible Values
; 0 (MD5 128 bits)
; 1 (SHA-1 160 bits)
; This option may also be set to the name of any hash function supported by
; the hash extension. A list of available hashes is returned by the hash_algos()
; function.
; http://php.net/session.hash-function
session.hash_function=0
; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
; Possible values:
; 4 (4 bits: 0-9, a-f)
; 5 (5 bits: 0-9, a-v)
; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
; Default Value: 4
; Development Value: 5
; Production Value: 5
; http://php.net/session.hash-bits-per-character
session.hash_bits_per_character=5
; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
; Default Value: "a=href,area=href,frame=src,form=,fieldset="
; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentr y"
; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentr y"
; http://php.net/url-rewriter.tags
url_rewriter.tags="a=href,area=href,frame=src,input=src,form=fakeentr y"
; Enable upload progress tracking in $_SESSION
; Default Value: On
; Development Value: On
; Production Value: On
; http://php.net/session.upload-progress.enabled
;session.upload_progress.enabled = On
; Cleanup the progress information as soon as all POST data has been read
; (i.e. upload completed).
; Default Value: On
; Development Value: On
; Production Value: On
; http://php.net/session.upload-progress.cleanup
;session.upload_progress.cleanup = On
; A prefix used for the upload progress key in $_SESSION
; Default Value: "upload_progress_"
; Development Value: "upload_progress_"
; Production Value: "upload_progress_"
; http://php.net/session.upload-progress.prefix
;session.upload_progress.prefix = "upload_progress_"
; The index name (concatenated with the prefix) in $_SESSION
; containing the upload progress information
; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
; http://php.net/session.upload-progress.name
;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
; How frequently the upload progress should be updated.
; Given either in percentages (per-file), or in bytes
; Default Value: "1%"
; Development Value: "1%"
; Production Value: "1%"
; http://php.net/session.upload-progress.freq
;session.upload_progress.freq = "1%"
; The minimum delay between updates, in seconds
; Default Value: 1
; Development Value: 1
; Production Value: 1
; http://php.net/session.upload-progress.min-freq
;session.upload_progress.min_freq = "1"
[MSSQL]
; Allow or prevent persistent links.
mssql.allow_persistent=On
; Maximum number of persistent links. -1 means no limit.
mssql.max_persistent=-1
; Maximum number of links (persistent+non persistent). -1 means no limit.
mssql.max_links=-1
; Minimum error severity to display.
mssql.min_error_severity=10
; Minimum message severity to display.
mssql.min_message_severity=10
; Compatibility mode with old versions of PHP 3.0.
mssql.compatability_mode=Off
; Connect timeout
;mssql.connect_timeout = 5
; Query timeout
;mssql.timeout = 60
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
; Limits the number of records in each batch. 0 = all records in one batch.
;mssql.batchsize = 0
; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
;mssql.datetimeconvert = On
; Use NT authentication when connecting to the server
mssql.secure_connection=Off
; Specify max number of processes. -1 = library default
; msdlib defaults to 25
; FreeTDS defaults to 4096
;mssql.max_procs = -1
; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
;mssql.charset = "ISO-8859-1"
[Assertion]
; Assert(expr); active by default.
; http://php.net/assert.active
;assert.active = On
; Issue a PHP warning for each failed assertion.
; http://php.net/assert.warning
;assert.warning = On
; Don't bail out by default.
; http://php.net/assert.bail
;assert.bail = Off
; User-function to be called if an assertion fails.
; http://php.net/assert.callback
;assert.callback = 0
; Eval the expression with current error_reporting(). Set to true if you want
; error_reporting(0) around the eval().
; http://php.net/assert.quiet-eval
;assert.quiet_eval = 0
[COM]
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
; http://php.net/com.typelib-file
;com.typelib_file =
; allow Distributed-COM calls
; http://php.net/com.allow-dcom
;com.allow_dcom = true
; autoregister constants of a components typlib on com_load()
; http://php.net/com.autoregister-typelib
;com.autoregister_typelib = true
; register constants casesensitive
; http://php.net/com.autoregister-casesensitive
;com.autoregister_casesensitive = false
; show warnings on duplicate constant registrations
; http://php.net/com.autoregister-verbose
;com.autoregister_verbose = true
; The default character set code-page to use when passing strings to and from COM objects.
; Default: system ANSI code page
;com.code_page=
[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
;mbstring.language = Japanese
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
;mbstring.internal_encoding = EUC-JP
; http input encoding.
; http://php.net/mbstring.http-input
;mbstring.http_input = auto
; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
;mbstring.http_output = SJIS
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
; http://php.net/mbstring.encoding-translation
;mbstring.encoding_translation = Off
; automatic encoding detection order.
; auto means
; http://php.net/mbstring.detect-order
;mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
; http://php.net/mbstring.substitute-character
;mbstring.substitute_character = none;
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; http://php.net/mbstring.func-overload
;mbstring.func_overload = 0
; enable strict encoding detection.
;mbstring.strict_detection = Off
; This directive specifies the regex pattern of content types for which mb_output_handler()
; is activated.
; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
;mbstring.http_output_conv_mimetype=
; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte
; Default: ""
;mbstring.script_encoding=
[gd]
; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices
; disabled by default
; http://php.net/gd.jpeg-ignore-warning
;gd.jpeg_ignore_warning = 0
[exif]
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
; http://php.net/exif.encode-unicode
;exif.encode_unicode = ISO-8859-15
; http://php.net/exif.decode-unicode-motorola
;exif.decode_unicode_motorola = UCS-2BE
; http://php.net/exif.decode-unicode-intel
;exif.decode_unicode_intel = UCS-2LE
; http://php.net/exif.encode-jis
;exif.encode_jis =
; http://php.net/exif.decode-jis-motorola
;exif.decode_jis_motorola = JIS
; http://php.net/exif.decode-jis-intel
;exif.decode_jis_intel = JIS
[Tidy]
; The path to a default tidy configuration file to use when using tidy
; http://php.net/tidy.default-config
;tidy.default_config = "D:\xampp\php\extras\default.tcfg"
; Should tidy clean and repair output automatically?
; WARNING: Do not use this option if you are generating non-html content
; such as dynamic images
; http://php.net/tidy.clean-output
tidy.clean_output=Off
[soap]
; Enables or disables WSDL caching feature.
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
; http://php.net/soap.wsdl-cache-dir
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
; http://php.net/soap.wsdl-cache-ttl
soap.wsdl_cache_ttl=86400
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
soap.wsdl_cache_limit=5
[sysvshm]
; A default size of the shared memory segment
;sysvshm.init_mem = 10000
[ldap]
; Sets the maximum number of open links or -1 for unlimited.
ldap.max_links=-1
[mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open
; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=
; Directory where to load mcrypt modes
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=
[dba]
;dba.default_handler=
[FrontBase]
;fbsql.allow_persistent = On
;fbsql.autocommit = On
;fbsql.show_timestamp_decimals = Off
;fbsql.default_database =
;fbsql.default_database_password =
;fbsql.default_host =
;fbsql.default_password =
;fbsql.default_user = "_SYSTEM"
;fbsql.generate_warnings = Off
;fbsql.max_connections = 128
;fbsql.max_links = 128
;fbsql.max_persistent = -1
;fbsql.max_results = 128
[mime_magic]
mime_magic.magicfile="D:\xampp\php\extras\magic.mime"
;mime_magic.debug = On
[eAccelerator]
;zend_extension = "D:\xampp\php\ext\php_eaccelerator_ts.dll"
; The amount of shared memory (in megabytes) that eAccelerator will use.
; "0" means OS default. Default value is "0".
eaccelerator.shm_size="0"
; The directory that is used for disk cache. eAccelerator stores precompiled
; code, session data, content and user entries here. The same data can be
; stored in shared memory also (for more quick access). Default value is
; "/tmp/eaccelerator".
eaccelerator.cache_dir="D:\xampp\tmp"
; Enables or disables eAccelerator. Should be "1" for enabling or
; "0" for disabling. Default value is "1".
eaccelerator.enable="1"
; Enables or disables debug logging. Setting this to 1 will print information
; to the log file about the cach hits of a file.
eaccelerator.debug=0
; Set the log file for eaccelerator. When this option isn't set then the data
; will be logged to stderr
;eaccelerator.log_file = "D:\xampp\apache\logs\eaccelerator.log"
; Enables or disables PHP file modification checking. Should be "1"
; for enabling or "0" for disabling. You should set it to "1" if you want
; to recompile PHP files after modification. Default value is "1".
eaccelerator.check_mtime="1"
; Determine which PHP files must be cached. You may specify the number of
; patterns (for example "*.php *.phtml") which specifies to cache or
; not to cache. If pattern starts with the character "!", it means to ignore
; files which are matched by the following pattern. Default value is "" that
; means - all PHP scripts will be cached.
eaccelerator.filter=""
; Disables putting large values into shared memory by "eaccelerator_put()"
; function.
; It indicates the largest allowed size in bytes (10240, 10K, 1M). The "0"
; disables the limit. Default value is "0".
eaccelerator.shm_max="0"
; When eAccelerator fails to get shared memory for new script it removes
; all scripts which were not accessed at last "shm_ttl" seconds from shared
; memory. Default value is "0" that means - don't remove any files from
; shared memory.
eaccelerator.shm_ttl="0"
; When eAccelerator fails to get shared memory for new script it tryes to
; remove old script if the previous try was made more then "shm_prune_period"
; seconds ago. Default value is "0" that means - don't try to remove any
; files from shared memory.
eaccelerator.shm_prune_period="0"
; Enables or disables caching of compiled scripts on disk. It has no effect
; on session data and content caching.
; Default value is "0" that means - use disk and shared memory for caching.
eaccelerator.shm_only="0"
[XDebug]
;zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 0
;xdebug.profiler_enable = 1
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "D:\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
;xdebug.remote_enable = 0
;xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "127.0.0.1"
;xdebug.trace_output_dir = "D:\xampp\tmp"
Dremis
01-29-2016, 08:58 PM
here's d:\xampp\htdocs\peqedit\config.php
<?php
// Database Information:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'eqemu';
$db = 'peq';
$mysql_class = 'mysqli'; // Use mysql or mysqli
/* Limit zone lists to a specified expansion
* (i.e. setting $expansion_limit to 2 would cause only Classic and Kunark zones
* to appear in zone drop-down lists)
* 1 = EQ Classic
* 2 = The Ruins of Kunark
* 3 = The Scars of Velious
* 4 = The Shadows of Luclin
* 5 = The Planes of Power
* 6 = The Legacy of Ykesha
* 7 = Lost Dungeons of Norrath
* 8 = Gates of Discord
* 9 = Omens of War
* 10 = Dragons of Norrath
* 11 = Depths of Darkhollow
* 12 = Prophecy of Ro
* 13 = The Serpent's Spine
* 14 = The Buried Sea
* 15 = Secrets of Faydwer
* 16 = Seeds of Destruction
* 17 = Underfoot
* 18 = House of Thule
* 19 = Veil of Alaris
* 20 = Rain of Fear
* 21 = Call of the Forsaken
* 22 = The Darkened Sea
* 99 = Other
*/
$expansion_limit = 22;
// How NPCs are listed. 1 = by NPCID (zoneidnumber*1000), 2 = By spawn2 entry
$npc_list = 1;
// Spawngroup list limit. Limits how many spawngroups are displayed as result of a Coord/NPC search. Specific NPC lists are not effected.
$spawngroup_limit = 150;
// Dont want to have to type the username and password every time you start the editor?
// Set the two variables below to the values you want to be in the form when you start it up.
// (default login: admin pw: password)
$login = '';
$password = '';
// Log SQL queries: 1 = on, 0 = off
$logging = 1;
// $log_file = path to the file your sql logs will be saved in.
// If you want a single log file, uncomment next line and comment the two monthly log options.
//$log_file = "logs/sql_log.sql";
// Automatically create new logs monthly.
$filetime = date("m-Y");
$log_file = "logs/sql_log_$filetime.sql";
// Log all MySQL queries (If disabled only write entries are logged - recommended.)
$log_all = 0;
// Log all MySQL queries that result in an error.
$log_error = 0;
// Enable or disable user logins.
$enable_user_login = 1;
// Enable or disable read only guest mode log in.
$enable_guest_mode = 0;
// Path for quests without trailing slash.
$quest_path = "D:/eqemuserver/quests"
?>
and here's d:\xampp\htdocs\peqedit\.htaccess
#Starting in Apache 2.4, they changed methods for allow/deny. To be certain of proper function, comment/uncomment the proper lines. Defaulting to 2.2 for now.
#See http://httpd.apache.org/docs/2.4/upgrading.html#access for more information
Options -Indexes
#Apache 2.2 and earlier
#<Files ~ "\.(php|sql)$">
# Order deny,allow
# Deny from all
#</Files>
#<Files index.php>
# Order allow,deny
# Allow from all
#</files>
#<Files aasearch.php>
# Order allow,deny
# Allow from all
#</files>
Apache 2.4 and later
<Files ~ "\.(php|sql)$">
Require all denied
</Files>
Apache 2.4 and later
<Files index.php>
Require all granted
</Files>
Apache 2.4 and later
<Files aasearch.php>
Require all granted
</Files>
and here's d:\xampp\htdocs\peqedit\templates\iframes\.htacces s
#Starting in Apache 2.4, they changed methods for allow/deny. To be certain of proper function, comment/uncomment the proper lines. Defaulting to 2.2 for now.
#See http://httpd.apache.org/docs/2.4/upgrading.html#access for more information
Options -Indexes
#Apache 2.2 and earlier
#<Files ~ "\.(php|sql)$">
# Order deny,allow
# Deny from all
#</Files>
#<Files index.php>
# Order allow,deny
# Allow from all
#</files>
#<Files aasearch.php>
# Order allow,deny
# Allow from all
#</files>
Apache 2.4 and later
<Files ~ "\.(php|sql)$">
Require all denied
</Files>
Apache 2.4 and later
<Files index.php>
Require all granted
</Files>
Apache 2.4 and later
<Files aasearch.php>
Require all granted
</Files>
If I missed one let me know.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.