| @@ 1411-1456 (lines=46) @@ | ||
| 1408 | foreach ($properties as $propObj) { |
|
| 1409 | $propName = $propObj->name; |
|
| 1410 | ||
| 1411 | if (!in_array($propName, $this->BO->getTransientAttributes()) && $propName != 'OID') { |
|
| 1412 | $propReflect = new ReflectionClass($this->BO->getPropObject($propName)); |
|
| 1413 | $propClass = $propReflect->getShortName(); |
|
| 1414 | ||
| 1415 | switch (mb_strtoupper($propClass)) { |
|
| 1416 | case 'INTEGER': |
|
| 1417 | // special properties for RelationLookup OIDs |
|
| 1418 | if ($this->BO instanceof RelationLookup && ($propName == 'leftID' || $propName == 'rightID')) { |
|
| 1419 | $sqlQuery .= "$propName INT(".$this->BO->getPropObject($propName)->getSize().') NOT NULL,'; |
|
| 1420 | } else { |
|
| 1421 | $sqlQuery .= "$propName INT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1422 | } |
|
| 1423 | break; |
|
| 1424 | case 'DOUBLE': |
|
| 1425 | $sqlQuery .= "$propName REAL(".$this->BO->getPropObject($propName)->getSize(true).'),'; |
|
| 1426 | break; |
|
| 1427 | case 'STRING': |
|
| 1428 | $sqlQuery .= "$propName TEXT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1429 | break; |
|
| 1430 | case 'TEXT': |
|
| 1431 | $sqlQuery .= "$propName TEXT,"; |
|
| 1432 | break; |
|
| 1433 | case 'BOOLEAN': |
|
| 1434 | $sqlQuery .= "$propName INTEGER(1) DEFAULT '0',"; |
|
| 1435 | break; |
|
| 1436 | case 'DATE': |
|
| 1437 | $sqlQuery .= "$propName TEXT,"; |
|
| 1438 | break; |
|
| 1439 | case 'TIMESTAMP': |
|
| 1440 | $sqlQuery .= "$propName TEXT,"; |
|
| 1441 | break; |
|
| 1442 | case 'ENUM': |
|
| 1443 | $sqlQuery .= "$propName TEXT,"; |
|
| 1444 | break; |
|
| 1445 | case 'DENUM': |
|
| 1446 | $tmp = new DEnum(get_class($this->BO).'::'.$propName); |
|
| 1447 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1448 | break; |
|
| 1449 | case 'RELATION': |
|
| 1450 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1451 | break; |
|
| 1452 | default: |
|
| 1453 | $sqlQuery .= ''; |
|
| 1454 | break; |
|
| 1455 | } |
|
| 1456 | } |
|
| 1457 | } |
|
| 1458 | ||
| 1459 | if ($this->BO->isTableOverloaded()) { |
|
| @@ 1549-1596 (lines=48) @@ | ||
| 1546 | ||
| 1547 | if ($this->isTableOverloaded() && $propName == 'classname') { |
|
| 1548 | $sqlQuery .= 'classname TEXT(100)'; |
|
| 1549 | } else { |
|
| 1550 | if (!in_array($propName, $this->BO->getDefaultAttributes()) && !in_array($propName, $this->BO->getTransientAttributes())) { |
|
| 1551 | $reflection = new ReflectionClass($this->BO->getPropObject($propName)); |
|
| 1552 | $propClass = $reflection->getShortName(); |
|
| 1553 | ||
| 1554 | switch (mb_strtoupper($propClass)) { |
|
| 1555 | case 'INTEGER': |
|
| 1556 | // special properties for RelationLookup OIDs |
|
| 1557 | if ($this->BO instanceof RelationLookup && ($propName == 'leftID' || $propName == 'rightID')) { |
|
| 1558 | $sqlQuery .= "$propName INTEGER(".$this->BO->getPropObject($propName)->getSize().') NOT NULL,'; |
|
| 1559 | } else { |
|
| 1560 | $sqlQuery .= "$propName INTEGER(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1561 | } |
|
| 1562 | break; |
|
| 1563 | case 'DOUBLE': |
|
| 1564 | $sqlQuery .= "$propName REAL(".$this->BO->getPropObject($propName)->getSize(true).'),'; |
|
| 1565 | break; |
|
| 1566 | case 'STRING': |
|
| 1567 | $sqlQuery .= "$propName TEXT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1568 | break; |
|
| 1569 | case 'TEXT': |
|
| 1570 | $sqlQuery .= "$propName TEXT,"; |
|
| 1571 | break; |
|
| 1572 | case 'BOOLEAN': |
|
| 1573 | $sqlQuery .= "$propName INTEGER(1) DEFAULT '0',"; |
|
| 1574 | break; |
|
| 1575 | case 'DATE': |
|
| 1576 | $sqlQuery .= "$propName TEXT,"; |
|
| 1577 | break; |
|
| 1578 | case 'TIMESTAMP': |
|
| 1579 | $sqlQuery .= "$propName TEXT,"; |
|
| 1580 | break; |
|
| 1581 | case 'ENUM': |
|
| 1582 | $sqlQuery .= "$propName TEXT,"; |
|
| 1583 | break; |
|
| 1584 | case 'DENUM': |
|
| 1585 | $tmp = new DEnum(get_class($this->BO).'::'.$propName); |
|
| 1586 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1587 | break; |
|
| 1588 | case 'RELATION': |
|
| 1589 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1590 | break; |
|
| 1591 | default: |
|
| 1592 | $sqlQuery .= ''; |
|
| 1593 | break; |
|
| 1594 | } |
|
| 1595 | } |
|
| 1596 | } |
|
| 1597 | ||
| 1598 | $this->BO->setLastQuery($sqlQuery); |
|
| 1599 | ||