Commit Graph

132 Commits

Author SHA1 Message Date
Ralf Becker
ad5d2c3941 docu update and fixed so_sql_cf::delete($keys,true) to always return array 2009-09-16 10:20:34 +00:00
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