Example #1
0
 /**
  * create a user
  * @depends testCreateUserGroup
  */
 public function testCreateUser()
 {
     $group = User::getByName("unitTestUserGroup");
     $user = new User();
     $user->setUsername("unitTestUser");
     $user->setParentId($group->getId());
     $user->setHasCredentials(true);
     $user->setPassword(md5("unitTestUser"));
     $user->save();
     unset($user);
     $user = User::getByName("unitTestUser");
     $this->assertTrue($user instanceof User and $user->getUsername() == "unitTestUser");
 }
Example #2
0
 /**
  * @param  $fd
  * @return void
  */
 protected function setFieldData($object, $fd, $refDocument, $refAsset, $minAmountLazyRelations)
 {
     foreach ($fd as $field) {
         $name = $field->getName();
         $type = $field->getFieldType();
         $class = "Object_Class_Data_" . ucfirst($type);
         $this->assertTrue(class_exists($class));
         $data = new $class();
         $setter = "set" . ucfirst($name);
         if (!$field->isRelationType() or !$field->isRemoteOwner()) {
             $this->assertTrue(method_exists($object, $setter));
         }
         if ($data instanceof Object_Class_Data_Checkbox) {
             $object->{$setter}(true);
         } else {
             if ($data instanceof Object_Class_Data_Time) {
                 $object->{$setter}("18:00");
             } else {
                 if ($data instanceof Object_Class_Data_Password) {
                     $object->{$setter}("verySecret");
                 } else {
                     if ($data instanceof Object_Class_Data_Input) {
                         $object->{$setter}("simple input");
                     } else {
                         if ($data instanceof Object_Class_Data_Date) {
                             $object->{$setter}(new Zend_Date());
                         } else {
                             if ($data instanceof Object_Class_Data_Datetime) {
                                 $object->{$setter}(new Zend_Date());
                             } else {
                                 if ($data instanceof Object_Class_Data_Href) {
                                     $object->{$setter}(Object_Abstract::getById($object->getId() - 1));
                                 } else {
                                     if ($data instanceof Object_Class_Data_Objects and !$data->isRemoteOwner()) {
                                         $data = array();
                                         $o = Object_Abstract::getById($object->getId() - 1);
                                         if (!$o instanceof Object_Folder) {
                                             $data[] = $o;
                                         }
                                         $data[] = Object_Abstract::getById($object->getId());
                                         $object->{$setter}($data);
                                     } else {
                                         if ($data instanceof Object_Class_Data_Fieldcollections) {
                                             $items = new Object_Fieldcollection();
                                             $collectionA = Object_Fieldcollection_Definition::getByKey("collectionA");
                                             $itemDefinitions = $collectionA->getFieldDefinitions();
                                             $item = new Object_Fieldcollection_Data_CollectionA();
                                             $this->setFieldData($item, $itemDefinitions, $refDocument, $refAsset, $minAmountLazyRelations);
                                             $items->add($item);
                                             $object->{$setter}($items);
                                         } else {
                                             if ($data instanceof Object_Class_Data_Localizedfields) {
                                                 $getter = "get" . ucfirst($name);
                                                 $data = $object->getO_class()->getFieldDefinition("localizedfields");
                                                 $localizedData = array();
                                                 $validLanguages = Pimcore_Tool::getValidLanguages();
                                                 foreach ($validLanguages as $language) {
                                                     foreach ($data->getFieldDefinitions() as $fd) {
                                                         $fieldData = $this->getLocalizedFieldDataFor($fd, $language, $refAsset);
                                                         $localizedData[$language][$fd->getName()] = $fieldData;
                                                     }
                                                 }
                                                 $object->{$setter}(new Object_Localizedfield($localizedData));
                                             } else {
                                                 if ($data instanceof Object_Class_Data_Multihref) {
                                                     $data = array();
                                                     $data[] = Object_Abstract::getById($object->getId() - 1);
                                                     $data[] = $refAsset;
                                                     //dummy for checking if relation is saved twice
                                                     $data[] = Asset::getById($refAsset->getId());
                                                     $data[] = $refDocument;
                                                     $fd = $object->geto_Class()->getFieldDefinition($name);
                                                     if ($fd->getLazyLoading()) {
                                                         for ($i = 1; $i <= $minAmountLazyRelations; $i++) {
                                                             $data[] = $this->createRandomObject("unittest");
                                                         }
                                                     }
                                                     $object->{$setter}($data);
                                                 } else {
                                                     if ($data instanceof Object_Class_Data_Languagemultiselect) {
                                                         $object->{$setter}(array("de", "en"));
                                                     } else {
                                                         if ($data instanceof Object_Class_Data_Countrymultiselect) {
                                                             $object->{$setter}(array("AT", "AU"));
                                                         } else {
                                                             if ($data instanceof Object_Class_Data_Multiselect) {
                                                                 $object->{$setter}(array("cat", "cow"));
                                                             } else {
                                                                 if ($data instanceof Object_Class_Data_User) {
                                                                     //create a user to set
                                                                     $user = new User();
                                                                     $user->setUsername(uniqid());
                                                                     $user->setParentId(0);
                                                                     $user->setHasCredentials(true);
                                                                     $user->setPassword(md5("unitTestUser"));
                                                                     $user->save();
                                                                     $object->{$setter}($user->getId());
                                                                 } else {
                                                                     if ($data instanceof Object_Class_Data_Language) {
                                                                         $object->{$setter}("en");
                                                                     } else {
                                                                         if ($data instanceof Object_Class_Data_Country) {
                                                                             $object->{$setter}("AU");
                                                                         } else {
                                                                             if ($data instanceof Object_Class_Data_Select) {
                                                                                 $object->{$setter}(2);
                                                                             } else {
                                                                                 if ($data instanceof Object_Class_Data_Geobounds) {
                                                                                     $object->{$setter}(new Object_Data_Geobounds(new Object_Data_Geopoint(150.96588134765625, -33.704920213014425), new Object_Data_Geopoint(150.60333251953125, -33.893217379440884)));
                                                                                 } else {
                                                                                     if ($data instanceof Object_Class_Data_Geopoint) {
                                                                                         $object->{$setter}(new Object_Data_Geopoint(151.2111111, -33.8599722));
                                                                                     } else {
                                                                                         if ($data instanceof Object_Class_Data_Geopolygon) {
                                                                                             $data = array(new Object_Data_Geopoint(150.54428100585938, -33.464671118242684), new Object_Data_Geopoint(150.73654174804688, -33.913733814316245), new Object_Data_Geopoint(151.2542724609375, -33.9946115848146));
                                                                                             $object->{$setter}($data);
                                                                                         } else {
                                                                                             if ($data instanceof Object_Class_Data_Image) {
                                                                                                 $object->{$setter}($refAsset);
                                                                                             } else {
                                                                                                 if ($data instanceof Object_Class_Data_Slider) {
                                                                                                     $object->{$setter}(6);
                                                                                                 } else {
                                                                                                     if ($data instanceof Object_Class_Data_Numeric) {
                                                                                                         $object->{$setter}(12000);
                                                                                                     } else {
                                                                                                         if ($data instanceof Object_Class_Data_Table) {
                                                                                                             $object->{$setter}(array(array("eins", "zwei", "drei"), array(1, 2, 3), array("a", "b", "c")));
                                                                                                         } else {
                                                                                                             if ($data instanceof Object_Class_Data_Textarea) {
                                                                                                                 $object->{$setter}("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.");
                                                                                                             } else {
                                                                                                                 if ($data instanceof Object_Class_Data_Wysiwyg) {
                                                                                                                     $object->{$setter}("<p>This is some <strong>HTML</strong> content</p><ul><li>list one</li><li>list two</li></ul>");
                                                                                                                 } else {
                                                                                                                     if ($data instanceof Object_Class_Data_Link) {
                                                                                                                         $l = new Object_Data_Link();
                                                                                                                         $l->setPath("http://www.pimcore.org");
                                                                                                                         $l->setTitle("pimcore.org");
                                                                                                                         $l->setText("pimcore.org");
                                                                                                                         $object->{$setter}($l);
                                                                                                                     }
                                                                                                                 }
                                                                                                             }
                                                                                                         }
                                                                                                     }
                                                                                                 }
                                                                                             }
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }