예제 #1
0
 /**
  * Fetches the HTTP POST input and stores it in the data instance
  *
  * @param eZHTTPTool $http
  * @param string $base
  * @param eZContentObjectAttribute $contentObjectAttribute
  *
  * @return bool
  */
 function fetchObjectAttributeHTTPInput($http, $base, $contentObjectAttribute)
 {
     $classList = $http->postVariable($base . self::CLASS_LIST_VARIABLE . $contentObjectAttribute->attribute("id"), array());
     $classList = !is_array($classList) ? array() : $classList;
     $validClassIdentifiers = array();
     foreach ($classList as $classIdentifier) {
         if (eZContentClass::exists($classIdentifier, eZContentClass::VERSION_STATUS_DEFINED, false, true)) {
             $validClassIdentifiers[] = $classIdentifier;
         }
     }
     if (!empty($validClassIdentifiers)) {
         $contentObjectAttribute->setAttribute(self::CLASS_LIST_FIELD, implode(",", $validClassIdentifiers));
     } else {
         $contentObjectAttribute->setAttribute(self::CLASS_LIST_FIELD, "");
     }
     return true;
 }
예제 #2
0
 function handleParameters($packageType, $package, $cli, $type, $arguments)
 {
     $classList = false;
     foreach ($arguments as $argument) {
         if ($argument[0] == '-') {
             if (strlen($argument) > 1 and $argument[1] == '-') {
             } else {
             }
         } else {
             if ($classList === false) {
                 $classList = array();
                 $classArray = explode(',', $argument);
                 $error = false;
                 foreach ($classArray as $classID) {
                     if (in_array($classID, $classList)) {
                         $cli->notice("Content class {$classID} already in list");
                         continue;
                     }
                     if (is_numeric($classID)) {
                         if (!eZContentClass::exists($classID, 0, false, false)) {
                             $cli->error("Content class with ID {$classID} does not exist");
                             $error = true;
                         } else {
                             unset($class);
                             $class = eZContentClass::fetch($classID);
                             $classList[] = array('id' => $classID, 'identifier' => $class->attribute('identifier'), 'value' => $classID);
                         }
                     } else {
                         $realClassID = eZContentClass::exists($classID, 0, false, true);
                         if (!$realClassID) {
                             $cli->error("Content class with identifier {$classID} does not exist");
                             $error = true;
                         } else {
                             unset($class);
                             $class = eZContentClass::fetch($realClassID);
                             $classList[] = array('id' => $realClassID, 'identifier' => $class->attribute('identifier'), 'value' => $classID);
                         }
                     }
                 }
                 if ($error) {
                     return false;
                 }
             }
         }
     }
     if ($classList === false) {
         $cli->error("No class ids chosen");
         return false;
     }
     return array('class-list' => $classList);
 }