Add samples for code example

This commit is contained in:
Laurent Destailleur 2009-09-10 21:46:10 +00:00
parent 372ecf4e2a
commit cb3f178dbc
10 changed files with 176 additions and 17 deletions

10
dev/initdemo/README Normal file
View File

@ -0,0 +1,10 @@
README (English)
--------------------------------
Scripts in this directory can be used to reinit a demo database.
WARNING: This will erase current database with data into initdemo.sql.
Do a chmod 700 initdemo.sh
then run ./initdemo.sh to launch Graphic User Interface.
L'installation du package "dialog" est indispensable.

View File

@ -3,9 +3,10 @@ README (French)
Ce script permet de reinitialiser une base de donnée Dolibarr avec des Ce script permet de reinitialiser une base de donnée Dolibarr avec des
données de demo. données de demo.
ATTENTION: Ceci efface les données en cours de la base. ATTENTION: Ceci efface les données en cours de la base avec les données
du fichier initdemo.sql.
Faite un chmod 700 initdemo.sh Faite un chmod 700 initdemo.sh
puis ./initdemo.sh pour executer l'interface. puis ./initdemo.sh pour lancer l'interface graphique.
L'installation du package "dialog" est indispensable. L'installation du package "dialog" est indispensable.

View File

@ -7,6 +7,7 @@
# Laurent Destailleur - eldy@users.sourceforge.net # Laurent Destailleur - eldy@users.sourceforge.net
#------------------------------------------------------ #------------------------------------------------------
# WARNING: This script erase all data of database # WARNING: This script erase all data of database
# with data into initdemo.sql
#------------------------------------------------------ #------------------------------------------------------
export mydir=`echo "$_" | sed -e 's/initdemo.sh//'`; export mydir=`echo "$_" | sed -e 's/initdemo.sh//'`;

View File

@ -189,7 +189,7 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++)
} }
else else
{ {
dol_print_error($db,$facture->error); dol_print_error($db,$com->error);
} }
print "\n"; print "\n";

4
dev/samples/README Normal file
View File

@ -0,0 +1,4 @@
README (English)
--------------------------------
This directory contains samples of code to use Dolibarr classes to build
external interfaces that need to read/update data from/into Dolibarr.

View File

@ -0,0 +1,128 @@
<?PHP
/* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program 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.
*
* 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
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
* \file dev/samples/manage_order.php
* \brief This file is an example for a command line script
* \version $Id$
* \author Put author name here
* \remarks Put here some comments
*/
// Test if batch mode
$sapi_type = php_sapi_name();
$script_file=__FILE__;
if (eregi('([^\\\/]+)$',$script_file,$reg)) $script_file=$reg[1];
$path=eregi_replace($script_file,'',$_SERVER["PHP_SELF"]);
if (substr($sapi_type, 0, 3) == 'cgi') {
echo "Error: You are using PHP for CGI/Web. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
exit;
}
// Global variables
$version='$Revision$';
$error=0;
// -------------------- START OF YOUR CODE HERE --------------------
// Include Dolibarr environment
require_once($path."../../htdocs/master.inc.php");
require_once($path."../../htdocs/commande/commande.class.php");
// After this $db, $mysoc, $langs and $conf->entity are defined. Opened handler to database will be closed at end of file.
//$langs->setDefaultLang('en_US'); // To change default language of $langs
$langs->load("main"); // To load language file for default language
@set_time_limit(0);
// Load user and its permissions
$result=$user->fetch('admin'); // Load user for login 'admin'. Comment line to run as anonymous user.
if (! $result > 0) { dol_print_error('',$user->error); exit; }
$user->getrights();
print "***** ".$script_file." (".$version.") *****\n";
// Check parameters
if (! isset($argv[1])) {
print "Usage: ".$script_file." param1 param2 ...\n";
exit;
}
// Show parameters
print 'Argument 1='.$argv[1]."\n";
print 'Argument 2='.$argv[2]."\n";
print '--- start'."\n";
// Start of transaction
$db->begin();
// Create order object
$com = new Commande($db);
$com->ref = 'ABCDE';
$com->socid = 4; // Put id of third party (rowid in llx_societe table)
$com->date_commande = mktime();
$com->note = 'A comment';
$com->source = 1;
$com->remise_percent = 0;
$orderline1=new CommandeLigne($db);
$orderline1->tva_tx=10.0;
$orderline1->remise_percent=0;
$orderline1->qty=1;
$com->lines[]=$orderline1;
// Create order
$result=$com->create($user);
if ($result >= 0)
{
// Change status to validated
$result=$com->valid($user);
if ($result) print " OK";
else
{
$error++;
dol_print_error($db,$com->error);
}
}
else
{
$error++;
dol_print_error($db,$com->error);
}
print "\n";
// -------------------- END OF YOUR CODE --------------------
if (! $error)
{
$db->commit();
print '--- end ok'."\n";
}
else
{
print '--- end error code='.$error."\n";
$db->rollback();
}
$db->close();
return $error;
?>

View File

@ -26,31 +26,36 @@
* \remarks Put here some comments * \remarks Put here some comments
*/ */
// Test if batch mode // Test if batch mode and define path of script
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file=__FILE__; $script_file=__FILE__;
if (eregi('([^\\\/]+)$',$script_file,$reg)) $script_file=$reg[1]; if (eregi('([^\\\/]+)$',$script_file,$reg)) $script_file=$reg[1];
$path=eregi_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=eregi_replace($script_file,'',$_SERVER["PHP_SELF"]);
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {
echo "Error: You are using PH for CGI/Web. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; echo "Error: You are using PHP for CGI/Web. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
exit; exit;
} }
// Include Dolibarr environment
require_once($path."../../htdocs/master.inc.php");
// After this $db, $mysoc, $langs and $conf->entity are defined. Opened handler to database will be closed at end of file.
require_once(DOL_DOCUMENT_ROOT."/cron/functions_cron.lib.php");
// Global variables // Global variables
$version='$Revision$'; $version='$Revision$';
$error=0; $error=0;
// -------------------- START OF YOUR CODE HERE -------------------- // -------------------- START OF YOUR CODE HERE --------------------
// Include Dolibarr environment
require_once($path."../../htdocs/master.inc.php");
// After this $db, $mysoc, $langs and $conf->entity are defined. Opened handler to database will be closed at end of file.
//$langs->setDefaultLang('en_US'); // To change default language of $langs //$langs->setDefaultLang('en_US'); // To change default language of $langs
$langs->load("main"); // To load language file for default language $langs->load("main"); // To load language file for default language
@set_time_limit(0); @set_time_limit(0); // No timeout for this script
// Load user and its permissions
$result=$user->fetch('admin'); // Load user for login 'admin'. Comment line to run as anonymous user.
if (! $result > 0) { dol_print_error('',$user->error); exit; }
$user->getrights();
print "***** ".$script_file." (".$version.") *****\n"; print "***** ".$script_file." (".$version.") *****\n";
// Check parameters // Check parameters
@ -80,7 +85,7 @@ dol_syslog($script_file." CREATE", LOG_DEBUG);
$myobject->prop1='value_prop1'; $myobject->prop1='value_prop1';
$myobject->prop2='value_prop2'; $myobject->prop2='value_prop2';
$id=$myobject->create($user); $id=$myobject->create($user);
if ($id < 0) dol_print_error($db,$myobject->error); if ($id < 0) { $error++; dol_print_error($db,$myobject->error); }
else print "Object created with id=".$id."\n"; else print "Object created with id=".$id."\n";
*/ */
@ -88,7 +93,7 @@ else print "Object created with id=".$id."\n";
/* /*
dol_syslog($script_file." FETCH", LOG_DEBUG); dol_syslog($script_file." FETCH", LOG_DEBUG);
$result=$myobject->fetch($id); $result=$myobject->fetch($id);
if ($result < 0) dol_print_error($db,$myobject->error); if ($result < 0) { $error; dol_print_error($db,$myobject->error); }
else print "Object with id=".$id." loaded\n"; else print "Object with id=".$id." loaded\n";
*/ */
@ -98,7 +103,7 @@ dol_syslog($script_file." UPDATE", LOG_DEBUG);
$myobject->prop1='newvalue_prop1'; $myobject->prop1='newvalue_prop1';
$myobject->prop2='newvalue_prop2'; $myobject->prop2='newvalue_prop2';
$result=$myobject->update($user); $result=$myobject->update($user);
if ($result < 0) dol_print_error($db,$myobject->error); if ($result < 0) { $error++; dol_print_error($db,$myobject->error); }
else print "Object with id ".$myobject->id." updated\n"; else print "Object with id ".$myobject->id." updated\n";
*/ */
@ -106,7 +111,7 @@ else print "Object with id ".$myobject->id." updated\n";
/* /*
dol_syslog($script_file." DELETE", LOG_DEBUG); dol_syslog($script_file." DELETE", LOG_DEBUG);
$result=$myobject->delete($user); $result=$myobject->delete($user);
if ($result < 0) dol_print_error($db,$myobject->error); if ($result < 0) { $error++; dol_print_error($db,$myobject->error); }
else print "Object with id ".$myobject->id." deleted\n"; else print "Object with id ".$myobject->id." deleted\n";
*/ */
@ -141,8 +146,8 @@ if ($resql)
} }
else else
{ {
$error++;
dol_print_error($db); dol_print_error($db);
exit;
} }
*/ */
@ -160,7 +165,7 @@ else
$db->rollback(); $db->rollback();
} }
$db->close(); $db->close(); // Close database opened handler
return $error; return $error;
?> ?>

6
dev/translation/README Normal file
View File

@ -0,0 +1,6 @@
README (English)
--------------------------------
This directory contains tools to generate translation files for a new languages
or to update translation files for existing languages.
See http://wiki.dolibarr.org/ in pages about "How to translate Dolibarr" for
more informations on how to use them.

4
dev/xdebug/README Normal file
View File

@ -0,0 +1,4 @@
README (English)
--------------------------------
This directory contains information to know how to setup XDebug in Eclipse for
running PHP scripts with XDebug.