当前位置: 首页>>代码示例>>PHP>>正文


PHP DoliDB类代码示例

本文整理汇总了PHP中DoliDB的典型用法代码示例。如果您正苦于以下问题:PHP DoliDB类的具体用法?PHP DoliDB怎么用?PHP DoliDB使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DoliDB类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: pt

/**
 * pt
 *
 * @param 	DoliDB	$db		Database handler
 * @param 	string	$sql	SQL Request
 * @param 	string	$date	Date
 * @return	void
 */
function pt($db, $sql, $date)
{
    global $conf, $bc, $langs;
    $result = $db->query($sql);
    if ($result) {
        $num = $db->num_rows($result);
        $i = 0;
        $total = 0;
        print '<table class="noborder" width="100%">';
        print '<tr class="liste_titre">';
        print '<td class="nowrap" width="60%">' . $date . '</td>';
        print '<td align="right">' . $langs->trans("Amount") . '</td>';
        print '<td>&nbsp;</td>' . "\n";
        print "</tr>\n";
        $var = True;
        while ($i < $num) {
            $obj = $db->fetch_object($result);
            $var = !$var;
            print '<tr ' . $bc[$var] . '>';
            print '<td class="nowrap">' . $obj->dm . "</td>\n";
            $total = $total + $obj->mm;
            print '<td class="nowrap" align="right">' . price($obj->mm) . "</td><td >&nbsp;</td>\n";
            print "</tr>\n";
            $i++;
        }
        print '<tr class="liste_total"><td align="right">' . $langs->trans("Total") . " :</td><td class=\"nowrap\" align=\"right\"><b>" . price($total) . "</b></td><td>&nbsp;</td></tr>";
        print "</table>";
        $db->free($result);
    } else {
        dol_print_error($db);
    }
}
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:40,代码来源:index.php

示例2: migrate_event_assignement

/**
 * Migrate event assignement to owner
 *
 * @param	DoliDB		$db				Database handler
 * @param	Translate	$langs			Object langs
 * @param	Conf		$conf			Object conf
 * @return	void
 */
function migrate_event_assignement($db, $langs, $conf)
{
    print '<tr><td colspan="4">';
    print '<br>';
    print '<b>' . $langs->trans('MigrationEvents') . "</b><br>\n";
    $error = 0;
    dolibarr_install_syslog("upgrade2::migrate_event_assignement");
    $db->begin();
    $sqlSelect = "SELECT a.id, a.fk_user_action";
    $sqlSelect .= " FROM " . MAIN_DB_PREFIX . "actioncomm as a";
    $sqlSelect .= " LEFT JOIN " . MAIN_DB_PREFIX . "actioncomm_resources as ar ON ar.fk_actioncomm = a.id AND ar.element_type = 'user' AND ar.fk_element = a.fk_user_action";
    $sqlSelect .= " WHERE fk_user_action > 0 AND fk_user_action NOT IN (SELECT fk_element FROM " . MAIN_DB_PREFIX . "actioncomm_resources as ar WHERE ar.fk_actioncomm = a.id AND ar.element_type = 'user')";
    $sqlSelect .= " ORDER BY a.id";
    //print $sqlSelect;
    $resql = $db->query($sqlSelect);
    if ($resql) {
        $i = 0;
        $num = $db->num_rows($resql);
        if ($num) {
            while ($i < $num) {
                $obj = $db->fetch_object($resql);
                $sqlUpdate = "INSERT INTO " . MAIN_DB_PREFIX . "actioncomm_resources(fk_actioncomm, element_type, fk_element) ";
                $sqlUpdate .= "VALUES(" . $obj->id . ", 'user', " . $obj->fk_user_action . ")";
                $result = $db->query($sqlUpdate);
                if (!$result) {
                    $error++;
                    dol_print_error($db);
                }
                print ". ";
                $i++;
            }
        } else {
            print $langs->trans('AlreadyDone') . "<br>\n";
        }
        if (!$error) {
            $db->commit();
        } else {
            $db->rollback();
        }
    } else {
        dol_print_error($db);
        $db->rollback();
    }
    print '</td></tr>';
}
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:53,代码来源:upgrade2.php

示例3:

 /**
  *		Return if a code is used (by other element)
  *
  *		@param	DoliDB		$db			Handler acces base
  *		@param	string		$code		Code a verifier
  *		@param	Product		$product	Objet product
  *		@return	int						0 if available, <0 if KO
  */
 function verif_dispo($db, $code, $product)
 {
     $sql = "SELECT barcode FROM " . MAIN_DB_PREFIX . "product";
     $sql .= " WHERE barcode = '" . $code . "'";
     if ($product->id > 0) {
         $sql .= " AND rowid <> " . $product->id;
     }
     $resql = $db->query($sql);
     if ($resql) {
         if ($db->num_rows($resql) == 0) {
             return 0;
         } else {
             return -1;
         }
     } else {
         return -2;
     }
 }
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:26,代码来源:mod_barcode_product_standard.php

示例4: print_left_auguria_menu

/**
 * Core function to output left menu auguria
 *
 * @param	DoliDB		$db                 Database handler
 * @param 	array		$menu_array_before  Table of menu entries to show before entries of menu handler
 * @param   array		$menu_array_after   Table of menu entries to show after entries of menu handler
 * @param  	array		$tabMenu       		If array with menu entries already loaded, we put this array here (in most cases, it's empty)
 * @param	Menu		$menu				Object Menu to return back list of menu entries
 * @param	int			$noout				Disable output (Initialise &$menu only).
 * @param	string		$forcemainmenu		'x'=Force mainmenu to mainmenu='x'
 * @param	string		$forceleftmenu		'all'=Force leftmenu to '' (= all)
 * @param	array		$moredata			An array with more data to output
 * @return	int								Nb of entries
 */
function print_left_auguria_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout = 0, $forcemainmenu = '', $forceleftmenu = '', $moredata = null)
{
    global $user, $conf, $langs, $dolibarr_main_db_name, $mysoc;
    $newmenu = $menu;
    $mainmenu = $forcemainmenu ? $forcemainmenu : $_SESSION["mainmenu"];
    $leftmenu = $forceleftmenu ? '' : (empty($_SESSION["leftmenu"]) ? 'none' : $_SESSION["leftmenu"]);
    // Show logo company
    if (empty($noout) && !empty($conf->global->MAIN_SHOW_LOGO) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
        $mysoc->logo_mini = $conf->global->MAIN_INFO_SOCIETE_LOGO_MINI;
        if (!empty($mysoc->logo_mini) && is_readable($conf->mycompany->dir_output . '/logos/thumbs/' . $mysoc->logo_mini)) {
            $urllogo = DOL_URL_ROOT . '/viewimage.php?cache=1&amp;modulepart=companylogo&amp;file=' . urlencode('thumbs/' . $mysoc->logo_mini);
        } else {
            $urllogo = DOL_URL_ROOT . '/theme/dolibarr_logo.png';
        }
        $title = $langs->trans("GoIntoSetupToChangeLogo");
        print "\n" . '<!-- Show logo on menu -->' . "\n";
        print '<div class="blockvmenuimpair blockvmenulogo">' . "\n";
        print '<div class="menu_titre" id="menu_titre_logo"></div>';
        print '<div class="menu_top" id="menu_top_logo"></div>';
        print '<div class="menu_contenu" id="menu_contenu_logo">';
        print '<div class="center"><img title="' . dol_escape_htmltag($title) . '" alt="" src="' . $urllogo . '" style="max-width: 80%"></div>' . "\n";
        print '</div>';
        print '<div class="menu_end" id="menu_end_logo"></div>';
        print '</div>' . "\n";
    }
    if (is_array($moredata) && !empty($moredata['searchform'])) {
        print "\n";
        print "<!-- Begin SearchForm -->\n";
        print '<div id="blockvmenusearch" class="blockvmenusearch">' . "\n";
        print $moredata['searchform'];
        print '</div>' . "\n";
        print "<!-- End SearchForm -->\n";
    }
    // We update newmenu with entries found into database
    $menuArbo = new Menubase($db, 'auguria');
    $newmenu = $menuArbo->menuLeftCharger($newmenu, $mainmenu, $leftmenu, $user->societe_id ? 1 : 0, 'auguria', $tabMenu);
    // We update newmenu for special dynamic menus
    if ($conf->banque->enabled && $user->rights->banque->lire && $mainmenu == 'bank') {
        $sql = "SELECT rowid, label, courant, rappro, courant";
        $sql .= " FROM " . MAIN_DB_PREFIX . "bank_account";
        $sql .= " WHERE entity = " . $conf->entity;
        $sql .= " AND clos = 0";
        $sql .= " ORDER BY label";
        $resql = $db->query($sql);
        if ($resql) {
            $numr = $db->num_rows($resql);
            $i = 0;
            if ($numr > 0) {
                $newmenu->add('/compta/bank/index.php', $langs->trans("BankAccounts"), 0, $user->rights->banque->lire);
            }
            while ($i < $numr) {
                $objp = $db->fetch_object($resql);
                $newmenu->add('/compta/bank/card.php?id=' . $objp->rowid, $objp->label, 1, $user->rights->banque->lire);
                if ($objp->rappro && $objp->courant != 2 && empty($objp->clos)) {
                    $newmenu->add('/compta/bank/rappro.php?account=' . $objp->rowid, $langs->trans("Conciliate"), 2, $user->rights->banque->consolidate);
                }
                $i++;
            }
        } else {
            dol_print_error($db);
        }
        $db->free($resql);
    }
    if (!empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy') {
        $newmenu->add('/accountancy/journal/index.php?leftmenu=journal', $langs->trans("Journaux"), 0, $user->rights->banque->lire);
        if ($leftmenu == 'journal') {
            $sql = "SELECT rowid, label, accountancy_journal";
            $sql .= " FROM " . MAIN_DB_PREFIX . "bank_account";
            $sql .= " WHERE entity = " . $conf->entity;
            $sql .= " AND clos = 0";
            $sql .= " ORDER BY label";
            $resql = $db->query($sql);
            if ($resql) {
                $numr = $db->num_rows($resql);
                $i = 0;
                if ($numr > 0) {
                    while ($i < $numr) {
                        $objp = $db->fetch_object($resql);
                        $newmenu->add('/accountancy/journal/bankjournal.php?id_account=' . $objp->rowid, $langs->trans("Journal") . ' - ' . $objp->label, 1, $user->rights->accounting->comptarapport->lire);
                        $i++;
                    }
                }
            } else {
                dol_print_error($db);
            }
            $db->free($resql);
//.........这里部分代码省略.........
开发者ID:Samara94,项目名称:dolibarr,代码行数:101,代码来源:auguria.lib.php

示例5: tva_paye

/**
 * Gets VAT to pay for the given month of the given year
 * The function gets the VAT in split results, as the VAT declaration asks
 * to report the amounts for different VAT rates as different lines
 *
 * @param	DoliDB	$db			Database handler object
 * @param	int		$y			Year
 * @param	int		$q			Year quarter (1-4)
 * @return	array
 */
function tva_paye($db, $y, $q)
{
    global $conf;
    if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES") {
        // Si on paye la tva sur les factures dues (non brouillon)
        $sql = "SELECT d.fk_facture_fourn as facid, f.ref_supplier as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount";
        $sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
        $sql .= ", " . MAIN_DB_PREFIX . "facture_fourn_det as d";
        $sql .= ", " . MAIN_DB_PREFIX . "societe as s";
        $sql .= " WHERE f.fk_soc = s.rowid";
        $sql .= " AND f.entity = " . $conf->entity;
        $sql .= " AND f.fk_statut = 1 ";
        $sql .= " AND f.rowid = d.fk_facture_fourn ";
        $sql .= " AND date_format(f.datef,'%Y') = '" . $y . "'";
        $sql .= " AND (round(date_format(f.datef,'%m')) > " . ($q - 1) * 3;
        $sql .= " AND round(date_format(f.datef,'%m')) <= " . $q * 3 . ")";
        $sql .= " ORDER BY rate, facid ";
    } else {
        // Si on paye la tva sur les payments
    }
    $resql = $db->query($sql);
    if ($resql) {
        $list = array();
        $rate = -1;
        while ($assoc = $db->fetch_array($resql)) {
            if ($assoc['rate'] != $rate) {
                //new rate
                $list[$assoc['rate']]['totalht'] = $assoc['totalht'];
                $list[$assoc['rate']]['vat'] = $assoc['amount'];
                $list[$assoc['rate']]['facid'][] = $assoc['facid'];
                $list[$assoc['rate']]['facnum'][] = $assoc['facnum'];
            } else {
                $list[$assoc['rate']]['totalht'] += $assoc['totalht'];
                $list[$assoc['rate']]['vat'] += $assoc['amount'];
                if (!in_array($assoc['facid'], $list[$assoc['rate']]['facid'])) {
                    $list[$assoc['rate']]['facid'][] = $assoc['facid'];
                    $list[$assoc['rate']]['facnum'][] = $assoc['facnum'];
                }
            }
            $rate = $assoc['rate'];
        }
        return $list;
    } else {
        dol_print_error($db);
    }
}
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:56,代码来源:quadri.php

示例6: AddNotification

 /**
  *	Add a notification
  *
  *	@param	DoliDB	$db			database handler
  *	@param	User	$user		notification user
  *	@param	string	$action		notification action
  *	@return	int					0 if OK, <0 if KO
  */
 function AddNotification($db, $user, $action)
 {
     $result = 0;
     if ($this->DeleteNotification($user, $action) == 0) {
         $now = dol_now();
         $sql = "INSERT INTO " . MAIN_DB_PREFIX . "notify_def (datec,fk_user, fk_soc, fk_contact, fk_action)";
         $sql .= " VALUES (" . $db->idate($now) . "," . $user . ", 'NULL', 'NULL', '" . $action . "')";
         dol_syslog("adnotiff: " . $sql);
         if ($this->db->query($sql)) {
             $result = 0;
         } else {
             $result = -1;
             dol_syslog(get_class($this) . "::AddNotification Error {$result}");
         }
     }
     return $result;
 }
开发者ID:LionSystemsSolutions,项目名称:El-Canelo-ERP,代码行数:25,代码来源:bonprelevement.class.php

示例7: setValues

 /**
  *	Load setup values into conf object (read llx_const)
  *  Note that this->db->xxx, this->file->xxx and this->multicompany have been already loaded when setValues is called.
  *
  *	@param      DoliDB		$db		Database handler
  *	@return     int					< 0 if KO, >= 0 if OK
  */
 function setValues($db)
 {
     global $conf;
     dol_syslog(get_class($this) . "::setValues");
     /*
      * Definition de toutes les constantes globales d'environnement
      * - En constante php (TODO a virer)
      * - En $this->global->key=value
      */
     $sql = "SELECT " . $db->decrypt('name') . " as name,";
     $sql .= " " . $db->decrypt('value') . " as value, entity";
     $sql .= " FROM " . MAIN_DB_PREFIX . "const";
     if (!empty($this->multicompany->transverse_mode)) {
         $sql .= " WHERE entity IN (0,1," . $this->entity . ")";
     } else {
         $sql .= " WHERE entity IN (0," . $this->entity . ")";
     }
     $sql .= " ORDER BY entity";
     // This is to have entity 0 first, then entity 1 that overwrite.
     $resql = $db->query($sql);
     if ($resql) {
         $i = 0;
         $numr = $db->num_rows($resql);
         while ($i < $numr) {
             $objp = $db->fetch_object($resql);
             $key = $objp->name;
             $value = $objp->value;
             if ($key) {
                 if (!defined("{$key}")) {
                     define("{$key}", $value);
                 }
                 // In some cases, the constant might be already forced (Example: SYSLOG_HANDLERS during install)
                 $this->global->{$key} = $value;
                 if ($value && preg_match('/^MAIN_MODULE_/', $key)) {
                     // If this is constant for a new tab page activated by a module. It initializes modules_parts['tabs'].
                     if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i', $key)) {
                         $partname = 'tabs';
                         $params = explode(':', $value, 2);
                         if (!isset($this->modules_parts[$partname]) || !is_array($this->modules_parts[$partname])) {
                             $this->modules_parts[$partname] = array();
                         }
                         $this->modules_parts[$partname][$params[0]][] = $value;
                         // $value may be a string or an array
                     } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i', $key, $reg)) {
                         $modulename = strtolower($reg[1]);
                         $partname = strtolower($reg[2]);
                         if (!isset($this->modules_parts[$partname]) || !is_array($this->modules_parts[$partname])) {
                             $this->modules_parts[$partname] = array();
                         }
                         $arrValue = json_decode($value, true);
                         if (is_array($arrValue) && !empty($arrValue)) {
                             $value = $arrValue;
                         } else {
                             if (in_array($partname, array('login', 'menus', 'substitutions', 'triggers', 'tpl'))) {
                                 $value = '/' . $modulename . '/core/' . $partname . '/';
                             } else {
                                 if (in_array($partname, array('models', 'theme'))) {
                                     $value = '/' . $modulename . '/';
                                 } else {
                                     if (in_array($partname, array('sms'))) {
                                         $value = $modulename;
                                     } else {
                                         if ($value == 1) {
                                             $value = '/' . $modulename . '/core/modules/' . $partname . '/';
                                         }
                                     }
                                 }
                             }
                         }
                         // ex: partname = societe
                         $this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value));
                         // $value may be a string or an array
                     } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i', $key, $reg)) {
                         $modulename = strtolower($reg[1]);
                         if ($modulename == 'propale') {
                             $modulename = 'propal';
                         }
                         if (!isset($this->{$modulename}) || !is_object($this->{$modulename})) {
                             $this->{$modulename} = new stdClass();
                         }
                         $this->{$modulename}->enabled = true;
                         $this->modules[] = $modulename;
                         // Add this module in list of enabled modules
                     }
                 }
             }
             $i++;
         }
         $db->free($resql);
     }
     //var_dump($this->modules);
     //var_dump($this->modules_parts['theme']);
     // If you can't set timezone of your PHP, set this constant. Better is to set it to UTC.
//.........这里部分代码省略.........
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:101,代码来源:conf.class.php

示例8: commonReplaceThirdparty

 /**
  * Function used to replace a thirdparty id with another one.
  * This function is meant to be called from replaceThirdparty with the appropiate tables
  * Column name fk_soc MUST be used to identify thirdparties
  *
  * @param DoliDB 	$db 			Database handler
  * @param int 		$origin_id 		Old thirdparty id (the thirdparty to delete)
  * @param int 		$dest_id 		New thirdparty id (the thirdparty that will received element of the other)
  * @param array 	$tables 		Tables that need to be changed
  * @return bool
  */
 public static function commonReplaceThirdparty(DoliDB $db, $origin_id, $dest_id, array $tables)
 {
     foreach ($tables as $table) {
         $sql = 'UPDATE ' . MAIN_DB_PREFIX . $table . ' SET fk_soc = ' . $dest_id . ' WHERE fk_soc = ' . $origin_id;
         if (!$db->query($sql)) {
             return false;
         }
     }
     return true;
 }
开发者ID:Samara94,项目名称:dolibarr,代码行数:21,代码来源:commonobject.class.php

示例9: cleanCorruptedTree

/**
 * Clean corrupted tree (orphelins linked to a not existing parent), record linked to themself and child-parent loop
 *
 * @param	DoliDB	$db					Database handler
 * @param	string	$tabletocleantree	Table to clean
 * @param	string	$fieldfkparent		Field name that contains id of parent
 * @return	int							Nb of records fixed/deleted
 */
function cleanCorruptedTree($db, $tabletocleantree, $fieldfkparent)
{
    $totalnb = 0;
    $listofid = array();
    $listofparentid = array();
    // Get list of all id in array listofid and all parents in array listofparentid
    $sql = 'SELECT rowid, ' . $fieldfkparent . ' as parent_id FROM ' . MAIN_DB_PREFIX . $tabletocleantree;
    $resql = $db->query($sql);
    if ($resql) {
        $num = $db->num_rows($resql);
        $i = 0;
        while ($i < $num) {
            $obj = $db->fetch_object($resql);
            $listofid[] = $obj->rowid;
            if ($obj->parent_id > 0) {
                $listofparentid[$obj->rowid] = $obj->parent_id;
            }
            $i++;
        }
    } else {
        dol_print_error($db);
    }
    if (count($listofid)) {
        print 'Code requested to clean tree (may be to solve data corruption), so we check/clean orphelins and loops.' . "<br>\n";
        // Check loops on each other
        $sql = "UPDATE " . MAIN_DB_PREFIX . $tabletocleantree . " SET " . $fieldfkparent . " = 0 WHERE " . $fieldfkparent . " = rowid";
        // So we update only records linked to themself
        $resql = $db->query($sql);
        if ($resql) {
            $nb = $db->affected_rows($sql);
            if ($nb > 0) {
                print '<br>Some record that were parent of themself were cleaned.';
            }
            $totalnb += $nb;
        }
        //else dol_print_error($db);
        // Check other loops
        $listofidtoclean = array();
        foreach ($listofparentid as $id => $pid) {
            // Check depth
            //print 'Analyse record id='.$id.' with parent '.$pid.'<br>';
            $cursor = $id;
            $arrayidparsed = array();
            // We start from child $id
            while ($cursor > 0) {
                $arrayidparsed[$cursor] = 1;
                if ($arrayidparsed[$listofparentid[$cursor]]) {
                    print 'Found a loop between id ' . $id . ' - ' . $cursor . '<br>';
                    unset($arrayidparsed);
                    $listofidtoclean[$cursor] = $id;
                    break;
                }
                $cursor = $listofparentid[$cursor];
            }
            if (count($listofidtoclean)) {
                break;
            }
        }
        $sql = "UPDATE " . MAIN_DB_PREFIX . $tabletocleantree;
        $sql .= " SET " . $fieldfkparent . " = 0";
        $sql .= " WHERE rowid IN (" . join(',', $listofidtoclean) . ")";
        // So we update only records detected wrong
        $resql = $db->query($sql);
        if ($resql) {
            $nb = $db->affected_rows($sql);
            if ($nb > 0) {
                // Removed orphelins records
                print '<br>Some records were detected to have parent that is a child, we set them as root record for id: ';
                print join(',', $listofidtoclean);
            }
            $totalnb += $nb;
        }
        //else dol_print_error($db);
        // Check and clean orphelins
        $sql = "UPDATE " . MAIN_DB_PREFIX . $tabletocleantree;
        $sql .= " SET " . $fieldfkparent . " = 0";
        $sql .= " WHERE " . $fieldfkparent . " NOT IN (" . join(',', $listofid) . ")";
        // So we update only records linked to a non existing parent
        $resql = $db->query($sql);
        if ($resql) {
            $nb = $db->affected_rows($sql);
            if ($nb > 0) {
                // Removed orphelins records
                print '<br>Some orphelins were found and modified to be parent so records are visible again for id: ';
                print join(',', $listofid);
            }
            $totalnb += $nb;
        }
        //else dol_print_error($db);
        print '<br>We fixed ' . $totalnb . ' record(s). Some records may still be corrupted. New check may be required.';
        return $totalnb;
    }
//.........这里部分代码省略.........
开发者ID:Albertopf,项目名称:prueba,代码行数:101,代码来源:functions2.lib.php

示例10: show_subsidiaries

/**
 * 		Show html area for list of subsidiaries
 *
 *		@param	Conf		$conf		Object conf
 * 		@param	Translate	$langs		Object langs
 * 		@param	DoliDB		$db			Database handler
 * 		@param	Societe		$object		Third party object
 * 		@return	void
 */
function show_subsidiaries($conf, $langs, $db, $object)
{
    global $user;
    global $bc;
    $i = -1;
    $sql = "SELECT s.rowid, s.nom as name, s.address, s.zip, s.town, s.code_client, s.canvas";
    $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
    $sql .= " WHERE s.parent = " . $object->id;
    $sql .= " AND s.entity IN (" . getEntity('societe', 1) . ")";
    $sql .= " ORDER BY s.nom";
    $result = $db->query($sql);
    $num = $db->num_rows($result);
    if ($num) {
        $socstatic = new Societe($db);
        print_titre($langs->trans("Subsidiaries"));
        print "\n" . '<table class="noborder" width="100%">' . "\n";
        print '<tr class="liste_titre"><td>' . $langs->trans("Company") . '</td>';
        print '<td>' . $langs->trans("Address") . '</td><td>' . $langs->trans("Zip") . '</td>';
        print '<td>' . $langs->trans("Town") . '</td><td>' . $langs->trans("CustomerCode") . '</td>';
        print "<td>&nbsp;</td>";
        print "</tr>";
        $i = 0;
        $var = true;
        while ($i < $num) {
            $obj = $db->fetch_object($result);
            $var = !$var;
            print "<tr " . $bc[$var] . ">";
            print '<td>';
            $socstatic->id = $obj->rowid;
            $socstatic->name = $obj->name;
            $socstatic->canvas = $obj->canvas;
            print $socstatic->getNomUrl(1);
            print '</td>';
            print '<td>' . $obj->address . '</td>';
            print '<td>' . $obj->zip . '</td>';
            print '<td>' . $obj->town . '</td>';
            print '<td>' . $obj->code_client . '</td>';
            print '<td align="center">';
            print '<a href="' . DOL_URL_ROOT . '/societe/soc.php?socid=' . $obj->rowid . '&amp;action=edit">';
            print img_edit();
            print '</a></td>';
            print "</tr>\n";
            $i++;
        }
        print "\n</table>\n";
    }
    print "<br>\n";
    return $i;
}
开发者ID:LionSystemsSolutions,项目名称:El-Canelo-ERP,代码行数:58,代码来源:company.lib.php

示例11:

 /**
  *		Renvoi si un code est pris ou non (par autre tiers)
  *
  *		@param	DoliDB		$db			Handler acces base
  *		@param	string		$code		Code a verifier
  *		@param	Societe		$soc		Objet societe
  *		@return	int						0 if available, <0 if KO
  */
 function verif_dispo($db, $code, $soc)
 {
     $sql = "SELECT code_client FROM " . MAIN_DB_PREFIX . "societe";
     $sql .= " WHERE code_client = '" . $code . "'";
     if ($soc->id > 0) {
         $sql .= " AND rowid <> " . $soc->id;
     }
     $resql = $db->query($sql);
     if ($resql) {
         if ($db->num_rows($resql) == 0) {
             return 0;
         } else {
             return -1;
         }
     } else {
         return -2;
     }
 }
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:26,代码来源:mod_codeclient_elephant.php

示例12: getEMailTemplate

 /**
  *      Return template of email
  *      Search into table c_email_templates
  *
  * 		@param	DoliDB		$db				Database handler
  * 		@param	string		$type_template	Get message for key module
  *      @param	string		$user			Use template public or limited to this user
  *      @param	Translate	$outputlangs	Output lang object
  *      @param	int			$id				Id template to find
  *      @return array						array('topic'=>,'content'=>,..)
  */
 private function getEMailTemplate($db, $type_template, $user, $outputlangs, $id = 0)
 {
     $ret = array();
     $sql = "SELECT label, topic, content, lang";
     $sql .= " FROM " . MAIN_DB_PREFIX . 'c_email_templates';
     $sql .= " WHERE type_template='" . $db->escape($type_template) . "'";
     $sql .= " AND entity IN (" . getEntity("c_email_templates") . ")";
     $sql .= " AND (fk_user is NULL or fk_user = 0 or fk_user = " . $user->id . ")";
     if (is_object($outputlangs)) {
         $sql .= " AND (lang = '" . $outputlangs->defaultlang . "' OR lang IS NULL OR lang = '')";
     }
     if (!empty($id)) {
         $sql .= " AND rowid=" . $id;
     }
     $sql .= $db->order("lang,label", "ASC");
     //print $sql;
     $resql = $db->query($sql);
     if ($resql) {
         $obj = $db->fetch_object($resql);
         // Get first found
         if ($obj) {
             $ret['label'] = $obj->label;
             $ret['topic'] = $obj->topic;
             $ret['content'] = $obj->content;
             $ret['lang'] = $obj->lang;
         } else {
             $defaultmessage = '';
             if ($type_template == 'facture_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendInvoice");
             } elseif ($type_template == 'facture_relance') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendInvoiceReminder");
             } elseif ($type_template == 'propal_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendProposal");
             } elseif ($type_template == 'askpricesupplier_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendAskPriceSupplier");
             } elseif ($type_template == 'order_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendOrder");
             } elseif ($type_template == 'order_supplier_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendSupplierOrder");
             } elseif ($type_template == 'invoice_supplier_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendSupplierInvoice");
             } elseif ($type_template == 'shipping_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendShipping");
             } elseif ($type_template == 'fichinter_send') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentSendFichInter");
             } elseif ($type_template == 'thirdparty') {
                 $defaultmessage = $outputlangs->transnoentities("PredefinedMailContentThirdparty");
             }
             $ret['label'] = 'default';
             $ret['topic'] = '';
             $ret['content'] = $defaultmessage;
             $ret['lang'] = $outputlangs->defaultlang;
         }
         $db->free($resql);
         return $ret;
     } else {
         dol_print_error($db);
         return -1;
     }
 }
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:71,代码来源:html.formmail.class.php

示例13: verif

 /**
  *  Return if a code is available
  *
  *	@param	DoliDB		$db			Database handler
  * 	@param	string		$code		Code of third party
  * 	@param	Societe		$societe	Object third party
  * 	@param	string		$type		'supplier' or 'customer'
  *	@return	int						0 if OK but not available, >0 if OK and available, <0 if KO
  */
 function verif($db, $code, $societe, $type)
 {
     $sql = "SELECT ";
     if ($type == 'customer') {
         $sql .= "code_compta";
     } else {
         if ($type == 'supplier') {
             $sql .= "code_compta_fournisseur";
         }
     }
     $sql .= " FROM " . MAIN_DB_PREFIX . "societe";
     $sql .= " WHERE ";
     if ($type == 'customer') {
         $sql .= "code_compta";
     } else {
         if ($type == 'supplier') {
             $sql .= "code_compta_fournisseur";
         }
     }
     $sql .= " = '" . $this->db->escape($code) . "'";
     if (!empty($societe->id)) {
         $sql .= " AND rowid <> " . $societe->id;
     }
     $resql = $db->query($sql);
     if ($resql) {
         if ($db->num_rows($resql) == 0) {
             dol_syslog("mod_codecompta_aquarium::verif code '" . $code . "' available");
             return 1;
             // Dispo
         } else {
             dol_syslog("mod_codecompta_aquarium::verif code '" . $code . "' not available");
             return 0;
             // Non dispo
         }
     } else {
         $this->error = $db->error() . " sql=" . $sql;
         dol_syslog("mod_codecompta_aquarium::verif error" . $this->error, LOG_ERR);
         return -1;
         // Erreur
     }
 }
开发者ID:LionSystemsSolutions,项目名称:El-Canelo-ERP,代码行数:50,代码来源:mod_codecompta_aquarium.php

示例14: fetchAll

 /**
  * Retrieve all batch number details link to a shipment line
  *
  * @param	DoliDB	$db					Database object
  * @param	int		$id_line_expdet		id of shipment line
  * @return	variant						-1 if KO, array of ExpeditionLineBatch if OK
  */
 static function fetchAll($db, $id_line_expdet)
 {
     $sql = "SELECT rowid,";
     $sql .= "fk_expeditiondet";
     $sql .= ", sellby";
     $sql .= ", eatby";
     $sql .= ", batch";
     $sql .= ", qty";
     $sql .= ", fk_origin_stock";
     $sql .= " FROM " . MAIN_DB_PREFIX . self::$_table_element;
     $sql .= " WHERE fk_expeditiondet=" . (int) $id_line_expdet;
     dol_syslog(__METHOD__ . "", LOG_DEBUG);
     $resql = $db->query($sql);
     if ($resql) {
         $num = $db->num_rows($resql);
         $i = 0;
         while ($i < $num) {
             $tmp = new self($db);
             $obj = $db->fetch_object($resql);
             $tmp->sellby = $db->jdate($obj->sellby);
             $tmp->eatby = $db->jdate($obj->eatby);
             $tmp->batch = $obj->batch;
             $tmp->id = $obj->rowid;
             $tmp->fk_origin_stock = $obj->fk_origin_stock;
             $tmp->fk_expeditiondet = $obj->fk_expeditiondet;
             $tmp->dluo_qty = $obj->qty;
             $ret[] = $tmp;
             $i++;
         }
         $db->free($resql);
         return $ret;
     } else {
         return -1;
     }
 }
开发者ID:TAASA,项目名称:Dolibarr-ERP-3.8.1,代码行数:42,代码来源:expeditionbatch.class.php

示例15: replaceThirdparty

	/**
	 * Function used to replace a thirdparty id with another one.
	 * It must be used within a transaction to avoid trouble
	 *
	 * @param DoliDB $db Database handler
	 * @param int $origin_id Old thirdparty id
	 * @param int $dest_id New thirdparty id
	 * @return bool
	 */
	public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id)
	{
		/**
		 * Thirdparty commercials cannot be the same in both thirdparties so we look for them and remove some
		 * Because this function is meant to be executed within a transaction, we won't take care of it.
		 */
		$sql = 'SELECT rowid
FROM llx_societe_commerciaux
WHERE fk_soc = '.(int) $dest_id.' AND fk_user IN (
  SELECT fk_user
  FROM llx_societe_commerciaux
  WHERE fk_soc = '.(int) $origin_id.'
);';

		$query = $db->query($sql);

		while ($result = $db->fetch_object($query)) {
			$db->query('DELETE FROM llx_societe_commerciaux WHERE rowid = '.$result->rowid);
		}

		/**
		 * llx_societe_extrafields table must not be here because we don't care about the old thirdparty data
		 * Do not include llx_societe because it will be replaced later
		 */
		$tables = array(
			'societe_address',
			'societe_commerciaux',
			'societe_log',
			'societe_prices',
			'societe_remise',
			'societe_remise_except',
			'societe_rib'
		);

		return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables);
	}
开发者ID:NoisyBoy86,项目名称:Dolibarr_test,代码行数:45,代码来源:societe.class.php


注:本文中的DoliDB类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。