/**
  * function __construct
  * <pre>
  * Initialize the Class ...
  * </pre>
  * @param $page_id [INTEGER] value used to initialize the list.
  * @param $daobj_id [INTEGER] value used to initialize the list.
  * @param $isForm [INTEGER] value used to initialize the list.
  * @param $sortBy [STRING] the field name to sort list by
  * @return [void]
  */
 function __construct($page_id = -1, $daobj_id = -1, $isForm = -1, $sortBy = '')
 {
     $searchManager = new RowManager_PageFieldManager();
     // NOTE: if you need to narrow the field of the search then uncommnet
     // the following and set the proper search criteria.
     $searchManager->setValueByFieldName("page_id", $page_id);
     if ($daobj_id != -1) {
         $searchManager->setValueByFieldName("daobj_id", $daobj_id);
     }
     if ($isForm != -1) {
         $searchManager->setValueByFieldName("pagefield_isForm", $isForm);
     }
     if ($sortBy == '') {
         $sortBy = 'dafield_id';
     }
     $searchManager->setSortOrder($sortBy);
     $this->resultSet = $searchManager->find();
 }
 /**
  * function updateFieldSet
  * <pre>
  * Processes a given list of fields to be linked to this page
  * </pre>
  * @param $pageID [INTEGER] the ID of the current page
  * @param $daObjID [INTEGER] the ID of the associated Data Access Object
  * @param $isForm [INTEGER] flag indicating if associated with form DAObj
  * @param $fieldEntries [OBJECT] PageFieldList object with current data
  * @param $formList [ARRAY] the values returned from the form
  * @return [void]
  */
 function updateFieldSet($pageID, $daObjID, $isForm, $fieldEntries, $formList)
 {
     $currentFieldArray = array();
     $fieldEntries->setFirst();
     /*
      * First remove unselected fields ...
      */
     // for each entry
     while ($field = $fieldEntries->getNext()) {
         // if current field is in list returned from form
         if (in_array((string) $field->getFieldID(), $formList)) {
             // add current entry to currentArray
             $currentFieldArray[] = $field->getFieldID();
         } else {
             // else
             // delete current entry
             $field->deleteEntry();
         }
         // end if
     }
     // next entry
     /*
      * Now Add selected fields not already in table
      */
     // for each item in list returned from form
     for ($indx = 0; $indx < count($formList); $indx++) {
         // if current item not in currentArray
         if (!in_array($formList[$indx], $currentFieldArray)) {
             // create new PageField Entry in table
             $pageField = new RowManager_PageFieldManager();
             $pageField->createNewEntry();
             // fill in current data set
             $pageField->setPageID($pageID);
             $pageField->setDAObjID($daObjID);
             $pageField->setDAFieldID($formList[$indx]);
             $pageField->setIsForm($isForm);
             // update entry
             $pageField->updateDBTable();
         }
         // end if
     }
     // next item
 }