Quick search:

PntDatabaseConnection
PntDbClassDescriptor
PntDbError
PntDbObject
PntQueryHandler
Template
save
PntDbObject
addDbFieldProps
addVerifyOnDeleteValues
delete
getClassDescriptorClass
getDeleteErrorMessages
getFilters
getLabel
getLabelSeparator
getLabelSort
getOid
getOnDeleteErrorMessage
getSaveErrorMessages
getTableName
initFromData
initMissingFields
initPropertyDescriptors
isNew
isPersistent
loadData
newQueryHandler
pntDelete
recurseDelete

	
	function save() {
		
		$qh=& $this->newQueryHandler();
		$clsDesc =& $this->getClassDescriptor();
		$tableMap = $clsDesc->getTableMap();
		$insert = $this->isNew();

		reset($tableMap);
		while (list($tableName) = each($tableMap)) {
			$qh->setQueryToSaveObject_table_fieldMap(
				$this 
				, $tableName
				, $clsDesc->getFieldMapForTable($tableName)
				, $insert
			);
			$qh->_runQuery($this->getClass()." saving has failed");
			if ($qh->getError())
				return trigger_error($qh->getError(), E_USER_ERROR);
	
			if ($this->isNew()) { 
				$this->id = $qh->getInsertId();
				$clsDesc->peanutInserted($this);  //adds this to the cache
			}
		}
	}