public static function CreateNewForName($strName, $strVersion) { $objVariable = new Variable(); $objVariable->Name = $strName; $objVariable->VariableTypeId = VariableType::Unknown; switch (substr($strName, 0, 3)) { case 'str': $objVariable->VariableTypeId = VariableType::String; break; case 'obj': $objVariable->VariableTypeId = VariableType::Object; break; case 'int': $objVariable->VariableTypeId = VariableType::Integer; break; case 'bln': $objVariable->VariableTypeId = VariableType::Boolean; break; case 'mix': $objVariable->VariableTypeId = VariableType::Mixed; break; case 'dtt': $objVariable->VariableTypeId = VariableType::QDateTime; break; case 'flt': $objVariable->VariableTypeId = VariableType::Float; break; } $objVariable->FirstVersion = $strVersion; if (strpos(strtolower($strName), 'array') !== false) { $objVariable->ArrayFlag = true; } $objVariable->Save(); return $objVariable; }
public static function RestoreByNameForClass($strName, $intClassId, $strVersion, $objFile) { $objConstant = QcodoConstant::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::QcodoConstant()->QcodoClassId, $intClassId), QQ::Equal(QQN::QcodoConstant()->Variable->Name, $strName))); if (!$objConstant) { $objVariable = new Variable(); $objVariable->Name = $strName; $objVariable->VariableTypeId = VariableType::String; $objVariable->FirstVersion = $strVersion; $objVariable->Save(); $objConstant = new QcodoConstant(); $objConstant->Variable = $objVariable; $objConstant->File = $objFile; $objConstant->QcodoClassId = $intClassId; $objConstant->Save(); } else { if ($objConstant->Variable->LastVersion) { $objConstant->Variable->LastVersion = null; $objConstant->Variable->Save(); } if ($objFile->Id != $objConstant->intFileId) { $objConstant->File = $objFile; $objConstant->Save(); } } return $objConstant; }