# openerplib, openerp-lib, openerp library for php, php openerp lib, openerp-php-lib openerp php library used xml-rpc , and openerp ORM openerplib is a library for PHP that allows operations with xml-rpc [OpenERP] (http://www.openerp.com/) comfortably. Inspired from Openerp Client Liprary python ## Requeriments Dependency (requirement) * xmlrpc.inc >= 1.174 http://phpxmlrpc.sourceforge.net/ (incluida) ## Installation It requires no special installation. Copy the / openerplib where being want to use and import to your php scri ## Configuration Two forms of use. ### Configuring file / openerplib / openerplib.inc.php ```php ``` ### On-live setting. ```php 'mybdname', 'uid' => 1212, 'passwd' => 'foo', 'url' => 'http://openerp/xmlrpc', ); $open = new OpenERP($config); ?> ``` ## Usage ### Creating the factory object OpenERP ```php openerlib.inc.php ?> ``` ### Reading objects by object id. ```php res_partner->get(1); print $p->id; // Read res.partner object with id 1 and some of its properties $p = $open->res_partner('name', 'active')->get(1); print $p->id; print $p->name . " ". $p->active; $p = $open->res_partner(array('name', 'active'))->get(1); print $p->id; print $p->name . " ". $p->active; // Read res.partner object with id 1, all properties $p = $open->res_partner('__ALL')->get(1); print $p->id; print $p->name . " ". $p->ref . " " . $p->vat; ?> ``` ### Navigating many2one objects with OpenERP ```php res_partner('country')->get(1); print $p->id; print $p->country->id; // many2one => res.country print $p->country('name')->name; ?> ``` ### Navigating one2many objects with OpenERP ```php res_partner('departament_ids')->get(1); print "Departaments of " . $p->id; foreach($p->departament_ids('name', 'address_id') as $d) // res.partner.departament print $d->name . " " . $d->address_id->id; ?> ``` ### searches ```php res_partner_address($fields)->search('email', '=', 'foo@bar.com'); foreach ($results as $id => $address) { print "

" . $id . "

"; print "
" . $address->info() . "
"; print "
"; } ?> ``` ### Navigation , editing and saving (Update record) ```php res_partner('name', 'active')->get(1); $p->name = 'FOO'; $p->save(); ?> ``` ### Creating new record ```php crm_case; $crm->name = 'TEST'; $crm->section_id = 10; $crm->email_from = 'foo@bar.com'; $id = $crm->save(); print $id ? "

OK: ".$id."

" : "

ERROR

". $crm->getError() . "
"; ?> ``` ### run Methods ```php crm_case->get(39806); $r = $crm->workflow('case_open'); print "
". print_r($r) . "
"; ?> ``` ## Contact Abhishek