Eliminated non-static method calls and other bulk fixes to fix php5 warnings
[fa-stable.git] / reporting / includes / reporting.inc
index 15cfee6a07931c7e36c0c75a3840afbf05764d83..9df4942975e2d1850605f5193d7aa05a5136b546 100644 (file)
 <?php
-function printTransaction($link_text, $form_id, $form_type, $trans_type, $trans_no, $ref, $param1, $param2) {
-       $ar = array(
-                               'COMPANY'       => $_SESSION["wa_current_user"]->company,
-                               'FORMID'        => $form_id,
-                               'FORMTYPE'      => $form_type,
-                               'TRANSNO'       => $trans_no,
-                               'TRANSTYPE'     => $trans_type,
-                               'REF'           => $ref,
-                               'PARAM1'        => $param1,
-                               'PARAM2'        => $param2
-                               );      
-       $pdf_href =     getPDFOpenScript($link_text, $ar);
-       return "<a href=\"javascript:$pdf_href\">" . _($link_text) . "</a>";    
-}
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program 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 License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+// Link to printing single document with bulk report template file.
+// Ex. label_cell(print_document_link($myrow['order_no'], _("Print")), $type);
+// or display_note(print_document_link($order_no, _("Print this order")));
+// You only need full parameter list for invoices/credit notes
 
-function getHiddenFieldScript() {
-       $ar = Array('COMPANY','LANG','FORMID','FORMTYPE','TRANSNO','TRANSTYPE','REF','PARAM1','PARAM2');
-       foreach ($ar as $value) $st.= "<input type='hidden' name='$value'>";
-       
-       $st .= "<input type='hidden' name='QTY_DEC'     value='" . user_qty_dec()        . "'>
-                       <input type='hidden' name='PRICE_DEC'   value='" . user_price_dec()      . "'>
-                       <input type='hidden' name='PER_DEC'     value='" . user_percent_dec(). "'>";    
+function print_document_link($doc_no, $link_text, $link=true, $type_no, 
+       $icon=false, $class='printlink', $id='', $email=0)
+{
+       global $path_to_root;
+       include_once($path_to_root . "/includes/types.inc");
+
+       $url = $path_to_root.'/reporting/prn_redirect.php?';
+
+       switch ($type_no)
+       {
+               case ST_SALESQUOTE :
+                       $rep = 111;
+                       // from, to, currency, bank acc, email, quote, comments
+                       $ar = array(
+                               'PARAM_0' => $doc_no, 
+                               'PARAM_1' => $doc_no, 
+                               'PARAM_2' => "", 
+                               'PARAM_3' => get_first_bank_account(), 
+                               'PARAM_4' => $email, 
+                               'PARAM_5' => "");
+                       break;
+               case ST_SALESORDER :
+                       $rep = 109;
+                       // from, to, currency, bank acc, email, quote, comments
+                       $ar = array(
+                               'PARAM_0' => $doc_no, 
+                               'PARAM_1' => $doc_no, 
+                               'PARAM_2' => "", 
+                               'PARAM_3' => get_first_bank_account(), 
+                               'PARAM_4' => $email, 
+                               'PARAM_5' => 0, 
+                               'PARAM_6' => "");
+                       break;
+               case ST_CUSTDELIVERY :
+                       $rep = 110;
+                       // from, to, email, comments
+                       $ar = array(
+                               'PARAM_0' => $doc_no, 
+                               'PARAM_1' => $doc_no, 
+                               'PARAM_2' => $email, 
+                               'PARAM_3' => "");
+                       break;
+               case 10 : // Sales Invoice
+               case 11 : // Customer Credit Note
+                       $rep = 107;
+                       // from, to, currency, bank acc, email, paylink, comments, type
+                       $ar = array(
+                               'PARAM_0' => $doc_no, 
+                               'PARAM_1' => $doc_no, 
+                               'PARAM_2' => "", 
+                               'PARAM_3' => get_first_bank_account(), 
+                               'PARAM_4' => $email, 
+                               'PARAM_5' => "",
+                               'PARAM_6' => "", 
+                               'PARAM_7' => $type_no);
+                       break;
+               case ST_PURCHORDER :
+                       $rep = 209;
+                       // from, to, currency, bank acc, email, comments
+                       $ar = array(
+                               'PARAM_0' => $doc_no, 
+                               'PARAM_1' => $doc_no, 
+                               'PARAM_2' => "", 
+                               'PARAM_3' => get_first_bank_account(), 
+                               'PARAM_4' => $email, 
+                               'PARAM_5' => "");
+                       break;
+//             default: $ar = array();
+       }
        
-       $st = "<form method='post' name='pdf_form'>" . $st . "</form>"; 
-       return $st;
+       return print_link($link_text, $rep, $ar, "", $icon, $class, $id);
 }
+//
+//     Universal link to any kind of report.
+//
+function print_link($link_text, $rep, $pars = array(), $dir = '', 
+       $icon=false, $class='printlink', $id='')
+{
+       global $path_to_root, $pdf_debug;
 
-function getPDFOpenScript($link_text, $ar_params) {
-       $st = "document.pdf_form.LANG.value='" . $_SESSION['language']->code . "';";
-       foreach ($ar_params as $key => $value) {
-               $st .= "document.pdf_form.{$key}.value = '{$value}';";
+       $url = $dir == '' ?  $path_to_root.'/reporting/prn_redirect.php?' : $dir;
+
+       $id = default_focus($id);
+       foreach($pars as $par => $val) {
+               $pars[$par] = "$par=".urlencode($val);
        }
-       $st.= "window.open('','REP_WINDOW','toolbar=no,scrollbar=no,resizable=yes,menubar=no');";       
-       $st.= "document.pdf_form.target='REP_WINDOW';";
-       $st.= "document.pdf_form.action= '" . C_JSP_ROOT . "/reporting/gen_pdf_form.jsp';";
-       $st.= "document.pdf_form.submit();";
-       
-       return $st;
+       $pars[] = 'REP_ID='.urlencode($rep);
+       $url .= implode ('&', $pars);
+
+       if ($class != '')
+               $class = $pdf_debug ? '' : " class='$class'";
+       if ($id != '')
+               $id = " id='$id'";
+       $pars = access_string($link_text);
+       if (user_graphic_links() && $icon)
+               $pars[0] = set_icon($icon, $pars[0]);
+       return "<a target='_blank' href='$url'$id$class $pars[1]>$pars[0]</a>";
 }
 
+function get_first_bank_account()
+{
+       $sql = "SELECT ".TB_PREF."bank_accounts.id FROM ".TB_PREF."bank_accounts, ".TB_PREF."company
+               WHERE bank_curr_code=curr_default LIMIT 0, 1";
+       $result = db_query($sql);
+       $row = db_fetch_row($result);
+       return $row[0];
+}
 ?>
\ No newline at end of file