function GroupPermission($db, &$creator)
 {
     $enabled = new dbEnumField('enabled', DB_TYPE_ENUM, 'Y', 'N');
     $permName = new dbField('permission_name', DB_TYPE_STRING, 255);
     $groupID = new dbField('group_id', DB_TYPE_INT, 255);
     $groupJoin = new oneToOneJoinField('group', 'groups', 'group_id', $groupID);
     parent::DBTableObject($db, array($enabled, $permName, $groupID), 'groupPermissions', 'permission_id', $creator);
 }
 /**
  * Constructor.
  *
  * @param $db (dbModule)
  * @param $creator (object)
  * @param $extraFields (object dbField array)
  * @param $extraJoins (object genericJoinField array)
  */
 function UserTranslatedGroup($db, &$creator, $extraFields = array(), $extraJoins = array())
 {
     $name = new dbField('name', DB_TYPE_STRING, 255);
     $description = new dbField('description', DB_TYPE_TEXT);
     $groupID = new dbField('group_id', DB_TYPE_INT);
     $groupID->canBeNull = true;
     $lCode = new dbField('language_code', DB_TYPE_STRING, 5);
     parent::DBTableObject($db, array($name, $description, $groupID, $lCode), 'translatedGroups', 'translated_group_id', $creator, $extraFields);
 }
 function Author(&$db, &$creator)
 {
     $firstName = new dbField('firstname', DB_TYPE_STRING, 70);
     $lastName = new dbField('lastname', DB_TYPE_STRING, 70);
     $ID = new dbField('authorid', DB_TYPE_INT, 11);
     $basicFields = array($ID, $firstName, $lastName);
     $joins = array(new OneToMultipleJoinField('books', 'Books', 'authorid', $ID));
     parent::DBTableObject($db, $basicFields, 'authors', 'authorid', $creator, array(), $joins);
 }
 function calendarEvent(&$db, $extraOptions, &$creator)
 {
     $name = new dbField('name', 'string');
     $start = new dbField('start', 'datetime');
     $end = new dbField('end', 'datetime');
     $desc = new dbField('description', 'text');
     $group = new dbField('groupID', 'int');
     parent::DBTableObject($db, $extraOptions, array('name' => $name, 'start' => $start, 'end' => $end, 'description' => $desc, 'groupID' => $group), 'calendar', 'eventID', $creator);
 }
 /**
  * Constructor
  *
  * @param $db (object database) the database module
  * @param $parent (object)
  * @param $extraFields (dbField array) an array with extra fields
  * @param $extraJoins (dbGenericJoinField array) an array with extra joins
  */
 function User($db, &$parent, $extraFields = array(), $extraJoins = array())
 {
     $login = new dbField('login', DB_TYPE_STRING, 255);
     $email = new dbField('email', DB_TYPE_STRING, 255);
     $pass = new dbField('password', DB_TYPE_STRING, 32);
     // md5ied always length 32
     $ID = new dbField('user_id', DB_TYPE_INT, 11);
     $groupJoin = new MultipleToMultipleJoinField('groups', 'group', 'group_id', $ID, 'groupUsers');
     parent::DBTableObject($db, array($login, $email, $pass), 'users', 'user_id', $parent, $extraFields, array_merge(array($groupJoin), $extraJoins));
 }
 /**
  * Constructor
  *
  * @param $db (dbModule)
  * @param $parent (object) the creator of this object (a pagemanager object)
  * @param $extraFields (object dbField array)
  * @param $extraJoins (object dbGenericJoinField array)
  */
 function TranslatedPage(&$db, &$parent, $extraFields = array(), $extraJoins = array())
 {
     $translatedTitle = new dbField('translated_title', DB_TYPE_STRING, 255);
     $translatedNavTitle = new dbField('translated_nav_title', DB_TYPE_STRING, 255);
     $translatedNavTitle->canBeNull = true;
     $translatedContent = new dbField('translated_content', DB_TYPE_TEXT);
     $translatedContent->canBeNull = true;
     $pageID = new dbField('page_id', DB_TYPE_INT, 11);
     $pageID->canBeNull = true;
     $languageCode = new dbField('language_code', DB_TYPE_STRING, 25);
     $ID = new dbField('translated_page_id', DB_TYPE_INT, 11);
     parent::DBTableObject($db, array($ID, $translatedTitle, $translatedNavTitle, $translatedContent, $pageID, 'languageCode' => $languageCode), 'translatedPages', 'translated_page_id', $parent, $extraFields);
 }
 /**
  * Constructor
  *
  * @param $db (object dbModule)
  * @param $parent (object) The creator
  * @param $allEFields (dbField array) all extra fields
  * @param $allEJoins (dbGenericJoin array) all extra joins
  */
 function Page(&$db, &$parent, $allEFields = array(), $allEJoins = array())
 {
     $name = new dbField('name', DB_TYPE_STRING, 255);
     $parentPageID = new dbField('parent_page_id', DB_TYPE_INT, 11);
     $placeInMenu = new dbField('place_in_menu', DB_TYPE_INT, 4);
     $placeInMenu->canBeNull = true;
     $action = new dbField('action', DB_TYPE_STRING, 255);
     $action->canBeNull = true;
     $pluginID = new dbField('plugin_id', DB_TYPE_STRING, 38);
     $pluginID->canBeNull = true;
     $ID = new dbField('page_id', DB_TYPE_INT, 11);
     $translatedJoin = new oneToMultipleJoinField('translatedPages', $db->getPrefix() . 'translatedPages', 'page_id', $ID);
     $childJoin = new oneToMultipleJoinField('childPages', $db->getPrefix() . 'pages', 'parent_page_id', $ID);
     parent::DBTableObject($db, array($ID, $name, $parentPageID, $placeInMenu, $action, $pluginID), 'pages', 'page_id', $parent, $allEFields, array($translatedJoin, $childJoin));
 }
 /**
  * Constructor
  *
  * @param $db (object database) the database module
  * @param $creator (object)
  * @param $extraFields (dbField array)
  * @param $extraJoins (dbGenericJoinField array)
  */
 function UserGroup($db, &$creator, $extraFields = array(), $extraJoins = array())
 {
     $genericName = new dbField('generic_name', DB_TYPE_STRING, 255);
     $genericDescription = new dbField('generic_description', DB_TYPE_TEXT);
     parent::DBTableObject($db, array($genericName, $genericDescription), 'groups', 'group_id', $creator, $extraFields);
 }