コード例 #1
0
ファイル: forms.class.php プロジェクト: OptimalInternet/uCore
 /**
  * Add a parent of this module, linked by a field.
  *
  * @param string $parentModule The classname of the parent
  * @param string|array optional $fieldLinks
  * @param string optional $parentField
  * @param string optional $text
  */
 public static function AddParent($parentModule, $fieldLinks = NULL, $parentField = NULL, $text = NULL)
 {
     if (isset($fieldLinks) && is_string($fieldLinks)) {
         $fieldLinks = array(array('fromField' => $fieldLinks, 'toField' => $fieldLinks, 'ct' => ctEQ));
     }
     if (isset($fieldLinks) && is_array($fieldLinks) && !array_key_exists(0, $fieldLinks)) {
         if (array_key_exists('fromField', $fieldLinks) && array_key_exists('toField', $fieldLinks)) {
             $fieldLinks = array($fieldLinks);
         } else {
             // change from array(from>to) to new format
             $newFL = array();
             foreach ($fieldLinks as $from => $to) {
                 $newFL[] = array('fromField' => $from, 'toField' => $to, 'ct' => ctEQ);
             }
             $fieldLinks = $newFL;
         }
     }
     if (isset($fieldLinks) && !is_array($fieldLinks)) {
         // must be null or array
         trigger_error('Cannot add parent (' . $parentModule . ') of ' . get_called_class() . ', fieldLinks parameter is an invalid type.', E_USER_ERROR);
     }
     $info = array('parentField' => $parentField, 'fieldLinks' => $fieldLinks, 'text' => $text);
     utopia::AddChild($parentModule, get_called_class(), $info);
     return $fieldLinks;
 }