altocompta/include/user_menu.php
Dany De Bontridder c477c9e259 Merged revisions 1909-1911,1914-1915,1917-1920,1922-1925,1927,1929-1943,1945,1947-1953,1955-1965,1967-1977,1979-1993,1995-2018,2020-2040,2042-2046,2048-2160 via svnmerge from
svn+ssh://danydb@svn/svn/phpcompta/branches/rel410-exp

........
  r1909 | danydb | 2008-03-03 18:01:14 +0100 (Mon, 03 Mar 2008) | 1 line
  
  New branches for the rel410 : priority =  interface 
........
  r1914 | danydb | 2008-03-05 18:53:35 +0100 (Wed, 05 Mar 2008) | 1 line
  
  Code cleaning for the predefined operation
........
  r1918 | danydb | 2008-03-07 16:56:47 +0100 (Fri, 07 Mar 2008) | 1 line
  
  The database version is now in a constant
........
  r1920 | danydb | 2008-03-10 12:07:00 +0100 (Mon, 10 Mar 2008) | 1 line
  
  Not needed patch
........
  r1922 | danydb | 2008-03-10 16:45:29 +0100 (Mon, 10 Mar 2008) | 1 line
  
  COSMETIC : improve login page
........
  r1923 | danydb | 2008-03-10 17:10:52 +0100 (Mon, 10 Mar 2008) | 1 line
  
  COSMETIC : improve interface template of document
........
  r1924 | danydb | 2008-03-10 18:34:12 +0100 (Mon, 10 Mar 2008) | 1 line
  
  Cosmetic : improve interface "preference"
........
  r1929 | danydb | 2008-03-11 16:08:53 +0100 (Tue, 11 Mar 2008) | 1 line
  
  Complete workaround (see rev 1927)
........
  r1930 | danydb | 2008-03-11 18:28:23 +0100 (Tue, 11 Mar 2008) | 1 line
  
  Task 46 : rewrite Rapport before adding miniRapport
........
  r1931 | danydb | 2008-03-11 18:36:31 +0100 (Tue, 11 Mar 2008) | 1 line
  
  class_periode was removed by mistake, it is readded
........
  r1932 | danydb | 2008-03-12 19:12:07 +0100 (Wed, 12 Mar 2008) | 1 line
  
  task 46 : rewritting of rapport
........
  r1934 | danydb | 2008-03-13 14:13:23 +0100 (Thu, 13 Mar 2008) | 1 line
  
  Task 46 Rapport are completely rewritted
........
  r1935 | danydb | 2008-03-13 17:06:36 +0100 (Thu, 13 Mar 2008) | 1 line
  
  Task 46 mini report on welcome page -> task finished
........
  r1936 | danydb | 2008-03-14 10:55:15 +0100 (Fri, 14 Mar 2008) | 1 line
  
  Correct documentation
........
  r1937 | danydb | 2008-03-14 12:13:54 +0100 (Fri, 14 Mar 2008) | 1 line
  
  if the browser doesn\'t accept the cookie, the PHPSESSID must be put into the url 
........
  r1938 | danydb | 2008-03-14 16:26:01 +0100 (Fri, 14 Mar 2008) | 1 line
  
  Fix unknow pass_1
........
  r1939 | danydb | 2008-03-14 16:27:15 +0100 (Fri, 14 Mar 2008) | 1 line
  
  Duplicate DBVERSION
........
  r1940 | danydb | 2008-03-14 16:50:14 +0100 (Fri, 14 Mar 2008) | 1 line
  
  Cosmetic
........
  r1941 | danydb | 2008-03-14 16:51:19 +0100 (Fri, 14 Mar 2008) | 1 line
  
  In .htaccess the value of error_reporting must different in prod.
........
  r1943 | danydb | 2008-03-15 20:13:47 +0100 (Sat, 15 Mar 2008) | 1 line
  
  task 50 : check if bcmath avail.
........
  r1952 | danydb | 2008-03-18 16:43:48 +0100 (Tue, 18 Mar 2008) | 1 line
  
  Improve code 
........
  r1955 | danydb | 2008-03-18 18:19:35 +0100 (Tue, 18 Mar 2008) | 1 line
  
  Code cleaning : Replace InsertJrn and InsertJrnx by Acc_Operation:insert_jrn and Acc_Operation:insert_jrnx, replace also the reconciliation by Acc_Reconciliation:insert
........
  r1956 | danydb | 2008-03-19 19:12:37 +0100 (Wed, 19 Mar 2008) | 1 line
  
  Improve code : tva is now an object acc_tva
........
  r1957 | danydb | 2008-03-20 13:43:38 +0100 (Thu, 20 Mar 2008) | 1 line
  
  Fix some vulnerabilities for SQL Injection
........
  r1959 | danydb | 2008-03-20 23:07:24 +0100 (Thu, 20 Mar 2008) | 1 line
  
  task 34 : Improve CSS
........
  r1960 | danydb | 2008-03-20 23:45:04 +0100 (Thu, 20 Mar 2008) | 1 line
  
  task 48 : improve report
........
  r1961 | danydb | 2008-03-20 23:52:32 +0100 (Thu, 20 Mar 2008) | 1 line
  
  Fix small cosmetic bugs and improve the search account_windows
........
  r1962 | danydb | 2008-03-20 23:55:07 +0100 (Thu, 20 Mar 2008) | 1 line
  
  improve the search account_windows
........
  r1968 | danydb | 2008-03-21 18:46:26 +0100 (Fri, 21 Mar 2008) | 1 line
  
  Improve the account search functionnality
........
  r1969 | danydb | 2008-03-21 20:29:39 +0100 (Fri, 21 Mar 2008) | 1 line
  
  task #31 & task #34 : mail follow-up, 2 step instead of 3 and improve appearance
........
  r1970 | danydb | 2008-03-21 22:01:30 +0100 (Fri, 21 Mar 2008) | 1 line
  
  Task #27 : modify detail of folder and template
........
  r1971 | danydb | 2008-03-21 22:22:20 +0100 (Fri, 21 Mar 2008) | 1 line
  
  Task 53 : add the tva rate in the generated invoice
........
  r1972 | danydb | 2008-03-21 22:26:41 +0100 (Fri, 21 Mar 2008) | 1 line
  
  Make a insensitive search for the folder name
........
  r1990 | danydb | 2008-03-26 23:36:46 +0100 (Wed, 26 Mar 2008) | 1 line
  
  Conversion to unicode 
........
  r1991 | danydb | 2008-03-26 23:58:06 +0100 (Wed, 26 Mar 2008) | 1 line
  
  cosmetic
........
  r1992 | danydb | 2008-03-26 23:58:08 +0100 (Wed, 26 Mar 2008) | 1 line
  
  Remove last latin1 code
........
  r1995 | danydb | 2008-03-31 17:35:30 +0200 (Mon, 31 Mar 2008) | 1 line
  
  report : Add the button Search for new line
........
  r1996 | danydb | 2008-03-31 17:38:56 +0200 (Mon, 31 Mar 2008) | 1 line
  
  report : add the set_poste_child 
........
  r1997 | danydb | 2008-03-31 22:32:05 +0200 (Mon, 31 Mar 2008) | 1 line
  
  Next SQL Upgrade for class_acc_tva
........
  r1998 | danydb | 2008-03-31 22:32:53 +0200 (Mon, 31 Mar 2008) | 1 line
  
  Rewriting of class_acc_parm_code
........
  r1999 | danydb | 2008-03-31 23:13:23 +0200 (Mon, 31 Mar 2008) | 1 line
  
  Improve VAT class and form
........
  r2000 | danydb | 2008-03-31 23:16:37 +0200 (Mon, 31 Mar 2008) | 1 line
  
  Rewrite TVA insert 
........
  r2001 | danydb | 2008-04-01 16:01:52 +0200 (Tue, 01 Apr 2008) | 5 lines
  
  Start to rewrite ledger encoding
  Move predefined operation to preod.inc.php
  Add the menu Predefined operation in the parameter module
........
  r2003 | danydb | 2008-04-01 22:02:26 +0200 (Tue, 01 Apr 2008) | 1 line
  
  Ergonomy : drop folder and template
........
  r2004 | danydb | 2008-04-03 22:59:45 +0200 (Thu, 03 Apr 2008) | 1 line
  
  Fix undefined variable in class_periode.php
........
  r2005 | danydb | 2008-04-04 00:13:05 +0200 (Fri, 04 Apr 2008) | 1 line
  
  Fix undefined variable in gestion->customer->operation
........
  r2006 | danydb | 2008-04-07 14:23:01 +0200 (Mon, 07 Apr 2008) | 1 line
  
  Login & mot de passe en français 
........
  r2007 | danydb | 2008-04-07 15:24:56 +0200 (Mon, 07 Apr 2008) | 1 line
  
  Documentation : change to unicode
........
  r2008 | danydb | 2008-04-07 16:42:02 +0200 (Mon, 07 Apr 2008) | 1 line
  
  Protect against SQL Injection
........
  r2009 | danydb | 2008-04-07 16:43:07 +0200 (Mon, 07 Apr 2008) | 1 line
  
  Download the definition of a report
........
  r2010 | danydb | 2008-04-07 16:57:55 +0200 (Mon, 07 Apr 2008) | 2 lines
  
  Remove debug info
........
  r2011 | danydb | 2008-04-07 17:32:17 +0200 (Mon, 07 Apr 2008) | 1 line
  
  Upload and save of a definition of a report
........
  r2012 | danydb | 2008-04-08 17:04:00 +0200 (Tue, 08 Apr 2008) | 1 line
  
  task 50 : use of bcmat to avoid rounding problem
........
  r2013 | danydb | 2008-04-09 13:48:30 +0200 (Wed, 09 Apr 2008) | 2 lines
  
  task #36 : add a warning if no mini report is defined
........
  r2024 | danydb | 2008-04-11 18:02:22 +0200 (Fri, 11 Apr 2008) | 1 line
  
  Task #25 : feature backup / restore useful, restore is always in unicode
........
  r2025 | danydb | 2008-04-11 18:35:55 +0200 (Fri, 11 Apr 2008) | 1 line
  
  task 51 : warning when trying to create a new folder
........
  r2026 | danydb | 2008-04-12 16:00:09 +0200 (Sat, 12 Apr 2008) | 2 lines
  
  Cosmetic : change in the detailled operation Debit by Montant
........
  r2027 | danydb | 2008-04-12 16:04:32 +0200 (Sat, 12 Apr 2008) | 2 lines
  
  Operation ; without details by default
........
  r2028 | danydb | 2008-04-12 16:04:47 +0200 (Sat, 12 Apr 2008) | 2 lines
  
  Remove details from operation supplier
........
  r2029 | danydb | 2008-04-12 16:15:17 +0200 (Sat, 12 Apr 2008) | 1 line
  
  Gestion : fix bug in return button when adding a customer
........
  r2030 | danydb | 2008-04-12 16:19:19 +0200 (Sat, 12 Apr 2008) | 1 line
  
  Gestion : bug remove delete message 
........
  r2031 | danydb | 2008-04-12 16:22:25 +0200 (Sat, 12 Apr 2008) | 3 lines
  
  Remove php tag and replace by echo
  Add in "Comptabilité" the Great Ledger
........
  r2032 | danydb | 2008-04-12 17:10:06 +0200 (Sat, 12 Apr 2008) | 1 line
  
  Fix Bilan : France bug with unicode 
........
  r2033 | danydb | 2008-04-12 17:17:55 +0200 (Sat, 12 Apr 2008) | 3 lines
  
  Separate the user setting from the general constant.php, a template file is given (config.inc)
  Fix some cosmetic bug for this shit of IE
........
  r2034 | danydb | 2008-04-18 14:51:13 +0200 (Fri, 18 Apr 2008) | 2 lines
  
  Fix bug : missing coma
........
  r2035 | danydb | 2008-04-19 23:39:09 +0200 (Sat, 19 Apr 2008) | 1 line
  
  class_widget fix button_href to work on the same way with IE and firefox
........
  r2036 | danydb | 2008-05-01 18:17:06 +0200 (Thu, 01 May 2008) | 2 lines
  
  task #33 start rewriting of encoding operation (VEN)
........
  r2037 | danydb | 2008-05-01 18:18:26 +0200 (Thu, 01 May 2008) | 2 lines
  
  task #33 start rewriting of encoding operation (VEN)
........
  r2040 | danydb | 2008-05-07 20:53:32 +0200 (Wed, 07 May 2008) | 1 line
  
  Unicode for doxygen
........
  r2043 | danydb | 2008-05-25 17:32:51 +0200 (Sun, 25 May 2008) | 2 lines
  
  Default pref is TEXT instead of SELECT
........
  r2045 | danydb | 2008-06-14 17:48:46 +0200 (Sat, 14 Jun 2008) | 1 line
  
  Add a style input_type
........
  r2046 | danydb | 2008-06-14 17:49:58 +0200 (Sat, 14 Jun 2008) | 3 lines
  
  1. Replace the CSS class u_content by content, the u_content existed for historic reason
  2. Start the coding of ledger sold
........
  r2048 | danydb | 2008-06-14 18:31:55 +0200 (Sat, 14 Jun 2008) | 1 line
  
  remove javascript warning 
........
  r2049 | danydb | 2008-06-14 18:32:26 +0200 (Sat, 14 Jun 2008) | 1 line
  
  Ledger SOLD add row
........
  r2050 | danydb | 2008-06-14 19:54:29 +0200 (Sat, 14 Jun 2008) | 1 line
  
  Ledger sold : replace dot by style
........
  r2051 | danydb | 2008-06-14 21:08:48 +0200 (Sat, 14 Jun 2008) | 1 line
  
  correct unicode char in doc folder
........
  r2052 | danydb | 2008-06-14 23:58:01 +0200 (Sat, 14 Jun 2008) | 1 line
  
  Ledger SOLD : automatic update of the total
........
  r2053 | danydb | 2008-06-15 12:05:02 +0200 (Sun, 15 Jun 2008) | 1 line
  
  Performance : the prototype.js is quite heavy, and is not any more included in every page, instead now, there is a html_min_start_page with a minimum of javascript files and a mintoolkit.js which contains the minimum for javascript
........
  r2054 | danydb | 2008-06-15 12:17:22 +0200 (Sun, 15 Jun 2008) | 1 line
  
  Prototype.js performance, included only if needed, improve performance for access.php, user_login.php
........
  r2055 | danydb | 2008-06-19 11:29:52 +0200 (Thu, 19 Jun 2008) | 1 line
  
  Cosmetic : Adapt CSS for F3
........
  r2056 | danydb | 2008-06-19 12:18:13 +0200 (Thu, 19 Jun 2008) | 1 line
  
  remove useless comment and debug message
........
  r2057 | danydb | 2008-06-19 12:32:58 +0200 (Thu, 19 Jun 2008) | 1 line
  
  Update CSS classic
........
  r2058 | danydb | 2008-06-24 01:14:21 +0200 (Tue, 24 Jun 2008) | 1 line
........
  r2059 | danydb | 2008-06-28 14:05:23 +0200 (Sat, 28 Jun 2008) | 1 line
  
  task #67 : infobulle
........
  r2060 | danydb | 2008-06-28 14:16:37 +0200 (Sat, 28 Jun 2008) | 1 line
  
  Bug in add_row 
........
  r2061 | danydb | 2008-06-28 14:16:49 +0200 (Sat, 28 Jun 2008) | 1 line
  
  task #67 : infobulle
........
  r2062 | danydb | 2008-06-28 15:21:57 +0200 (Sat, 28 Jun 2008) | 1 line
  
  Compute the sold amount via javascript
........
  r2063 | danydb | 2008-06-28 15:34:38 +0200 (Sat, 28 Jun 2008) | 1 line
  
  Correct typo
........
  r2064 | danydb | 2008-07-01 23:02:29 +0200 (Tue, 01 Jul 2008) | 1 line
  
  Add predef operation for VEN
........
  r2065 | danydb | 2008-07-02 23:57:45 +0200 (Wed, 02 Jul 2008) | 1 line
  
  Fixed undefined use_predef
........
  r2066 | danydb | 2008-07-03 15:27:22 +0200 (Thu, 03 Jul 2008) | 2 lines
  
  Work without prototype.js
........
  r2067 | danydb | 2008-07-03 18:33:03 +0200 (Thu, 03 Jul 2008) | 2 lines
  
  Fix bug with undefined variable
........
  r2068 | danydb | 2008-07-03 18:43:53 +0200 (Thu, 03 Jul 2008) | 2 lines
  
  typo
........
  r2069 | danydb | 2008-07-03 20:37:06 +0200 (Thu, 03 Jul 2008) | 1 line
  
  New version for Ledger sold and invoice
........
  r2070 | danydb | 2008-07-03 20:56:47 +0200 (Thu, 03 Jul 2008) | 1 line
  
  Update infobulle  + typo
........
  r2071 | danydb | 2008-07-04 12:55:16 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Correct last bug for compta_ven
........
  r2072 | danydb | 2008-07-04 14:34:24 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Task#39 Migrate to unicode
........
  r2073 | danydb | 2008-07-04 14:34:47 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Task#39 Migrate to unicode
........
  r2074 | danydb | 2008-07-04 14:40:38 +0200 (Fri, 04 Jul 2008) | 2 lines
  
  Add documentation for task #39 (unicode)
........
  r2075 | danydb | 2008-07-04 14:53:47 +0200 (Fri, 04 Jul 2008) | 2 lines
  
  cosmetic
........
  r2076 | danydb | 2008-07-04 16:52:56 +0200 (Fri, 04 Jul 2008) | 2 lines
  
  cosmetic
........
  r2077 | danydb | 2008-07-04 18:02:23 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Update CSS 
........
  r2078 | danydb | 2008-07-04 18:22:11 +0200 (Fri, 04 Jul 2008) | 2 lines
  
  Add reset type
........
  r2079 | danydb | 2008-07-04 21:50:24 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Rewriting of the financial ledger
........
  r2080 | danydb | 2008-07-04 21:53:43 +0200 (Fri, 04 Jul 2008) | 1 line
  
  Cosmetic
........
  r2081 | danydb | 2008-07-05 00:18:17 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Ledger Purchase 
........
  r2082 | danydb | 2008-07-05 00:18:42 +0200 (Sat, 05 Jul 2008) | 1 line
  
  rename compta_ach.php
........
  r2083 | danydb | 2008-07-05 03:49:35 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Finish ledger purchase
........
  r2084 | danydb | 2008-07-05 04:22:50 +0200 (Sat, 05 Jul 2008) | 1 line
  
  bugs ledger purchase + javascript : need to trim parameters for Ajax (qcode and amounts)
........
  r2085 | danydb | 2008-07-05 06:04:21 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Rewriting of the ledger is complete, now we can remove dead code and files
........
  r2086 | danydb | 2008-07-05 14:10:23 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Correct javascript bugs
........
  r2087 | danydb | 2008-07-05 14:13:16 +0200 (Sat, 05 Jul 2008) | 1 line
  
  code cleaning
........
  r2088 | danydb | 2008-07-05 14:34:16 +0200 (Sat, 05 Jul 2008) | 1 line
  
  code cleaning
........
  r2089 | danydb | 2008-07-05 17:18:48 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Adapt a little bit the direct writing
........
  r2090 | danydb | 2008-07-05 21:53:50 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Improve installation 
........
  r2091 | danydb | 2008-07-05 21:54:00 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Improve installation 
........
  r2092 | danydb | 2008-07-05 22:20:11 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Setup
........
  r2093 | danydb | 2008-07-05 22:33:36 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Readd user_action_gl.php
........
  r2094 | danydb | 2008-07-05 22:38:15 +0200 (Sat, 05 Jul 2008) | 1 line
  
  Re-add user_action_gl.php
........
  r2095 | danydb | 2008-07-06 00:52:23 +0200 (Sun, 06 Jul 2008) | 1 line
  
  New setup
........
  r2096 | danydb | 2008-07-06 02:02:41 +0200 (Sun, 06 Jul 2008) | 1 line
  
  small bugs
........
  r2097 | danydb | 2008-07-06 19:27:05 +0200 (Sun, 06 Jul 2008) | 1 line
  
  Fix security bug with domain
........
  r2098 | danydb | 2008-07-06 19:39:55 +0200 (Sun, 06 Jul 2008) | 1 line
  
  fix bug : javascript Purchase does not update correctly when a card is blanked
........
  r2099 | danydb | 2008-07-13 00:31:41 +0200 (Sun, 13 Jul 2008) | 1 line
  
  Task #49 add a simple todo list
........
  r2100 | danydb | 2008-07-13 00:32:08 +0200 (Sun, 13 Jul 2008) | 1 line
  
  remove print_r
........
  r2101 | danydb | 2008-07-13 00:43:55 +0200 (Sun, 13 Jul 2008) | 1 line
  
  Add sql patch 49
........
  r2102 | danydb | 2008-07-13 00:44:08 +0200 (Sun, 13 Jul 2008) | 1 line
  
  Add sql patch 49
........
  r2103 | danydb | 2008-07-13 00:59:01 +0200 (Sun, 13 Jul 2008) | 1 line
  
  Fix bug in the table todo_list
........
  r2104 | danydb | 2008-07-13 01:09:49 +0200 (Sun, 13 Jul 2008) | 1 line
  
  Task #49 cosmetic todo list
........
  r2105 | danydb | 2008-07-15 19:56:35 +0200 (Tue, 15 Jul 2008) | 1 line
  
  remove var_dump
........
  r2106 | danydb | 2008-07-16 21:42:42 +0200 (Wed, 16 Jul 2008) | 1 line
  
  Fix bug : creating card 
........
  r2107 | danydb | 2008-07-17 12:46:16 +0200 (Thu, 17 Jul 2008) | 1 line
  
  Fix numerous small bugs
........
  r2108 | danydb | 2008-07-17 13:20:51 +0200 (Thu, 17 Jul 2008) | 1 line
  
  Fix bug : if the account changed for a card then the ledgers are update with the new account
........
  r2109 | danydb | 2008-07-17 14:44:42 +0200 (Thu, 17 Jul 2008) | 1 line
  
  Fix : character encoding
........
  r2110 | danydb | 2008-07-17 20:34:15 +0200 (Thu, 17 Jul 2008) | 1 line
  
  task : the attribut of a card are now ordered by the users
........
  r2111 | danydb | 2008-07-18 13:45:10 +0200 (Fri, 18 Jul 2008) | 1 line
  
  Import of opening are now concerned by the qcode
........
  r2112 | danydb | 2008-07-18 14:05:47 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Fix bug : quick_writing_add_row duplicates value
........
  r2113 | danydb | 2008-07-18 14:23:28 +0200 (Fri, 18 Jul 2008) | 1 line
  
  Cosmetic : add comment, fix bug for quick_writing (add a verify )
........
  r2114 | danydb | 2008-07-21 22:25:33 +0200 (Mon, 21 Jul 2008) | 1 line
  
  SQL Patch Add order to the card
........
  r2115 | danydb | 2008-07-22 15:17:33 +0200 (Tue, 22 Jul 2008) | 1 line
  
  Release candidate : fix bug ledger sold
........
  r2116 | danydb | 2008-07-22 17:50:14 +0200 (Tue, 22 Jul 2008) | 1 line
  
  Fix Bug : Ledger SOLD & PURCHASE
........
  r2117 | danydb | 2008-07-24 18:11:57 +0200 (Thu, 24 Jul 2008) | 1 line
  
  Fix Bug Ledger FIN + import FIN
........
  r2118 | danydb | 2008-07-24 18:29:20 +0200 (Thu, 24 Jul 2008) | 1 line
  
  Fix Bug Import FIN utf8 encoding
........
  r2119 | danydb | 2008-07-24 22:19:23 +0200 (Thu, 24 Jul 2008) | 1 line
  
  Fix Bug Printing and Quick Writing
........
  r2120 | danydb | 2008-07-24 22:46:50 +0200 (Thu, 24 Jul 2008) | 1 line
  
  Fix Bug Security
........
  r2121 | danydb | 2008-07-24 22:51:05 +0200 (Thu, 24 Jul 2008) | 1 line
  
  Cosmetic 
........
  r2122 | danydb | 2008-07-24 23:00:38 +0200 (Thu, 24 Jul 2008) | 2 lines
  
  Fix problem with simple printing French
........
  r2123 | danydb | 2008-07-24 23:01:48 +0200 (Thu, 24 Jul 2008) | 2 lines
  
  Missing {
........
  r2124 | danydb | 2008-07-24 23:02:45 +0200 (Thu, 24 Jul 2008) | 2 lines
  
  Unicode
........
  r2125 | danydb | 2008-07-24 23:04:31 +0200 (Thu, 24 Jul 2008) | 2 lines
  
  Unicode
........
  r2126 | danydb | 2008-07-25 17:40:28 +0200 (Fri, 25 Jul 2008) | 1 line
  
  Fix Bug install on windows
........
  r2127 | danydb | 2008-07-25 17:42:01 +0200 (Fri, 25 Jul 2008) | 1 line
  
  Add version
........
  r2128 | danydb | 2008-07-25 17:44:38 +0200 (Fri, 25 Jul 2008) | 1 line
  
  short tag
........
  r2129 | danydb | 2008-07-25 18:40:34 +0200 (Fri, 25 Jul 2008) | 1 line
  
  Add Generate invoice + Fix bug for show_ledger()
........
  r2130 | danydb | 2008-07-25 20:51:47 +0200 (Fri, 25 Jul 2008) | 1 line
  
  remove debug
........
  r2131 | danydb | 2008-07-25 20:52:12 +0200 (Fri, 25 Jul 2008) | 1 line
  
  set version
........
  r2132 | danydb | 2008-07-27 22:55:03 +0200 (Sun, 27 Jul 2008) | 1 line
  
  Unicode
........
  r2133 | danydb | 2008-08-28 17:52:50 +0200 (Thu, 28 Aug 2008) | 1 line
  
  add pguser for documentation
........
  r2134 | danydb | 2008-08-28 19:55:26 +0200 (Thu, 28 Aug 2008) | 1 line
  
  correst documentation script
........
  r2135 | danydb | 2008-08-28 21:23:05 +0200 (Thu, 28 Aug 2008) | 1 line
  
  Improve install. : automatic writing of htaccess file
........
  r2136 | danydb | 2008-08-28 21:23:21 +0200 (Thu, 28 Aug 2008) | 1 line
  
  Improve install. : automatic writing of htaccess file
........
  r2137 | danydb | 2008-08-28 22:43:31 +0200 (Thu, 28 Aug 2008) | 1 line
  
  Remove the useless category of card
........
  r2138 | danydb | 2008-08-29 15:57:33 +0200 (Fri, 29 Aug 2008) | 1 line
  
  update version
........
  r2139 | danydb | 2008-09-04 21:49:29 +0200 (Thu, 04 Sep 2008) | 1 line
  
  update doc
........
  r2140 | danydb | 2008-09-06 20:47:13 +0200 (Sat, 06 Sep 2008) | 1 line
  
  Remove a not wanted hidden value which makes failed the searching for card
........
  r2141 | danydb | 2008-09-07 18:57:42 +0200 (Sun, 07 Sep 2008) | 1 line
  
  Update doc.
........
  r2142 | danydb | 2008-09-08 13:38:00 +0200 (Mon, 08 Sep 2008) | 1 line
  
  Fix small in fin
........
  r2143 | danydb | 2008-09-08 13:49:52 +0200 (Mon, 08 Sep 2008) | 1 line
  
  Fix small bugs in ach & ven
........
  r2144 | danydb | 2008-09-08 13:57:25 +0200 (Mon, 08 Sep 2008) | 1 line
  
  bug : courrier concerne
........
  r2145 | danydb | 2008-09-08 14:24:00 +0200 (Mon, 08 Sep 2008) | 2 lines
  
  Fix bug with export of report
........
  r2146 | danydb | 2008-09-08 15:25:50 +0200 (Mon, 08 Sep 2008) | 1 line
  
  Add the security
........
  r2147 | danydb | 2008-09-09 21:31:52 +0200 (Tue, 09 Sep 2008) | 1 line
  
  files cleaning
........
  r2148 | danydb | 2008-09-09 21:34:40 +0200 (Tue, 09 Sep 2008) | 1 line
  
  files cleaning
........
  r2149 | danydb | 2008-09-10 13:52:56 +0200 (Wed, 10 Sep 2008) | 1 line
  
  Fix bug in ledger sold, purchase for negative amount and financial for qcode
........
  r2150 | danydb | 2008-09-10 14:33:07 +0200 (Wed, 10 Sep 2008) | 1 line
  
  update version
........
  r2151 | danydb | 2008-09-10 14:42:24 +0200 (Wed, 10 Sep 2008) | 1 line
  
  Add patch for insert_jrnx
........
  r2152 | danydb | 2008-09-10 14:42:56 +0200 (Wed, 10 Sep 2008) | 1 line
  
  update version
........
  r2153 | danydb | 2008-09-10 17:53:28 +0200 (Wed, 10 Sep 2008) | 1 line
  
  typo
........
  r2154 | danydb | 2008-09-10 18:07:51 +0200 (Wed, 10 Sep 2008) | 1 line
  
  Fix layout
........
  r2155 | danydb | 2008-09-13 18:08:09 +0200 (Sat, 13 Sep 2008) | 1 line
  
  Update documentation
........
  r2156 | danydb | 2008-09-13 18:11:52 +0200 (Sat, 13 Sep 2008) | 1 line
  
  Update version
........
  r2157 | danydb | 2008-09-13 22:27:29 +0200 (Sat, 13 Sep 2008) | 1 line
  
  Add document to upload
........
  r2158 | danydb | 2008-09-13 22:28:52 +0200 (Sat, 13 Sep 2008) | 1 line
  
  Add document 
........
2008-09-13 21:09:55 +00:00

872 lines
26 KiB
PHP

<?php
/*
* This file is part of PhpCompta.
*
* PhpCompta is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* PhpCompta is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PhpCompta; if not, write to the Free Software
* Foundation, Inshowc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*!\file
* \brief Nearly all the menu are here, some of them returns a HTML string, others echo
* directly the result.
*/
// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr
/* $Revision$ */
require_once ('class_widget.php');
/*!
* \brief Show all the available folder for the users
* at the login page
* \param $p_user user
* \param $p_admin 1 if admin
*
* \return table in HTML
*
*/
function u_ShowDossier($p_user,$p_admin,$p_filtre="")
{
$p_array=GetAvailableFolder($p_user,$p_admin,$p_filtre);
$result="";
if ( $p_array == 0 ) return $result." * Aucun dossier *";
$result.="<TABLE style=\"width:75%;border-width:0px;border-collapse:collapse;\">";
for ($i=0;$i<sizeof($p_array);$i++) {
$id=$p_array[$i]['dos_id'];
$name= $p_array[$i]['dos_name'];
$desc=$p_array[$i]['dos_description'];
if ( $i%2 == 0)
$tr="odd";
else $tr="even";
$result.="<TR class=\"$tr\">";
$result.="<TD class=\"$tr\">";
$result.="<A class=\"dossier\" HREF=\"access.php?gDossier=$id\">";
$result.=$id." <B>$name</B>";
$result.="</A>";
$result.="</TD>";
$desc=($desc=="")?"<i>Aucune description</i>":$desc;
$desc="<A class=\"dossier\" HREF=\"access.php?gDossier=$id\">".$desc."</a>";
$result.="<TD class=\"$tr\">".$desc;
$result.="</TD>";
$result.="</TR>";
}
$result.="</TABLE>";
return $result;
}
/*!
* \brief Get all the available folders
* for the users, checked with the security
*
* \param $p_user user login
* \param $p_admin 1 if admin
* \return array containing
* - ac_dossier.dos_id
* - ac_dossier.dos_name
* - ac_dossier.dos_description
*
*/
function GetAvailableFolder($p_user,$p_admin,$p_filter="")
{
$filter="";
if ($p_admin==0) {
// show only available folders
// if user is not an admin
$sql="select distinct dos_id,dos_name,dos_description from ac_users
natural join jnt_use_dos
natural join ac_dossier
join priv_user on ( priv_jnt=jnt_id)
where use_active=1
and use_login='$p_user'
and priv_priv != 'NO' and dos_name ilike '%$p_filter%'
order by dos_name";
} else {
$sql="select distinct dos_id,dos_name,dos_description from ac_dossier
where dos_name ilike '%$p_filter%' order by dos_name";
}
include_once("postgres.php");
$cn=DbConnect();
$Res=ExecSql($cn,$sql);
$max=pg_numRows($Res);
if ( $max == 0 ) return 0;
for ($i=0;$i<$max;$i++) {
$array[]=pg_fetch_array($Res,$i);
}
return $array;
}
/*!
* \brief show the top menu for the user profile
* and highight the selected one
* \param p_high what to hightlight, by default it is autodetected
* but sometimes it must be given. Default value=""
*
* \return string
*
*/
function ShowMenuCompta($p_high="")
{
include_once("postgres.php");
// find our current menu
$default=basename($_SERVER['PHP_SELF']);
switch ($default) {
case "user_jrn.php":
$default.="?show&".dossier::get();
break;
case "recherche.php":
$default.="?".dossier::get();
break;
case "fiche.php":
$default.="?".dossier::get();
break;
}
if ( $p_high !== "" ) $default=$p_high;
if ( isset($_REQUEST['p_action']))
{
switch ($_REQUEST['p_action'] ) {
case 'impress':
$default=5;
break;
case 'fiche':
$default=6;
break;
case 'quick_writing':
$default=4;
break;
case 'gl':
$default=0;
break;
case 'ven':
$default=1;
break;
case 'client':
$default=1;
break;
case 'ach':
case 'fournisseur':
$default=2;
break;
case 'bank':
$default=3;
break;
}
}
echo_debug('user_menu.php',__LINE__,'defaut is '.$default);
$str_dossier=dossier::get();
$p_array=array(
array("compta.php?p_action=gl&".$str_dossier ,"Grand Livre","Grand livre : toutes les opérations",0),
array("compta.php?p_action=ven&".$str_dossier ,"Vente","Journal de vente / produit",1),
array("compta.php?p_action=ach&".$str_dossier,"Dépense","Journaux de dépense, d'achat",2 ),
array("compta.php?p_action=bank&".$str_dossier,"Financier","Journaux financiers: les banques, la caisse",3),
array('compta.php?p_action=quick_writing&'.$str_dossier,'Ecriture directe','Ecriture directe dans les journaux',4),
array("compta.php?p_action=impress&".$str_dossier,"Impression","Impression",5),
array("compta.php?p_action=fiche&".$str_dossier,"Fiche","Ajouter, modifier ou effacer des fiches",6),
array("user_advanced.php?".$str_dossier,"Avancé","Opérations délicates",7),
);
$result=ShowItem($p_array,'H',"mtitle","mtitle",$default,' width="100%"');
$str_dossier=dossier::get();
$r="";
$r.=menu_tool("compta");
$r.='<div style="float:left;background-color:#879ED4;width:100%;">';
$r.=$result;
$r.='</div>';
// $r.='</div>';
return $r;
}
/*!
* \brief Open the first legder automaticaly
* \param $p_dossier dossier::id
* \param $p_type type of the ledger (VEN,ACH,FIN,ODS)
*
*
*
* \return the first jrn_def_id
*/
function GetFirstJrnIdForJrnType($p_dossier,$p_type)
{
include_once("postgres.php");
//get db connection
$Cn=DbConnect($p_dossier);
//execute query
$Ret=ExecSql($Cn,"select min(jrn_def_id) from jrn_def ".
"where jrn_def_type='".$p_type."';");
$l_line=pg_fetch_array($Ret,0);
return $l_line[0];
//return 0;
}
/*! ShowMenuJrnUser($p_dossier,$p_type,$p_jrn)
* \brief Show the Menu from the jrn encode
* page
*
* \param $p_dossier number
* \param $p_type type of journal (VEN,ACH,BQE,ODS)
* \param $p_jrn journal
* \param $p_extra html code to add at the return (before the \</table\>)
* \return string with table in HTML
* \note we use the PHP_SELF variable to build the href value but we need to add
* a parameter when the REQUEST_url is commercial.php
*
*
*/
function ShowMenuJrnUser($p_dossier,$p_type,$p_jrn,$p_extra="")
{
include_once ("debug.php");
include_once("constant.php");
include_once("class_user.php");
echo '<TABLE><TR>';
include_once("postgres.php");
$str_dossier=dossier::get();
$Cn=DbConnect($p_dossier);
$User=new User($Cn);
$User->Check();
if ( $User->Admin() ==0) {
$Ret=ExecSql($Cn,"select jrn_def_id,jrn_def_type,jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_type_id,jrn_desc,uj_priv,
jrn_deb_max_line,jrn_cred_max_line
from jrn_def join jrn_type on jrn_def_type=jrn_type_id
join user_sec_jrn on uj_jrn_id=jrn_def_id
where
uj_login='".$User->id."'
and uj_priv !='X'
and jrn_def_type=upper('$p_type') order by jrn_Def_id
");
} else {
$Ret=ExecSql($Cn,"select jrn_def_id,jrn_def_type,jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_deb_max_line,jrn_cred_max_line,
jrn_type_id,jrn_desc,'W' as uj_priv
from jrn_def join jrn_type on jrn_def_type=jrn_type_id where
jrn_def_type=upper('$p_type') order by jrn_Def_id");
}
$Max=pg_NumRows($Ret);
// If you can't access any ledger, so you don't have access
if ( $Max == 0 )
NoAccess();
include_once("check_priv.php");
for ($i=0;$i<$Max;$i++) {
$l_line=pg_fetch_array($Ret,$i);
// Admin have always rights
if ( $User->Admin() == 0 ){
$right=CheckJrn($p_dossier,$_SESSION['g_user'],$l_line['jrn_def_id']);
}else {
$right=3;
}
if ( $right > 0 ) {
// Minimum Lecture
echo_debug('user_menu.php',__LINE__,"p_jrn = $p_jrn ");
if ( $l_line['jrn_def_id'] != $p_jrn ) {
$href=basename($_SERVER["PHP_SELF"]);
$add="";
// if the PHP_SELF == commercial.php, we need to add the parameter
// p_action=facture
if ( $href=="commercial.php" )
{
$add='&p_action='.$_REQUEST['p_action'];
}
echo '<TD class="mtitle">';
printf ('<A class="mtitle" HREF="%s?'.$str_dossier.'&p_action=%s&p_jrn=%s%s">%s</A></TD>',
$href,
$p_type,
$l_line['jrn_def_id'],
$add,
$l_line['jrn_def_name']
);
} else
{
echo '<TD class="selectedcell">'. $l_line['jrn_def_name'].'</TD>';
}
}// if right
}// for
if ( $p_extra !="" ) echo $p_extra;
echo '</TR>';
echo "</TABLE>";
}
/*!
* \brief Show the menu of the jrn depending of its type, check with the security
*
* \param p_cn database connection
* \param p_jrn_type type of the ledger
* \param p_jrn jrn id
*
*
* \return string containing the menu
*
*/
function ShowMenuJrn($p_cn,$p_jrn_type,$p_jrn)
{
$Res=ExecSql($p_cn,"select ja_name,ja_url,ja_action,ja_desc from jrn_action ".
" where ja_jrn_type='$p_jrn_type'
order by ja_id");
$num=pg_NumRows($Res);
if ($num==0) return "";
// Retrieve in the database the menu
$access_key_list = array();
$array_item=array();
for ($i=0;$i<$num;$i++) {
$action=pg_fetch_array($Res,$i);
$access_key=get_quick_key($action['ja_name'],$access_key_list);
$lib=str_replace($access_key,'<u>'.$access_key.'</u>',$action['ja_name']);
$str_url=sprintf('?%s&p_jrn=%s&jrn_type=%s&'.dossier::get(),
$action['ja_action'],
$p_jrn,
$_REQUEST['jrn_type']);
$str_lib=$action['ja_name'];
$array_item[]=array($str_url,$str_lib);
}
$dir=($p_jrn_type=='FIN')?'H':'V';
$ret=ShowItem($array_item,$dir);
return $ret;
}
/*! get_quick_key
* \brief Show the menu of the jrn depending of its type
* return a not yet used access key. The returned key is added to $access_key_list
*
* \param $title
* \param &$access_key_list
*
*
* \return string containing the menu
* -
*/
function get_quick_key($title,&$access_key_list)
{
$quick = $title[0];
if(array_key_exists($quick, $access_key_list))
{
echo_debug(" key exists: " . $quick);
return get_quick_key(substr($title, 1), $access_key_list);
} else
{
echo_debug(" new key: " . $quick);
}
$access_key_list[$quick] = $quick;
return $quick;
}
/*!
* \brief Returns the form for the search (module accountancy)
*
* \param :
* \param $p_cn database connection
* \param $p_jrn jrn id
* \param $p_array=null previous search
*
*
* \return HTML Code
*
*
*/
function u_ShowMenuRecherche($p_cn,$p_jrn,$p_sessid,$p_array=null)
{
echo_debug('user_menu.php',__LINE__,"u_ShowMenuRecherche($p_cn,$p_array)");
if ( $p_array != null ) {
foreach ( $p_array as $key=> $element) {
${"p_$key"}=$element;
echo_debug('user_menu.php',__LINE__,"p_$key =$element;");
}
}
// Find the journal property
/*
$opt='<OPTION VALUE="="> =';
$opt.='<OPTION VALUE="<="> <=';
$opt.='<OPTION VALUE="<"> <';
$opt.='<OPTION VALUE=">"> >';
$opt.='<OPTION VALUE=">="> >=';
*/
if ( ! isset ($p_date_start)) $p_date_start="";
if ( ! isset ($p_date_end)) $p_date_end="";
if ( ! isset ($p_mont_sel))$p_mont_sel="";
if ( ! isset ($p_s_comment))$p_s_comment="";
if ( ! isset ($p_s_montant)) $p_s_montant="";
if ( ! isset ($p_st_montant)) $p_st_montant="";
if ( ! isset ($p_s_internal)) $p_s_internal="";
if ( ! isset ($p_poste)) $p_poste="";
if ( ! isset ($p_qcode)) $p_qcode="";
// if ( $p_mont_sel != "" ) $opt.='<OPTION value="'.$p_mont_sel.'" SELECTED> '.$p_mont_sel;
$r="";
// $r.= '<div style="border-style:outset;border-width:1pt;">';
$r.=JS_SEARCH_POSTE;
$r.=JS_SEARCH_CARD;
$r.= '<h2><IMG SRC="image/search.png" width="48" border="0" > Recherche</h2>';
$r.= '<FORM ACTION="recherche.php" METHOD="GET">';
$r.=dossier::hidden();
$r.="<table><tr><TD>";
$r.= '<TABLE>';
$r.= "<TR>";
$r.= '<TD COLSPAN="3"> Date comprise entre</TD> ';
$r.= "</TR> <TR>";
$date_start=new widget('js_date');
$date_start->name="date_start";
$date_start->value=$p_date_start;
$date_start->table=0;
$date_end=new widget('js_date');
$date_end->name="date_end";
$date_end->value=$p_date_end;
$date_end->table=0;
// $r.= '<TD> <INPUT TYPE="TEXT" NAME="date_start" SIZE="10" VALUE="'.$p_date_start.'"></TD>';
//$r.= '<TD>et <INPUT TYPE="TEXT" NAME="date_end" size="10"
//Value="'.$p_date_end.'"></TD>';
$r.='<td>'.$date_start->IOValue();
$r.=" et ";
$r.=$date_end->IOValue().'</td>';
$r.= '</TD><TD>';
$r.= "</TR> <TR>";
$r.= "<TD> Montant compris entre ";
// $r.= ' <SELECT NAME="mont_sel">'.$opt.' </SELECT></TD><TD>';
$r.= ' <INPUT TYPE="TEXT" style="border:groove 1px blue;" NAME="s_montant" SIZE="10" VALUE="'.$p_s_montant.'">';
$r.= ' et <INPUT TYPE="TEXT" style="border:groove 1px blue;" NAME="st_montant" SIZE="10" VALUE="'.$p_st_montant.'"></TD>';
$r.= '</TR><TR valigne="top">';
$r.='<TD > Internal code ';
$r.='<input type="text" style="border:groove 1px blue;"name="s_internal" value="'.$p_s_internal.'"></td>';
$r.='</TR><TR><TD colspan="2"><i>vous pouvez spécifier uniquement <br>une partie (VEN, num&eacute;ro d\'op&eacute;ration...)</i></td>';
$r.="</TD></TR></TABLE></td><TD><table>";
$r.= "</TR>";
$r.= "<TR>";
$W=new widget("js_search_poste");
$W->label="Numéro de poste<br> <i>Vous pouvez utilisez le %</i>";
$W->name="poste";
$W->value=$p_poste;
$r.="<TR>".$W->IOValue();
$r.= "</TR>";
$r.= "<TR>";
$A=new widget('js_search_only');
$A->name='qcode';
$A->value=$p_qcode;
$A->extra="";
$A->table=1;
// $r.=$sp->IOValue("p_qcode_label")."</TD></TR>";
// $A=new widget("TEXT");
$A->label="Quick Code";
$A->extra='all';
//$A->name="qcode";
// $A->value=$p_qcode;
$sp= new widget("span");
$sp->table=0;
$r.=$A->IOValue().'</TD>'.$sp->IOValue("qcode_label");
$r.= "</TR>";
echo_debug('user_menu.php',__LINE__,"<TD>".$A->IOValue().'</TD><TD>'.$sp->IOValue("p_qcode_label")."</TD>");
$r.= '<TD colspan="3"> Le commentaire contient </TD>';
$r.= "</TR><TR>";
$r.= '<TD COLSPAN="3"> <INPUT TYPE="TEXT" style="border:groove 1px blue;" NAME="s_comment" VALUE="'.$p_s_comment.'"></TD>';
$r.= "</TR><TR>";
$r.= '<TD COLSPAN="3"><INPUT TYPE="SUBMIT" VALUE="Recherche" NAME="viewsearch"></TD>';
$r.= "</TR>";
$r.= "</TABLE>";
$r.="</TR></TABLE>";
if ( isset($p_expert))
$r.='<input type="hidden" name="expert" value="on">';
$r.= "</FORM>";
return $r;
}
/*!
**************************************************
* \brief build the menu of user_advanced.php
*
* \param $default
*
* \return the menu
*/
function ShowMenuAdvanced($default="") {
$str_dossier=dossier::get();
// Show the left menu
$left_menu=ShowItem(array(
//('rapprt.php','Rapprochement'),
array('user_advanced.php?'.$str_dossier.'&p_action=preod','Ecritures definies',"",9),
array('user_advanced.php?p_action=periode&'.$str_dossier,'Periode',"Gestion des periodes",2),
array('user_advanced.php?p_action=central&'.$str_dossier,'Centralise',"Centralisation",3),
array('compta.php?p_action=stock&'.$str_dossier,'Stock',"Gestion des stocks",5),
array('user_advanced.php?p_action=defreport&'.$str_dossier,'Rapport',"Rapport",6),
array('import.php?'.$str_dossier,'Import Banque',"Banque",7),
array('user_advanced.php?p_action=ouv&'.$str_dossier,'Ecriture ouverture',"",8),
array('user_advanced.php?p_action=verif&'.$str_dossier,'V&eacute;rification',"",10)
),
'H',"mtitle","mtitle",$default);
$r='<div class="u_subtmenu">'.$left_menu."</div>";
return $r;
}
/*!
**************************************************
* \brief Return a string containing the menu
* main menu when you click on Journaux
* \param $p_menu the current menu (selected)
*
* \return HTML Code
*/
function ShowJrn($p_menu="")
{
$p_array=array(
array("user_jrn.php?jrn_type=NONE" ,"Grand Livre"),
array("user_jrn.php?jrn_type=VEN" ,"Entrée"),
array("user_jrn.php?jrn_type=ACH","Dépense"),
array("user_jrn.php?jrn_type=FIN","Financier"),
array("user_jrn.php?jrn_type=ODS","Op. Diverses")
);
$result=ShowItem($p_array,'H',"cell","mtitle",$p_menu);
return $result;
}
/*!
**************************************************
* \brief Show the menu for the card management
*
* \param $p_dossier dossier 1
*
*
*
* \return nothing
*/
function ShowMenuFiche($p_dossier)
{
$cn=DbConnect($p_dossier);
$str_dossier=dossier::get();
echo '<div class="lmenu">';
echo '<TABLE>';
/*! \todo Only for developper A test must be added
*/
echo '<TR><TD colspan="1" class="mtitle">
<A class="mtitle" HREF="?p_action=fiche&action=add_modele&fiche=modele&'.$str_dossier.'">Creation</A></TD>
<TD><A class="mtitle" HREF="?p_action=fiche&'.$str_dossier.'">Recherche</A></TD>
</TR>';
$Res=ExecSql($cn,"select fd_id,fd_label from fiche_def order by fd_label");
$Max=pg_NumRows($Res);
for ( $i=0; $i < $Max;$i++) {
$l_line=pg_fetch_array($Res,$i);
printf('<TR><TD class="cell">
<A class="mtitle" HREF="?p_action=fiche&action=modifier&fiche=%d&%s">%s</A></TD>
<TD class="mshort">
<A class="mtitle" HREF="?p_action=fiche&action=vue&fiche=%d&%s">Liste</A>
</TD>
</TR>',
$l_line['fd_id'],
$str_dossier,
$l_line['fd_label'],
$l_line['fd_id'],
$str_dossier
);
}
echo "</TABLE>";
echo '</div>';
}
/*! MenuAdmin */
/* \brief show the menu for user/database management
/*
/* \return HTML code with the menu
*/
function MenuAdmin()
{
$def=-1;
if (isset($_REQUEST['UID']))
$def=0;
if ( isset ($_REQUEST['action'])){
switch ($_REQUEST['action']) {
case 'user_mgt':
$def=0;
break;
case 'dossier_mgt':
$def=1;
break;
case 'modele_mgt':
$def=2;
break;
case 'restore';
$def=3;
break;
}
}
$item=array (array("admin_repo.php?action=user_mgt","Utilisateurs",'Gestion des utilisateurs',0),
array("admin_repo.php?action=dossier_mgt","Dossiers",'Gestion des dossiers',1),
array("admin_repo.php?action=modele_mgt","Modèles",'Gestion des modèles',2),
array("admin_repo.php?action=restore","Restore","Restaure une base de données",3),
array("login.php","Accueil"),
array("logout.php","Logout")
);
$menu=ShowItem($item,'H',"mtitle","mtitle",$def);
return $menu;
}
/*!
* \brief : Display Document's menu
*
* \param none
* \return string
*
*
*/
function ShowMenuDocument()
{
$base="parametre.php?p_action=document&sa=";
$sub_menu=ShowItem(
array(array($base."add_document","Ajout"))
,'V',"cell","mtitle");
return $sub_menu;
}
/*!
* \brief Show the parameter menu
*
* \param $p_action the last action choosed
*
*
*
* \return HTML Code
*
*
*/
function ShowMenuParam($p_action="")
{
// The phpsessid is set manually to avoid problem when the server is
// misconfigured and the cookies are not sent (or accepted)
$s=dossier::get().'&PHPSESSID='.$_REQUEST['PHPSESSID'];
$sub_menu=ShowItem(array(
array('parametre.php?p_action=company&'.$s,'Sociétés','Parametre societe',1),
array('parametre.php?p_action=devise&'.$s,'Devises','Devise',2),
array('parametre.php?p_action=tva&'.$s,'Tva','Taux & poste pour la TVA',3),
array('parametre.php?p_action=poste&'.$s,'Poste Comptable','Poste comptable constant',4),
array('parametre.php?p_action=pcmn&'.$s,'Plan Comptable','Modification du plan comptable',11),
array('parametre.php?p_action=fiche&'.$s,'Fiche','Modifie les classe de base',5),
array('parametre.php?p_action=sec&'.$s,'Sécurité','securite',8),
array('parametre.php?p_action=preod&'.$s,'Ecritures définies','Ecritures définies ',12),
array('parametre.php?p_action=document&'.$s,'Document','Facture, lettre de rappel, proposition...',7),
array('parametre.php?p_action=jrn&'.$s,'Journaux','Creation et modification de journaux',10)
),
'H',"mtitle","mtitle",$p_action,' width="100%"');
return $sub_menu;
}
/*!
* \brief Show the menu in the jrn page
*
* \param $p_dossier
*
*
*
* \return nothing
*
*
*/
function MenuJrn()
{
$str_dossier=dossier::get();
echo '<TABLE>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=jrn&sa=add&'.$str_dossier.'">Création </A></TD></TR>';
include_once("postgres.php");
$Cn=DbConnect(dossier::id());
$Ret=ExecSql($Cn,"select jrn_def_id,jrn_def_name,
jrn_def_class_deb,jrn_def_class_cred,jrn_type_id,jrn_desc
from jrn_def join jrn_type on jrn_def_type=jrn_type_id");
$Max=pg_NumRows($Ret);
for ($i=0;$i<$Max;$i++) {
$l_line=pg_fetch_array($Ret,$i);
printf ('<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=jrn&sa=detail&p_jrn=%s&'.$str_dossier.'">%s</A></TD></TR>',
$l_line['jrn_def_id'],$l_line['jrn_def_name']);
}
echo "</TABLE>";
}
/*!
* \brief Show the menu from the pcmn page
*
* \param $p_start class start default=1
*
*
*
* \return nothing
*
*
*/
function ShowMenuPcmn($p_start=1)
{
$str_dossier="&".dossier::get();
echo '<TABLE>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=1'.$str_dossier.'">1 Immobilisé </A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=2'.$str_dossier.'">2 Actif a un an au plus</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=3'.$str_dossier.'">3 Stock et commande</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=4'.$str_dossier.'">4 Compte tiers</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=5'.$str_dossier.'">5 Actif</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=6'.$str_dossier.'">6 Charges</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=7'.$str_dossier.'">7 Produits</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=8'.$str_dossier.'">8 Hors Comptabilit&eacute;</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="?p_action=pcmn&p_start=9'.$str_dossier.'">9 Hors Comptabilit&eacute;</A></TD></TR>';
echo "</TABLE>";
}
/*!
* \brief Show the menu for importing, verify and transfert Bank CSV
*
* \return nothing
*/
function ShowMenuImport(){
$str_dossier=dossier::get();
echo '<TABLE>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="import.php?action=import&'.$str_dossier.'">Importer CSV</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="import.php?action=verif&'.$str_dossier.'">Verif CSV</A></TD></TR>';
echo '<TR><TD class="mtitle"><A class="mtitle" HREF="import.php?action=transfer&'.$str_dossier.'">Transfert CSV</A></TD></TR>';
echo "</TABLE>";
}
/*!\brief show the top menu to access the different modules in top
* \param $p_from from which module this function is called
* \return string
*/
function menu_tool($p_from) {
if ( ! isset ($_REQUEST['gDossier']))
return "" ;
$r="";
$r.='<script language="javascript">
function openRecherche(p_sessid,p_dossier,p_style) {
if ( p_style == \'E\' ) { p_style="expert";}
var w=window.open("recherche.php?gDossier="+p_dossier+"&PHPSESSID="+p_sessid+\'&\'+p_style,\'\',\'statusbar=no,scrollbars=yes,toolbar=no\');
w.focus();
}
</script>';
$r.= '<div class="u_tool">';
$r.= '<div class="name">';
$r.= "<H2 class=\"info\">Commercial ".dossier::name()."</h2> ";
$r.= '</div>';
$r.= '<div class="acces_direct">';
if ( $p_from == 'compta') $view='E';
else $view='S';
$agent=$_SERVER['HTTP_USER_AGENT'];
$amodule=array(
array('value'=>'pref','label'=>'Preference'),
array('value'=>'compta','label'=>'Comptabilite'),
array('value'=>'gestion','label'=>'Gestion'),
array('value'=>'analytic','label'=>'Compt. Analytique'),
array('value'=>'budget','label'=>'Budget'),
array('value'=>'param','label'=>'Parametre'),
array('value'=>'access','label'=>'Accueil'),
array('value'=>'home','label'=>'Autre Dossier'),
array('value'=>'logout','label'=>'Deconnection')
);
if ( $_SESSION['g_topmenu'] == 'SELECT' ) {
$lab="";
foreach ($amodule as $l)
if ( $l['value'] == $p_from) {$lab=$l['label'];break;}
$gDossier=dossier::id();
$r.= '<form method="GET" action="control.php" >';
$w=new widget('select');
$w->name='m';
$w->value=$amodule;
$r.= '<table><tr><td class="mtitle">';
$search="openRecherche('".$_REQUEST['PHPSESSID']."','".$gDossier."','".$view."');";
$r.='<input type="BUTTON" onClick="'.$search.'" value="Recherche">';
$r.='</td>';
$r.= '<td style="border:2px solid blue;border-style:groove;">'.$w->IOValue();
$r.= dossier::hidden();
$r.=widget::submit('','Acces Direct').'</td>';
$r.='</tr>';
$r.= '</table>';
$r.= '</form>';
if ( $lab !="")
echo '<span style="background-color:red;padding:3px;color:white">'.$lab.'</span>';
$r.= '</div>';
}
if ( $_SESSION['g_topmenu'] == 'TEXT' ) {
$gDossier=dossier::id();
$r.= '<table><tr><td class="mtitle2">';
$r.= '<A class="cell" HREF="javascript:openRecherche(\''.$_REQUEST['PHPSESSID'].'\','.$gDossier.')">'.
'Recherche</a></td>';
foreach($amodule as $col ) {
$url="control.php?".dossier::get()."&m=".$col['value'];
if ( $p_from==$col['value']) {
$r.= '<td style="background-color:red">'.
'<a class="mtitle" href="'.$url.'" >'.$col['label'].'</a>'.
'</td>';
} else {
$r.= '<td>'.
'<a class="cell" href="'.$url.'" >'.$col['label'].'</a>'.
'</td>';
}
}
$r.='</tr>';
$r.= '</table>';
$r.= '</div>';
}
$r.= '</div>';
return $r;
}