5103e1c9a381cb990a8091cdc56bc8c4a58f2d6a
[mirrors/Kyberia-bloodline.git] / doc / TODO
1 - remove hard-coded constants (everywhere):
2
3 - Registration process -> Add welcome texts & move them to one file/node
4 +(during registration we should generate GnuPG keypair
5 to user_gpg_prv and user_gpg_pub fields in table users) (harvie)
6
7 - User mail -> can't delete the mails...
8 Anyway move whole mail handling out of nodes.php (?)
9
10 - SQL injections (many fixed, but some are still there)
11
12 - remove absolute paths from all source files (!)
13 - convert to some more inteligent path system... eg.:
14 define('SYSTEM_ROOT', '/srv/kyberia/');
15 define('SYSTEM_WWWROOT', SYSTEM_ROOT.'/wwwroot/');
16 define('SYSTEM_URL', '/'); //or https://dev.kyberia.cz/
17 define('SYSTEM_DATA', '_data/');
18 define('SYSTEM_IMAGES', '_images/');
19 because right now we can't determine both: filesystem path and URL of the same directory. this SUX!
20 - when we will be doing this we should make kyberia compatible with "./" PHP open base dir.
21 i think that it's really nice philosophy when PHP script is never accessing files that are not in the same directory (or it's subdirectory) as the script itself (especialy when it cannot do this - it can be good security improvement).
22
23 - remove hard-coded hostname from:
24 ( registration mails )
25 ( scripts in "scripts" directory (system paths))
26
27 - Fix https vs http problem (url)
28
29 - Uploading user images works, but resizing?
30
31 - Suspected security holes:
32 ( cron/process-img.sh )
33 ( ./inc/eventz/spamuj_ubik.inc )
34 ( ./inc/eventz/upload_own_template.inc ) (is even needed?)
35
36 - Remove/fix not working eventz
37 ( ./inc/eventz/addClass.inc )
38 ( ./inc/eventz/addEvent.inc )
39 ( ./inc/eventz/addAjax.inc )
40 ( ./inc/eventz/addPlugin.inc )
41 ( ./inc/eventz/kyberia.inc ) (wtf)
42
43 - Refactor directory structure
44
45 - Deprecated PHP features
46 ( Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 163 Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 184 Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 196 Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 208 Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 220 Deprecated: Assigning the return value of new by reference is deprecated in /srv/kyberia/wwwroot/nodes.php on line 242 )
47
48 - keep fixing XSS
49
50 - Fix defaukt template (big tables)
51
52 - Remove templates from git (they should be only in sql)
53
54 - Clean code => fix uninitialized variables
55
56 - documentation/installation guide (see README)
57
58 - Make PATH_INFO not changing contents of $_GET[] (it should affect some other variable instead - requires complex rewrite)
59 - Switch completely to Base36 (Templates, Links, don't change $_GET[], queries should convert between base10 in db and base36 in kyberia automatically, etc...)
60
61 - (IMHO we should use SHA1 or stronger algorithm instead of MD5 for storing passwords)
62 (I've implemented this partially. We can now login using various hash algorithms, it's backward compatible, but we still need to edit registration/password changing to use SHA1 when updating passwords in DB)
63
64 - Rename all files&directories that should not be rewrited to PATH_INFO to start with "_" (and if they should be also ignored by git they should start with "-")
65 (Rename images to _images - and fix hardcoded stuff...)
66
67 - Fix /(id|k)/*/download
68 (ERROR: Empty file to download.)
69 (I think this should be implemented as template (and smarty method for download). template can be ID down in base36 = 638807 in base10)
70
71 - Cleanup DB
72 (Make script for deleting nodes in recycle bin)
73 (Some actions (like loging, etc...) may be implemented using SQL triggers)
74 (Mark all nodes that should become part of distribution of kyberia software)
75 (Delete unused tables)
76 (Replace duplicit tables with VIEWs)
This page took 0.264783 seconds and 3 git commands to generate.