| Conditions | 1 | 
| Paths | 1 | 
| Total Lines | 132 | 
| Code Lines | 88 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php  | 
            ||
| 48 | public function __construct($db)  | 
            ||
| 49 |     { | 
            ||
| 50 | global $conf;  | 
            ||
| 51 | |||
| 52 | $this->db = $db;  | 
            ||
| 
                                                                                                    
                        
                         | 
                |||
| 53 | $this->numero = 500;  | 
            ||
| 54 | |||
| 55 | $this->family = "financial";  | 
            ||
| 56 | // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)  | 
            ||
| 57 |         $this->name = preg_replace('/^mod/i', '', get_class($this)); | 
            ||
| 58 | // Module description used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)  | 
            ||
| 59 | $this->description = "Gestion des taxes, charges sociales et dividendes";  | 
            ||
| 60 | |||
| 61 | // Possible values for version are: 'development', 'experimental', 'dolibarr' or version  | 
            ||
| 62 | $this->version = 'dolibarr';  | 
            ||
| 63 | |||
| 64 | $this->const_name = 'MAIN_MODULE_' . static::getNameOf($this->name); // strtoupper($this->name);  | 
            ||
| 65 | $this->picto = 'bill';  | 
            ||
| 66 | |||
| 67 | // Data directories to create when module is enabled  | 
            ||
| 68 |         $this->dirs = array("/tax/temp"); | 
            ||
| 69 | |||
| 70 | // Config pages  | 
            ||
| 71 |         $this->config_page_url = array("taxes.php"); | 
            ||
| 72 | |||
| 73 | // Dependencies  | 
            ||
| 74 | $this->hidden = false; // A condition to hide module  | 
            ||
| 75 | $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled  | 
            ||
| 76 | $this->requiredby = array(); // List of module ids to disable if this one is disabled  | 
            ||
| 77 | $this->conflictwith = array(); // List of module class names as string this module is in conflict with  | 
            ||
| 78 | $this->phpmin = array(7, 0); // Minimum version of PHP required by module  | 
            ||
| 79 |         $this->langfiles = array("compta", "bills"); | 
            ||
| 80 | |||
| 81 | // Constants  | 
            ||
| 82 | $this->const = array();  | 
            ||
| 83 | |||
| 84 | // Boxes  | 
            ||
| 85 | $this->boxes = array();  | 
            ||
| 86 | |||
| 87 | // Permissions  | 
            ||
| 88 | $this->rights = array();  | 
            ||
| 89 | $this->rights_class = 'tax';  | 
            ||
| 90 | $r = 0;  | 
            ||
| 91 | |||
| 92 | $r++;  | 
            ||
| 93 | $this->rights[$r][0] = 91;  | 
            ||
| 94 | $this->rights[$r][1] = 'Read social contibutions';  | 
            ||
| 95 | $this->rights[$r][2] = 'r';  | 
            ||
| 96 | $this->rights[$r][3] = 0;  | 
            ||
| 97 | $this->rights[$r][4] = 'charges';  | 
            ||
| 98 | $this->rights[$r][5] = 'lire';  | 
            ||
| 99 | |||
| 100 | $r++;  | 
            ||
| 101 | $this->rights[$r][0] = 92;  | 
            ||
| 102 | $this->rights[$r][1] = 'Create/modify social contributions';  | 
            ||
| 103 | $this->rights[$r][2] = 'w';  | 
            ||
| 104 | $this->rights[$r][3] = 0;  | 
            ||
| 105 | $this->rights[$r][4] = 'charges';  | 
            ||
| 106 | $this->rights[$r][5] = 'creer';  | 
            ||
| 107 | |||
| 108 | $r++;  | 
            ||
| 109 | $this->rights[$r][0] = 93;  | 
            ||
| 110 | $this->rights[$r][1] = 'Delete social contributions';  | 
            ||
| 111 | $this->rights[$r][2] = 'd';  | 
            ||
| 112 | $this->rights[$r][3] = 0;  | 
            ||
| 113 | $this->rights[$r][4] = 'charges';  | 
            ||
| 114 | $this->rights[$r][5] = 'supprimer';  | 
            ||
| 115 | |||
| 116 | $r++;  | 
            ||
| 117 | $this->rights[$r][0] = 94;  | 
            ||
| 118 | $this->rights[$r][1] = 'Export social contributions';  | 
            ||
| 119 | $this->rights[$r][2] = 'r';  | 
            ||
| 120 | $this->rights[$r][3] = 0;  | 
            ||
| 121 | $this->rights[$r][4] = 'charges';  | 
            ||
| 122 | $this->rights[$r][5] = 'export';  | 
            ||
| 123 | |||
| 124 | |||
| 125 | // Menus  | 
            ||
| 126 | $this->menu = 1; // This module add menu entries. They are coded into menu manager.  | 
            ||
| 127 | |||
| 128 | |||
| 129 | // Exports  | 
            ||
| 130 | $r = 0;  | 
            ||
| 131 | |||
| 132 | $r++;  | 
            ||
| 133 | $this->export_code[$r] = $this->rights_class . '_' . $r;  | 
            ||
| 134 | $this->export_label[$r] = 'Taxes et charges sociales, et leurs reglements';  | 
            ||
| 135 |         $this->export_permission[$r] = array(array("tax", "charges", "export")); | 
            ||
| 136 |         $this->export_fields_array[$r] = array('cc.libelle' => "Type", 'c.rowid' => "IdSocialContribution", 'c.libelle' => "Label", 'c.date_ech' => 'DateDue', 'c.periode' => 'Period', 'c.amount' => "AmountExpected", "c.paye" => "Status", 'p.rowid' => 'PaymentId', 'p.datep' => 'DatePayment', 'p.amount' => 'AmountPayment', 'p.num_paiement' => 'Numero'); | 
            ||
| 137 |         $this->export_TypeFields_array[$r] = array('cc.libelle' => "List:c_chargesociales:libelle:id", 'c.libelle' => "Text", 'c.date_ech' => 'Date', 'c.periode' => 'Period', 'c.amount' => "Numeric", "c.paye" => "Boolean", 'p.datep' => 'Date', 'p.amount' => 'Numeric', 'p.num_paiement' => 'Numeric'); | 
            ||
| 138 |         $this->export_entities_array[$r] = array('cc.libelle' => "tax_type", 'c.rowid' => "tax", 'c.libelle' => 'tax', 'c.date_ech' => 'tax', 'c.periode' => 'tax', 'c.amount' => "tax", "c.paye" => "tax", 'p.rowid' => 'payment', 'p.datep' => 'payment', 'p.amount' => 'payment', 'p.num_paiement' => 'payment'); | 
            ||
| 139 | |||
| 140 | $this->export_sql_start[$r] = 'SELECT DISTINCT ';  | 
            ||
| 141 | $this->export_sql_end[$r] = ' FROM ' . MAIN_DB_PREFIX . 'c_chargesociales as cc, ' . MAIN_DB_PREFIX . 'chargesociales as c';  | 
            ||
| 142 | $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'paiementcharge as p ON p.fk_charge = c.rowid';  | 
            ||
| 143 | $this->export_sql_end[$r] .= ' WHERE c.fk_type = cc.id';  | 
            ||
| 144 |         $this->export_sql_end[$r] .= ' AND c.entity IN (' . getEntity('tax') . ')'; | 
            ||
| 145 | |||
| 146 | // Import social contributions  | 
            ||
| 147 | $r++;  | 
            ||
| 148 | $this->import_code[$r] = $this->rights_class . '_' . $r;  | 
            ||
| 149 | $this->import_label[$r] = "ImportDataset_tax_contrib"; // Translation key  | 
            ||
| 150 | $this->import_icon[$r] = 'tax';  | 
            ||
| 151 | $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon  | 
            ||
| 152 |         $this->import_tables_array[$r] = array('t' => MAIN_DB_PREFIX . 'chargesociales'); | 
            ||
| 153 |         $this->import_fields_array[$r] = array('t.libelle' => "Label*", 't.fk_type' => "Type", | 
            ||
| 154 | 't.amount' => "Amount*", 't.date_ech' => "DateDue*", 't.periode' => "PeriodEndDate*"  | 
            ||
| 155 | );  | 
            ||
| 156 | |||
| 157 | $this->import_convertvalue_array[$r] = array(  | 
            ||
| 158 |             't.fk_type' => array('rule' => 'fetchidfromref', 'classfile' => '/compta/sociales/class/cchargesociales.class.php', 'class' => 'Cchargesociales', 'method' => 'fetch', 'element' => 'Cchargesociales') | 
            ||
| 159 | );  | 
            ||
| 160 |         $this->import_examplevalues_array[$r] = array('t.libelle' => "Social/fiscal contribution", 't.fk_type' => "TAXPRO (must be id or code found into dictionary)", | 
            ||
| 161 | 't.date_ech' => "2016-01-01", 't.periode' => "2016-01-01"  | 
            ||
| 162 | );  | 
            ||
| 163 | |||
| 164 | // Import Taxes  | 
            ||
| 165 | $r++;  | 
            ||
| 166 | $this->import_code[$r] = $this->rights_class . '_' . $r;  | 
            ||
| 167 | $this->import_label[$r] = "ImportDataset_tax_vat"; // Translation key  | 
            ||
| 168 | $this->import_icon[$r] = 'tax';  | 
            ||
| 169 | $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon  | 
            ||
| 170 |         $this->import_tables_array[$r] = array('t' => MAIN_DB_PREFIX . 'tva'); | 
            ||
| 171 |         $this->import_fields_array[$r] = array('t.datep' => "DatePayment*", 't.datev' => "DateValue*", 't.label' => "Label*", 't.fk_typepayment' => "PaymentMode*", | 
            ||
| 172 | 't.amount' => "Amount*", 't.num_payment' => 'Numero'  | 
            ||
| 173 | );  | 
            ||
| 174 | |||
| 175 | $this->import_convertvalue_array[$r] = array(  | 
            ||
| 176 |             't.fk_typepayment' => array('rule' => 'fetchidfromref', 'classfile' => '/compta/paiement/class/cpaiement.class.php', 'class' => 'Cpaiement', 'method' => 'fetch', 'element' => 'Cpaiement') | 
            ||
| 177 | );  | 
            ||
| 178 |         $this->import_examplevalues_array[$r] = array('t.label' => "VAT Payment 1st quarter 2016", 't.fk_typepayment' => "CHQ (must be id or code found into dictionary)", | 
            ||
| 179 | 't.datep' => "2016-04-02", 't.datev' => "2016-03-31", 't.amount' => 1000, 't.num_payment' => '123456'  | 
            ||
| 180 | );  | 
            ||
| 204 | 
Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.
Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..