Skip to content

Extensions for Sugar7 to more easily and flexibly manipulate data

Notifications You must be signed in to change notification settings

warent/ConveySugar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConveySugar

License: MIT

1. About

  • Designed to work with SugarCRM 7 and the v10 REST API

2. Installation

ConveySugar is available via Composer $ composer require warent/convey-sugar

3. Usage Examples

<?php

	namespace App;

	use ConveySugar\Sugar;
	use ConveySugar\Utilities\Search;

	class ContactSearchingApp {

		private $sugar;

		public function __construct() {
			// Creating our Sugar connection instance.
			// Connection opens when newed up,
			// so be sure accepting functions accept sugar by reference.
			$this->sugar = new Sugar([
				'SUGAR_URL' => 'https://sugar/rest/v10/',
				'SUGAR_USERNAME' => 'admin',
				'SUGAR_PASSWORD' => 'password'
			]);
		}

		public function searchContacts() {

			// Instantiating a new Sugar Utility
			// This one cycles through all records within a Sugar module
			$serchUtil = new Search(['resultsFn' => function($params) {
				$resultCount = count($params['results']);
				echo "$resultCount results from offset {$params['offset']}";
				foreach ($params['results'] as $result) {
					print_r($Result);
				}
			});

			// We execute our Search Utility on the module 'Contacts'
			$this->sugar->execute('Contacts', $searchUtil);
		}
	}
?>

4. Utilities

Count

Description

Return the number of records within a sugar module

Parameters

  • None

Delete

Description

Delete a record by ID

Parameters

  • recordID (Sugar ID [string]) Required

Insert

Description

Insert a new record

Parameters

  • values (Assoc Array) Required

Related

Description

Cycle related records of one sugar record to another module

Parameters

  • recordID (Sugar ID [string]) Required
  • relation (Sugar Module [string]) Required
  • type (Related::Type [static int])
    • Related::TYPE_NORMAL
    • Related::TYPE_NAKED
    • Related::TYPE_BACK
  • number (Integer)
  • transform (Related::Transform [static int])
    • Related::TRANSFORM_JSON
    • Related::TRANSFORM_BOOL
  • resultsFn (Function)
    • Parameters (Assoc Array)
      • results (Array)
      • offset (Integer)
  • offset (Integer)
  • limit (Integer)

Search

Description

Cycle records of a sugar module

Parameters

  • resultsFn (Function) Required
    • Parameters (Assoc Array)
      • results (Array)
      • offset (Integer)
  • offset (Integer)
  • limit (Integer)

5. Extra Features

resultsFn

  • Returning false in a resultsFn will stop/break the lookup

Related (Utility)

  • transform will return JSON (Assoc Array) by default. TYPE_BOOL will return true if any results are found, otherwise return false
  • type refers to theSugarCRM formatting of relational queries. There are three (unofficial) known ways for this to happen in the Sugar API, NORMAL, BACK, and NAKED: in a NORMAL type the query is $module_$relation_$number; in a BACK type the query is $relation_$module_$number; in a NAKED type the query is simply $relation. NORMAL is the default type and 1 is the default number as these are the most common configurations.

Thank you

About

Extensions for Sugar7 to more easily and flexibly manipulate data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages