Пример #1
0
 /**
  * Render Column
  *
  * @param DOMNode $column
  * @param SingleRow $row
  * @param EditListField $field
  */
 public function renderColumn($column, $row, $field)
 {
     switch ($field->fieldType) {
         case EditListFieldType::TEXT:
             XmlUtil::AddTextNode($column, $row->getField($field->fieldData));
             break;
         case EditListFieldType::IMAGE:
             //				XmlnukeImage $xmi
             $xmi = new XmlnukeImage($row->getField($field->fieldData));
             $xmi->generateObject($column);
             break;
         case EditListFieldType::LOOKUP:
             $value = $row->getField($field->fieldData);
             if ($value == "") {
                 $value = "---";
             } else {
                 $value = isset($field->arrayLookup[$value]) ? $field->arrayLookup[$value] : "[{$value} ?]";
             }
             XmlUtil::AddTextNode($column, $value);
             break;
         case EditListFieldType::FORMATTER:
             $obj = $field->formatter;
             if (is_null($obj) || !$obj instanceof IEditListFormatter) {
                 throw new InvalidArgumentException("The EditListFieldType::FORMATTER requires a valid IEditListFormatter class");
             } else {
                 XmlUtil::AddTextNode($column, $obj->Format($row, $field->fieldData, $row->getField($field->fieldData)));
             }
             break;
         default:
             XmlUtil::AddTextNode($column, $row->getField($field->fieldData));
             break;
     }
 }
Пример #2
0
 /**
  *
  * @param SingleRow $singleRow
  * @return string
  */
 private function evalString(SingleRow $singleRow)
 {
     $result = array();
     $finalResult = false;
     $pos = 0;
     $result[0] = true;
     foreach ($this->_filters as $filter) {
         if ($filter[0] == ")" || $filter[0] == " or ") {
             $finalResult |= $result[$pos];
             $result[++$pos] = true;
         }
         $name = $filter[1];
         $relation = $filter[2];
         $value = $filter[3];
         $field = $singleRow->getField($name);
         if (!is_array($field)) {
             $field = array($field);
         }
         foreach ($field as $valueparam) {
             switch ($relation) {
                 case Relation::EQUAL:
                     $result[$pos] &= $valueparam == $value;
                     break;
                 case Relation::GREATER_THAN:
                     $result[$pos] &= $valueparam > $value;
                     break;
                 case Relation::LESS_THAN:
                     $result[$pos] &= $valueparam < $value;
                     break;
                 case Relation::GREATER_OR_EQUAL_THAN:
                     $result[$pos] &= $valueparam >= $value;
                     break;
                 case Relation::LESS_OR_EQUAL_THAN:
                     $result[$pos] &= $valueparam <= $value;
                     break;
                 case Relation::NOT_EQUAL:
                     $result[$pos] &= $valueparam != $value;
                     break;
                 case Relation::STARTS_WITH:
                     $result[$pos] &= strpos($valueparam, $value) === 0;
                     break;
                 case Relation::CONTAINS:
                     $result[$pos] &= strpos($valueparam, $value) !== false;
                     break;
             }
         }
     }
     $finalResult |= $result[$pos];
     return $finalResult;
 }
Пример #3
0
 /**
  *
  * @param SingleRow $sr
  */
 function assertSingleRow($sr, $count)
 {
     $this->assertEquals($sr->getField("category"), $this->arrTest[$count]["category"]);
     $this->assertEquals($sr->getField("title"), $this->arrTest[$count]["title"]);
     $this->assertEquals($sr->getField("lang"), $this->arrTest[$count]["lang"]);
 }
Пример #4
0
 /**
  *
  * @param SingleRow $sr
  */
 function assertSingleRow($sr, $count)
 {
     $this->assertEquals($sr->getField("name"), $this->arrTest[$count]["name"]);
     $this->assertEquals($sr->getField("surname"), $this->arrTest[$count]["surname"]);
     $this->assertEquals($sr->getField("age"), $this->arrTest[$count]["age"]);
 }
Пример #5
0
 /**
  * @todo Fix Property Pattern
  */
 public function testConstructor_PropertyPattern()
 {
     $model = new \AnyDataSet\Tests\Sample\ModelPropertyPattern();
     $model->setIdModel(10);
     $model->setClientName("Testing");
     $sr = new SingleRow($model);
     // Important to note:
     // The property is _Id_Model, but is changed to "set/get IdModel" throught PropertyName
     // Because this, the field is Id_Model instead IdModel
     $this->assertEquals(10, $sr->getField("IdModel"));
     $this->assertEquals("Testing", $sr->getField("ClientName"));
 }
Пример #6
0
 /**
  * Return all custom's fields from this user
  *
  * @param SingleRow $userRow
  */
 protected function setCustomFieldsInUser($userRow)
 {
     if ($this->getCustomTable()->table == "") {
         return;
     }
     $userId = $userRow->getField($this->getUserTable()->id);
     $sql = $this->_sqlHelper->createSafeSQL($this->sqlSetCustomFieldsInUser(), array("@@Table" => $this->getCustomTable()->table, "@@Id" => $this->getUserTable()->id));
     $param = array('id' => $userId);
     $it = $this->_db->getIterator($sql, $param);
     while ($it->hasNext()) {
         $sr = $it->moveNext();
         $userRow->addField($sr->getField($this->getCustomTable()->name), $sr->getField($this->getCustomTable()->value));
     }
 }
Пример #7
0
 /**
  *
  * @param SingleRow $sr
  */
 function assertSingleRow($sr, $count)
 {
     $this->assertEquals($sr->getField("field1"), $count);
     $this->assertEquals($sr->getField("field2"), "STRING{$count}");
     $this->assertEquals($sr->getField("field3"), "VALUE{$count}");
 }
Пример #8
0
 /**
  *
  * @param SingleRow $sr
  */
 function assertField($sr, $line, $field, $value)
 {
     $this->assertEquals($sr->getField($field), $value);
     //, "At line $line field '$field' I expected '" . $value . "' but I got '" . $sr->getField($field) . "'");
 }