Ralf Becker
19086bb7b0
Some fixes and enhancments to simplify search with so_sql
...
- search($criteria,...) if $criteria is a string, search in all data
columns or - if set - $this->columns_to_search
--> that's NOT backward compatible - though a quick scan through the
EGroupware code showed no use of $criteria as string!
- this automatic search, appends and prepends '%' only, if search
pattern does NOT already contain wildcards (* or ?)
--> allows to search "test*" for values starting with test
- improved handling of db timestamps (Y-m-d H:i:s), to allow to search
for them too (eg. "2009-08-*")
- so_sql_cf::get_rows() now calls parent
- so_sql_cf::search() adds DISTINCT if query contains a join
--> ToDo: remove custom search code from apps, to give consitent search
behavior in all apps and simplify the code there
2009-08-19 12:08:52 +00:00
Ralf Becker
35626a6593
"docu update to avoid a common pitfall"
2009-08-17 12:28:30 +00:00
Ralf Becker
2a4e1a95cb
"- method to automatic convert all timestamp fileds to and from usertime
...
- enable this->timestamps to deal with timestamp type columns (as well as integers as before)"
2009-08-10 13:48:11 +00:00
Ralf Becker
232252475f
patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
...
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
95168d28bb
"method to access comments in schema definition"
2009-05-13 09:58:21 +00:00
Ralf Becker
5a22640c82
- changed return value of search() to NULL instead false, if nothing
...
found, as this can be simply casted with (array) to work in foreach
- documentation update
2009-05-03 18:36:38 +00:00
Ralf Becker
f61ffc2e5e
allow to pass $extra_cols parameter from get_rows to search
2009-03-11 12:14:15 +00:00
Ralf Becker
1b4d236d4a
New class extending so_sql handing all custom fields needs: reading,
...
saving, searching, ordering and filtering
Makeing a full custom field implementation like in addressbook very easy
and quick
2009-01-17 03:36:58 +00:00
Stefan Becker
858485ad30
"fixed Bug #1663 'More News' not visible in sitemgr when limit is 1, -> so_sql, is now giving back the numbers of total"
2008-10-07 08:17:09 +00:00
Ralf Becker
a1a3ed0d35
"use egw_db::select instead of self::search in so_sql::not_unique() as it does NOT set this->data"
2008-09-22 16:00:45 +00:00
Ralf Becker
70052c8355
fixed SyncML and accounts problem reported by Phillip Herbert <pherbert-at-knauber.de>: update set all but the updated fields to NULL, instead of just updating the given fields
2008-07-02 15:25:54 +00:00
Ralf Becker
b3b53c2f87
"treat (space separated) words in search as or'ed search for them individually"
2008-06-26 16:08:47 +00:00
Ralf Becker
23c473690e
"removed accidently commited 2. patch"
2008-06-19 16:07:57 +00:00
Ralf Becker
b89e7b46a1
"fixed not working install (segfault) caused by account creation in sitemgr's default_records and the new uid code in addressbook_sql::save() going into an invinit recureing, because so_sql::update calls $this->save() instead of self::save()"
2008-06-18 19:56:26 +00:00
Klaus Leithoff
09abb185f9
# improving of the negated search criteria behavior
2008-06-17 07:28:35 +00:00
Ralf Becker
6b74d6ad88
"switched permanent debug message off again"
2008-06-04 05:26:52 +00:00
Ralf Becker
c34dc55633
"fixing the fix: only add primary key, if it's NOT an auto id"
2008-05-30 08:20:06 +00:00
Ralf Becker
b6be2fb249
"bugfix: not_unique() method was not working with unique indexes over multiple columns and was not testing the primary keys, with is also unique"
2008-05-28 12:17:06 +00:00
Ralf Becker
78dd1cdf03
missed new $no_clone parameter
2008-05-26 08:32:27 +00:00
Ralf Becker
83a250e085
php5 __construct plus old old class-name method calling the new constructor, added non_db_cols to __get() and __set()
2008-05-26 08:27:24 +00:00
Ralf Becker
b69b8085e6
Fixed some problems with the etag handling, causing an SQL error on
...
merging contacts, as reported by Johannes Gorschlüter from Stylite
2008-05-17 06:44:17 +00:00
Ralf Becker
d58ddd9999
"allow to insert rows with the auto-id specified"
2008-04-27 20:05:04 +00:00
Ralf Becker
163b795d45
"extra where condition, eg. to check etag on writing"
2008-04-26 07:49:01 +00:00
Ralf Becker
5fd2d8def8
removed unnecessary instancations and using static methods of html and egw_link class
2008-03-25 16:42:23 +00:00
Ralf Becker
ef43425f7f
allow to use global db-object (and no clone&set_app), if told so via a separate parameter to the constructor (not by default as the app using so_sql might not be ready for it)
2008-03-13 11:08:54 +00:00
Ralf Becker
33b2504316
"Added code to convert timestamps to so_sql.
...
If you want to use it, you only need to set the timestamps to be converted from user to servertime in so_sql::timestamps AND dont reimplemnt db2data/data2db (or call the default implementation)"
2007-12-04 01:13:53 +00:00
Ralf Becker
fb9d6db5be
"fixed so_sql::get_rows to return an empty array() instead of array(false) if nothing found"
2007-11-27 21:24:50 +00:00
Ralf Becker
336784d74e
fixed only partcial csv export in timesheet, get_rows was not using the num_rows parameter
2007-10-07 13:29:24 +00:00
Ralf Becker
f21e357253
fixed not working direct sql-updates (eg. 'etag=etag+1') via so_sql::save's parameter
2007-09-06 11:56:37 +00:00
Ralf Becker
c5ac764580
"- bugfix: data_merge was not merging null values (isset instead of array_key_exists)
...
- new update function, which write just the given cols and not the whole row"
2007-07-05 04:46:49 +00:00
Ralf Becker
94dced8024
"fix for bug #747 : Postgres SQL error searching tracker items"
2007-05-21 04:49:57 +00:00
Ralf Becker
e11b8e5e32
worked around stupid php5.2 empty haystack warnings
2007-04-29 14:25:19 +00:00
Ralf Becker
4e49113cc1
"removed debug-message"
2007-02-14 07:22:15 +00:00
Ralf Becker
6ffdbb01a1
"read: prefix column with table-name, if used in join, to prevent ambigous col-name"
2007-02-14 07:07:58 +00:00
Ralf Becker
e64e3e06b1
so_sql::init() returns now $this->data as eg. so_sql::read()
2007-01-08 15:57:58 +00:00
Ralf Becker
f4238614f3
new egw_db::capabilities['case_insensitive_like']=='LIKE' ('ILIKE' for Postgres) used for all so_sql search and the lettersearch in addressbook
2006-12-17 08:44:05 +00:00
Ralf Becker
297690b22c
added php4.3 compatibility function stripos, to get back php4.3 compatibility after the recent replacement of stristr with stripos
2006-12-09 14:20:10 +00:00
Ralf Becker
9e5ba08ecb
fixed warning introduced by strstr --> strpos conversation
2006-12-07 19:05:40 +00:00
Cornelius Weiß
4338f6726b
strstr -> strpos fix by thomas koch
2006-12-07 12:46:46 +00:00
Ralf Becker
998d51bef4
- fixed bug reported by Deti Fliegl: [ 1548175 ] Pictures in Addressbook cannot be deleted
...
- docu update
2006-08-29 04:19:38 +00:00
Ralf Becker
325d849332
allow to use columns, which are not unique, for read
2006-07-08 00:38:06 +00:00
Ralf Becker
07df005b44
so_sql::search() was loosing filters, sql-strings (int keys) where writen with that key, instead with []
2006-06-17 18:30:38 +00:00
Ralf Becker
abf67e8471
fix for no colums given via $only_keys=''
2006-05-17 03:02:47 +00:00
Ralf Becker
c019eda361
fix for integer values
2006-04-30 16:42:33 +00:00
Ralf Becker
c170b9a047
so_sql::search:
...
- you can use now "!''" (exclemation mark plus 2 single quotes) as value in $filter and $criteria to search for not empty columns
- only_keys (columns to retrieve) can additionally be an array of column-names
2006-04-24 20:48:18 +00:00
Ralf Becker
6a089fb606
some fixes
2006-04-23 14:42:41 +00:00
Cornelius Weiß
69aa6abdec
update docu to better run trough phpdocumentor
2006-04-20 17:12:30 +00:00
Ralf Becker
2261ca5419
- dont write columns not set in $this->data
...
- read used internal name of primary key, instead of db name (only matters if they differ)
- param column_prefix of constructor and setup_table, to automatic setup a conversation from internal name (without prefix) to the db-name with the prefix
--> I will commit this bugfixes after a short testing period to 1.2 too
2006-04-19 08:03:28 +00:00
Ralf Becker
85a9bfb5d3
For a union-query call search for each query with $start=='UNION' and one more with only $order_by and $start set to run the union-query
2006-04-05 15:22:50 +00:00
Ralf Becker
23f5d80380
enabled so_sql::search to use UNION
2006-03-26 22:09:02 +00:00
Ralf Becker
f21f778800
small phpDoc updates
2005-11-10 05:15:06 +00:00
Ralf Becker
b254fdaeaf
allow to use !patter as value in the criteria array to invert the query (NOT LIKE instead of LIKE)
2005-11-01 10:13:28 +00:00
Ralf Becker
8bfbbd96ae
allow extending classes to use numerical and string debug-levels, so_sql only reacts on debug=4
2005-10-16 11:45:59 +00:00
Cornelius Weiß
7679d73df0
update documentation
2005-06-11 10:49:50 +00:00
Cornelius Weiß
ea424535df
update documentation
2005-06-11 10:09:34 +00:00
Ralf Becker
fc5d6daee4
- query_list can now return arrays with customizable keys, eg. for option-lists incl. title
...
- save works now for tables which have no columns beside the primary key
2005-05-21 18:17:21 +00:00
Ralf Becker
3c8f31fcf7
some bug-fixes plus using the new mysql >= 4.0 feature to count the total number of rows in a limited query
2005-05-19 13:15:19 +00:00
Ralf Becker
ba85974cef
new method query_list to return an array with one column as key and an other one as value, eg. for option-lists
2005-05-10 14:44:34 +00:00
Ralf Becker
72aa737bc4
search: allow aliases in the retrived columns
2005-05-01 11:38:59 +00:00
Ralf Becker
fa95917fba
- get_rows functions now allows to pass a join to the select-function
...
- fixed the counting of not-left joins (we cant ignore them, nor can we use count(*), we make an unlimited query now and retrive the number of rows with num_rows())
2005-04-27 20:47:34 +00:00
Ralf Becker
40526f9b2b
- read use now only the unique keys, if no primary key specified
...
- search: allow to specify the number of rows to return (only the offset was possible before)
- improved hadling of table.*
2005-04-24 17:11:34 +00:00
Ralf Becker
9d43446af2
fixed 2 join-related bugs
2005-04-22 13:49:36 +00:00
Ralf Becker
5f05d9cae9
search:
...
- returns reference now
- $order_by param can contain a GROUP BY clause too
- $extra_cols param can contain comma-sep. string now
- fixed reg-expr. to detect column-aliases (was not requiring a space after AS before)
2005-04-20 17:27:48 +00:00
Ralf Becker
658fe2f4c9
allow to pass (already quoted) query-parts as filter
2005-04-19 13:54:55 +00:00
Ralf Becker
7f74e935bb
small fix count(*) in get_rows uses no LIMIT
2005-04-14 22:09:40 +00:00
Ralf Becker
f2be05f26f
added join parameter to the read too
2005-04-10 21:15:33 +00:00
Ralf Becker
20cacc2f1d
1) fixed not working inserts, if primary key (not auto-increment) where given
...
2) allow 0 to be written and not treated as null
3) added join feature for search
2005-04-08 18:30:32 +00:00
Ralf Becker
cb820c8ccf
only omit filter-column in search, if it's realy set to a value
2005-03-29 17:06:50 +00:00
Ralf Becker
4eb9a76c0b
search accepts now a string with column-names for the only_keys parameter, you can use eg. 'DISTINCT mycol'
2005-03-13 23:35:51 +00:00
Ralf Becker
d238e9d9cd
added optional parameter to the constructor to pass a db-object, eg. for a connection to a different database/host
2005-03-06 21:39:46 +00:00
Ralf Becker
df847f6d8f
returning extra_cols in search
2005-03-05 14:54:14 +00:00
Ralf Becker
450de4d93f
reworked so_sql class with new db-methods db::select, db::insert, db::update, db::delete and added get_rows method for the nextmatch widget
2005-02-27 21:31:10 +00:00
Ralf Becker
ac060de053
docu update
2005-02-22 22:11:00 +00:00
Ralf Becker
bc13c208fe
fixed inline documentation, works very nice now
2005-02-13 13:03:36 +00:00
reinerj
b01bf986dc
change files from phpgw to egw
2004-01-27 16:58:19 +00:00
Ralf Becker
e5f6a0ae08
applied tbsky's so_sql patch:
...
1. remove a redundant line (var $non_db_cols = array();)
2. make read function process scalar value, as ur comment say.
3. make search function work on "NULL" values
2003-11-03 16:19:48 +00:00
Ralf Becker
28362cbdaa
added possibility to use a sql query-string to so_sql::search
2003-04-16 14:32:15 +00:00
Ralf Becker
4bbae0e6f7
change behavior on auto-increment columns, they are not written for new entries
...
some formatting and droped the aliases
2003-03-27 17:21:58 +00:00
Ralf Becker
569a3672b0
some corrections for the inline-doc-parser
2002-09-02 11:14:30 +00:00
Ralf Becker
b7418f98ba
changed last_insert_id() to get_last_insert_id($table,$field)
2002-02-18 13:51:04 +00:00
Ralf Becker
fec8b59825
inital import: generalised so-layer working on the tables_current file
2002-02-18 06:52:33 +00:00