E_STRICTS elimination: x gebruik van pass by reference uitbannen =& klaar &$ klaar function & is vervangen door function (met 1 spatie erna) $null geelimineerd controle & OK x static methods zo declareren en aanroepen getLabelSort, getClassDir, getTableName, getUiFieldPaths, getReplyScriptPiece, getUiColumnPaths, getReportColumnPaths, getFilters, getInstance, getMinWindowSize getClassLabel, getClassDescriptorClass STATIC STATIC x var mag weer sinds 5.1.3. Toch public van maken x date_default_timezone_set PntStringConverter::getDateTimezone added example10.StringConverter>>dateTimezone = 'Europe/Amsterdam' PntSite::initConverter now calls date_default_timezone_set if it exists and StringConverter returns dateTimezone x is_a replaced by pntIs_a, replaced by Gen::is_a 1108 Assigning the return value of new by reference is deprecated 1367 date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead 1378 is_a(): Deprecated. Please use the instanceof operator 63726 Non-static method Activity::getClassDescriptorClass() cannot be called statically 64390 Only variables should be assigned by reference 64396 Only variables should be passed by reference 65243 strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead x ::__toString on PntObject, PntDescriptor, PntPropertyDescriptor, PntRequestHandler, Point, PntEvaluation, PntTestCase, PntError ::toString is now depricated generalFunction pntValueToString now prefers __toString x explicitly named constructors are replaced by __construct, calls to parent constructors are replaced by parent::__construct ON ALL SUBCLASSES OF pnt CLASSES THE SAME MUST BE DONE x generalFunctions, php5Functions and baseUrlFUnctions replaced by class Gen extends PntGen and depricatedFunctions x Delete verification dialog added x php 5.3.0 + function incompatibities x error handler adapted for E_DEPRECATED en E_USER_DEPRECATED x PntUnit adapted for E_DEPRECATED en E_USER_DEPRECATED x calls to depricated functions replaced: x mktime x split x eregi x hcode adapted x ErroHandler adapt for handling exceptions, x exception class x handling implemented x startHandling adapted - Exceptions gebruiken, _ methods depricated, actions adapted x return replaced by throw x unittests x other _ implementors replaced x actions adapted x get unit tests running on depricated support (PntTestNotifier::setErrorHandler to debug) x adapt ::_ senders x get unit tests running on depricated support x adapt ->_ senders x get unit tests running on depricated support x adapt and test example user interfaces x refactor error into exception: throw ErrorExceptions depending on ErrorExceptionLevel, if no exception is thrown, error is handled conventionally x PntAcion no longer reroute errorhandling (pntDev2_0_6) x adapt and run unit tests x adapt tests to modified JoinFilter alias x WidgetFactory used in EditDetailsPage other changes (ook in 1.5 doorgevoerd ivm compatibiliteit) from rws1 31-7-2009 - PntSqlJoinFilter::addJoinTableAndConditionByTableAlias tabelnaam weer toegevoegd na ALIAS voor single value props - PntMultiValuePropertyDescriptor::deriveUsingPathFor added includeClass($this->getType(), $this->getClassDir()); - PntObjectSaveAction::convertAndValidateFormValues no linger triggers error for missing PntFormMtoNRelValue 19-6-2009 - PntSite::printHeaders moved to PntPage - PntSite::constructor removed call to printHeaders - PntPage::handleRequest added call to printHeaders - PntRequestHandler::initForHandleRequest added - PntPage::initForHandleRequest now calls parent::initForHandleRequest - PntSite::accessDenied now checks for recursion - PntSite::getUiDir added - PntTablePart::getDir now calls getUiDir and getDetailsLinkPntHandler - PntPage::getLinkDirFromNav now calls getUiDir - PntPage, PntObjectReportPage, PntObjectSelectionReportPage::getDetailsLinkPntHandler added - PntPage, PntPropertyPage::getDetailsHref now calls getDetailsLinkPntHandler - PntObjectDetailsPage, PntObjectEditDetailsPage::getDetailsLinkFromNavText now calls getDetailsLinkPntHandler - PntDialogWidget::initialize now passe dialogType to getLinkDirFromNav - PntObjectReportPage, PntObjectSelectionReportPage::getDetailsHref no longer implemented - PntFormWidget added: public $imagesDir = '../images/'; - PntMtoNDialogWidget::printBody now uses $this->imagesDir - PntDialogWidger::printBody, ::printClearButton now uses $this->imagesDir - PntSqlJoinFilter::getJoinCondition now does mapping of idColumn - PntMySqlDao::addFieldPropTo_row added: if ($row[2] == 'NO') $row[2]= false; - PntMultiValuePropertyDescritor::deriveUsingPathFor now uses getColumnName instead of hardcoded 'id' - PntMtoNPropertyPart::printSearchPageUrl now calls getDetailsLinkPntHandler - PntMtoNSerchPage>>imagesDir added, ::printItemActionCell now uses >>imagesDir - PntMtoNPropertyPart>>imagesDir added, ::getItemActionCellContent now ses >>imagesDir - PntFormMtoNRelValue::setConvertMarkup now validates values - PntObjectSaveAction ::checkProcessFormValue added, replaces ::checkProcessMtoNRelValue ::checkProcessMtoNRelValue replaced ::convertAndValidateFormValues now calls checkProcessFormValue ::processMtoNRelValue no longer sets item, converts, validates and checks ::shouldProcess no longer excludes instances of PntFormMtoNRelValue ::commitFormValues now excludes instances of PntFormMtoNRelValue ::convertAndValidateFormValues now also reports errors on instances of PntFormMtoNRelValue - PntTablePart>>imagesDir added ::printItemSelectHeader now uses >>imagesDir - PntObjectDeleteMarkedAction ::handleRequest factored out ::getDeleteErrorMessagesFrom ::getDeleteErrorMessagesFrom added ::deleteObjects factored out ::deleteObject ::deleteObject added ----- - PntDerivedPropertyDescriptor::_propagateValue_for line 170 replaced $optionId by $id - PntDbClassDescriptor::_getPeanutWithId now checks isSet - added date_default_timezone_set to config - PntObjectSelectionReportPage::printTotalCells now checks isSet($table->extraCells[$key]) - PntObjectDialog::getPropertyFilter now plainly returns null 1.4.x: returns non-existent variable - getTableName replaced by getItemTableName in PntSqlFilter, PntSqlJoinFilter, SqlFilterTest and field renamed and property - getPhpSource removed from PntSqlFilter and subclasses - PntDescriptor no longer extends PntObject because of problems with overriding static methods by non-static ones - ::toString added to PntDescriptor, PntEvaluation, removed from PntNavigation: /** String representation for debugging purposes */ function toString() { //combine class name and label $label = $this->getLabel(); return get_class($this)."($label)"; } - PntAction::rerouteErrorHandling checked - In several testcases PntTestCase now included using includeClass - In CaseDbPolymorphic, CaseSqlCombiFilter, SqlFilterTest, SqlSortTest, SqlJoinFilterTest, CaseHandlerSecurity $cfgCommonClassDirs used for include + PntErrorHandler ::initErrorLevelMap adapted for E_DEPRECATED and E_USER_DEPRECATED ::startHandling now sets error_reporting to reportingLevel - pnt/generalFunction.php lcFirst is now only defined if not yet defined - PntMySqlDao::connect now checks and if necessary sets time limit on windows - SqlFilter::getSqlTemplate now uses 'IS' and "IS NOT' for null values //other, only pnt 2.0 - SqlFilterTest, SqlJoinFilterTest, SqlSortTest now call setUp on CaseDbPolymorphic - Employee>>hours in example2-8, 11 and 14 $prop->setOnDelete('v'); //verify: user must verify the recursive deletion of the property values - CaseExample2::testEmployee2DeleteErrorMessages, ::testDeleteEmployee2WithHours adapted to setOnDelete - PntObjectPropertyPage ::printDeleteScript added, opens VerifyDeleteDialog and handles callback ::printItemTablePart now calls ::printDeleteScript ::getButtonsList Delete button now calls pntDeleteButtonPressed - PntObjectEditDetailsPage, PntObjectIndexPage ::printDeleteScript now opens VerifyDeleteDialog and handles callback ::getButtonsList Delete button now calls pntDeleteButtonPressed - PntObjectVerifyDeleteDialog ::getLabel only annouces itself if recursive delete or error, calls getDeleteAnnouncement with $recursive parameter ::getDeleteAnnouncement $recursive parameter added, annoucement only annouces recursion if so - example10.ObjectVerifyDeleteDialog ::getDeleteAnnouncement $recursive parameter added, annoucement only annouces recursion if so - general.js added: pntVerifyAndDelete pntVerifyAndDeleteMarked pntVerifyAndDeleteDialog - PntSite, PntPage::getImagesDir added - in Pnt subclasses $this->imagesDir vervangen door $this->getImagesDir() to support PntxAdvancedFilterFormPart - PntObjectNavigation ::getSettedProp now allways returns last prop ::getOptions now uses new instance of ItemType if no $item - Navigation::getPath parameter $length added - PntFilterFormPart::initFilter factored out: convertFilterValue - PntObjectDialog now uses genereric printReturnFuncName 'pntSetDialogResult' - PntComparator::getInstances now returns only instances for specified valuetype - PntSqlFilter ::getInstanceForNav now supports paths to non-primitive types (ending with a PntSqlJoinFilter) ::getNavigation added to support lazy initialization - PntSqlJoinFilter::getValueType, ::addJoinTableAndConditionByTableAlias ::getSql, ::setComparatorId, ::setValue1, ::setValue2, ::getLast now support paths to non-primitive types ::getColumnName improved error message for missing next filter ::getItemTableName polymorhpism bug fixed ::getSqlTemplate now if not set, returns generated template if idProp - PntRequestHandler::getRequestHandler now supports direct resolve to Parts - PntFormNavValue::usesIdProperty now fifferentiates on getSettedProp instead of formKey - PntPage::getPartId, getAjaxLoadingMessage added - PntFormWidget, PntDialogWidget, PntSelectWidget ::initialize now uses $formText->item if set - widgets.PntWidgetFactory added workaround for bug MySql: - PntDao::addSqlFromSpec groupBy default false ::select_from distinct parameter added - PntDbClassDescriptor::getSelectQueryHandlerFor uses distinct --------------------------------------- since pntDev2_0_14: Bug MToN relation dialog wiht readOnly id solved - PntFormMtoNRelValue::setConvertMarkup no longer validates readOnly - PntObject::validateGetErrorString added parameter $validateReadOnly - PntValueValidator::validate added parameter $validateReadOnly no longer validates readOnly if $validateReadOnly is false - PntXmlTotalText now counts unique values for non-numeric types - PntObjectSelectionReportPage::getTotalCells now initializes PntXmlTotalText also for columns with non-numeric types - pnt.test.db.SqlJoinFilterTest, SqlSortTest tablealias JOIN adapted to polymorhic - PntDatabaseConnection::makeConnection makeDefault param added - PntDao::setConnection now sets dbSource setDefaultConnection, constructor use setConnection - CaseHandlerSecurity::testPntObjectSaveActionCreate, ::testPntObjectSaveActionUpdate adapted to PntObjectSaveAction::processMtoNRelValue no longer sets item, converts, validates and checks - PntDbClassDescriptor::getPersistentRelationPropertyDescriptors base type now parameter - PntSqlCombiFilter::getSql adapted for empty parts - MultiValuePropertyDescriptor::deriveUsingPathFor adapted for vaiable paths in EditDetailsPage - PntRequestHandler::getRequestHandler now calls controller->tryUseGenericHandlerClass - PntObjectSaveAction::handleRequest now commits form values before checking access - PntXmlPart::getParts now returns by reference, ::getAttributes returns by value - PntSite::tryUseGenericHandlerClass added ::sanitize now html-decodes before stripping tags - PntObjectDetailsPage::printDetailsLink uses ::getImagesDir - PntStringConverter::labelFromNumber now casts to float before number_format (PHP 5.3 requirement?) - pntx.auth.admin.PntxUser::save, ::getHsalg re-decide hashing algorithm when new password is saved --------------------- changes in pntDev2_0_15 - pntDev2_0_19 are not descibed ------------------------- - PntValueValidator::validate now calls new method ::validateBoolean - PntStringConverter::getCharSet added - PntPage::printExtraHeaders added ::printNextActionTicket now delegates to new method ::getAndCreateNextActionTicket - PntErrorHandler::getErrorExceptionLevel field added, now calls getDefaultErrorExceptionLevel (in metaclass.nl) tagged as pntDev2_0_20 -------------------- x PntNavigation::_byNav1SortKey, _nav1Sort now static with static call ::nav1Sort static x PntFormMtoNRelValue::getValue now uses idProp->getColumnName() instead of 'id' x PntDbClassDescriptor::getDescribedClassInstanceForData no longer triggers E_NOTICE if id not in fieldMap x PntFilterFormPart::getCombinedFilter checkt nu of filter ($this->object) null is x alles testen (backup van database!) (in webtoko) tagged: pntDev2_0_21 -------------------------------------- - hcode.ModelHtmlImportResultPage hdm uitschakelbaar gemaakt, uitgeschakeld - hcode.Menu id-methods static gemaakt - hcode.ModelRowConverter field $max declared; - PntMultiValuePropertyDescriptor::getOnDeleteLabels static - PntRequestHandler::redirectRequest parameter $dir added - PntSite::getUiDir now addes slash if returning domaindir - PntPage::getLinkDirFromNav no longer adds slash to navDir - PntMtoNPropertyPart::printSearchPageUrl no longer adds slash after getUiDir - PntTablePart::getDir no longer adds / to classDir - PntObjectDetailsPage::handleRequest now redirects instead of forwards if controller->getUiDir() differs from the own dir (in rws1) tagged: pntDev2_0_22, hcode1_7 ----------------------------------------------- - PntObjectSaveAction::saveObject calls ::recurseCopyObject, ::handleRequest calls ::getOriginal - PntObjectEditDetailsPage::getButtonsList Create new button replaced by Copy, sets copyFromId - skinDetailsFormStartPart copyFromId added - ObjectEditDetailsPage::getButton Copy added x copying function tagged: rws1_7, mcl2_6, pntDev2_0_23 (ongewijzigd: hcode1_7) ---------------------------------------------------- - PntObjectEditDetailsPage::getButtonsList both 'Create New' and 'Copy' button committed, tagged: rws1_8, pntDev2_0_24 (ongewijzigd: mcl2_6, hcode1_7) -------------------------------------------------------------------------- - ButtonPart::printButton print extra Div om in IE button wrap te krijgen in Ruimte pages tagged als rws1_10, pntDev2_0_25 ---------------------------------------------- ! PntDbObject::getPropsForRecurseCopy factored out of recurseCopyFrom ! PntSqlFilter::over added for sorting by labelSort over dependency property tagged rws1_11, pntDev2_0_26 --------------------------------- - PntDbClassDescriptor::getAllFieldsFilter allways adds if no type - PntFilterFormPart::printAdvancedFilterDescriptions now recognizes all fields filter from 'all ' ::getAllStringfieldsFilter now also supports other dataypes - PntxAdvancedFilterFormPart::printAdvancedFilterDescriptions now recognizes all fields filter from 'all ' comitted, tagged rws1_15, pntDev2_0_27 -------------------------------- x IE redirect after save problem solved ! PntGen::getBaseUrl bug if explcit port is used, :port is included twice now assumes that :port is already in $_SERVER['HTTP_HOST'] tagged rws1_19, pntDev2_0_28 --------------------------------- - licence-comments improved tagged rws1_21, pntDev2_0_29, mcl2_7, hcode1_8 ----------------------------------- ! PntXmlNavText>>pathLabel configurable ! PntXmlNavValue, PntFormNavValue::getInstances now use uiFieldPaths string keys to configure pathLabels ::getFormKey now returns path with . replaced by _ unless id property is used - PntValueValidator::validateEmail validation more permissive committed, tagged rws1_22, pntDev2_0_30 ------------------------------------------- ! PntXmlNavValue::isReadOnly, ::setReadOnly override added ! PntXmlNavValue, PntFormNavValue::getInstances strip ^ from start op paths override $nav->isSettedReadOnly() if ^ at start of paths tagged rws1_23, pntDev2_0_31 --------------------------------------- ! PntxFilterTreePart::includeMultiValueFilters renamed to includeReferenceFilter now returns $prop->getVisible tagged rws1_24, pntDev2_0_32 -------------------------------------------- ! PntFilterFormPart::getAllStringfieldsFilter debugged ::getErrorInfo, ::findFilter added ! PntSearchPage::getItemsInfo added, returs filterFormPart::getErrorInfo if conversionErrors taggen rws1_25, pntDev2_0_33 ------------------------------------ ! pnt javascript function pntVerifyAndDeleteDialog bug solved: crashes PHP if property type is in other application folder. - PntDbClassDescriptor::getDefaultFilters now adds filters from labelSort - PntClassDescriptor::getUiColumnPaths now passes itself to static - PntDbObject::getDeleteErrorMessages parameter cascade added allows to prevent endless recursion and to allow cascaded delete while forbidding direct delete x sortdialog also default sort paths in selection lists x simple search now also searches on default sort paths tagged als rws1_27, pntDev2_0_34, mcl2_8, ongewijzigd: hcode1_8 ------------------------------------------- x Bugs in phpPeanuts polymorhpism support solved: . PntDao::joinAllById no longer ignores single tables in tablemap . PntDbClassDescriptor::loadMissingFields now prefixes id in WHERE clause tagged rws1_28, pntDev2_0_35, ongewijzigd: mcl2_8, hcode1_8 ----------------------------------- + PntObjectEditDetailsPage subclasses refactored for showing values of all multie value properties at once - PntObjectReportPage subclasses refactoren - PntObjectDetailsDialog subclasses refacotoren + PntEditDetailsPart adapted for use in EditDetialsPage + PntDetaislPart adapted for use in ReportPage + PntObjectEditDetailsPage refacored, now uses EditDetailsPart + PntObjectDetailsPage refacored, now uses DetailsPart + PntObjectReportPage refactored for use of DetailsPart, PntMultiPropsPart factored out + PntObjectEditDetailsDialog refactored for use of EditDetailsPart + PntObjectPropertyPage::getTablePart removed (is not used) + PntObjectVerifyDeleteDialog now passes first oid to adapted callback function + PntFormNavValue::getInstances factored into PntRequestHandler::getFormTexts + PntRequestHandler::getFormTexts now consults securitymanager for each ::getInformation now returns getEventualItemNotFoundMessage + PntXmlNavValue::getInstances factored into PntDetailsPart::getFormTexts + PntRequestHandler, PntSite::getDomainDir added optional parameter $type + PntMarkedItemsCollector now guesses domainDir for use with PntxObjectEditWithMultiPage and passes type to PntRequestHandler::getDomainDir + SelectionReport in PopUp + PntObjectPropertyPage, PntIndexPage pass ItemTableId to pntSelectionReport ::getItemTable factored out, caches itemTable + PntObjectMtoNPropertyPage, PntMtoNPropertyPart::getItemTable factored out + SelectionReportPage if pntLayout=Report no back button + PntObjectSearchPage::getInitItemTable factored out + PntPagePart::getExcludedMultiValuePropButtonKeys now passed to whole + PntWidgetFactory adapted + auth.admin.PntxUserEditDetailsPage now relies on widgetFactory for guessing passwordwidget + auth.login.PntxLoginPage::getEventualItemNotFoundMessage added, returns '' + edit.PntxObjectEditWithMultiPage added ! MultiPropsPart added ! DetailsPart added ! skinDetailsPart renamed to skinDetaisFormPart now does printPart('EditDetailsPart') instead of includeOrPrintDetailsTable, does printEventualMultiPropsPart calls getButtonsPanelHeight for scaling itemTableDiv ! skinDetailsDialogPart now does printPart('EditDetailsPart') instead of includeOrPrintDetailsTable ! skinReportPart now does printPart('DetailsPart') and printEventualMultiPropsPart ! skinIndexReportPart, skinPropertyPart, skinSelectionReportPart added hidden form field pntLayout ! skinButtonsPanel height now 33 ! images/new.gif, report.gif, editfolder added ! phppeanuts.css .ItemTableDiv no different backgroundcolor .pntMultiPropTitleRow, .pntMultiPropLabel, .pntMultiPropButtons, .pntMultiPropTableDiv added + SelectionReport in PopUp + PntObjectPropertyPage, PntIndexPage pass ItemTableId to pntSelectionReport + SelectionReportPage bij pntLayout=Report no back button + Property tablle inserted and adapted + checkboxes added + tdl to editDetailsPage + Icons for new Report + new icon + edit icon voor MtoNProperties + report icon + override voor RuimtePropertyBegrenzingen met extra iconen + deleteMarked button tagged als rws1_30, pntDev2_0_36, mcl2_9 ongewijzigd: hcode1_8 to be removed: includes/skinDetailsPart.php - images added tagged als rws1_31 ------------------------------------------------------------------ (pntx) DialogWidget with shortlist (to actually activate this widget use setShortlistPath in initPropertyDescriptors in your domain classes) x DerivedProperty::getShortlistPath, setShortlistPath added x PntWidgetFacory::getShortlistDialogWidget added ::getDetailsFormWidget now calls getShortlistDialogWidget if text usesIdProperty and settedprop has shortlistPath x PntSelectWidget constructor now alows passing optionItems ::printBody no longer prints whitespace before or behind the widget x PntObjectNavigation::collectAll added, a Multi value navigation from the argument over a mixed path collecting results in a single array x PntObjectEditDetailsPage::getFormTexts added, converts and commits supplied requestData x PntDialogWidget, PntMtoNDialogWidget visible piece now surrounded by
x PntxShortlistDialogWidget added ! ShortlistDialogWidget added ! scripts.general.js pntSetDialogResultOnShortlist added pntSetDialogResult now calls new pntSetDialogResultOnShortlist if no labelfield found in the form pntOpenDialogFor now adds objectId to url ! styles/phppeanuts.css added .pntShortlistButtonPopup, select, .pntDialogWidgetDiv rws1_32, pntDev2_0_37, ongewijzigd: mcl2_9, hcode1_8 -------------------------------------------------------------- (pntx) recursive report - PntPagePart::getRequestedObject now returns own object member if set - PntMultiPropertyPart factored out pntx.edit.PntxMultiPropertyPart - pntx.edit.PntxMultiPropertyPart::printRecurseItem added ! phppeanuts.css added .pntRecurseMultiPropLabel, .pntRecurseMultiPropsCell committed, tagged rws1_33, pntDev2_0_38, ongewijzigd: mcl2_9, hcode1_8 ----------------------------------------------- - PntMenuPart now parameterized, marks type in menu, supports indentation committed, tagged rws1_34, pntDev2_0_39, mcl2_10 ongewijzigd: hcode1_8 ------------------------------------------------------- - PntFilterFormPart field $nSorts replaced by $minSorts ::getNSorts now return max of number of getSortSpecFilters in labelSort and $minSorts - ObjectSortDialog::getMinWindowSize groter tbv meer en bredere widgets rws1_36, pntDev2_0_40, ongewijzigd: mcl2_10, hcode1_8 ------------------------------------------------------------------ - EditDetailsPage softwarefailure if object does not exist - PntRequestHandler::getFormTexts does not try checkViewProperty if object is null - PntDetailsPart::getFormTexts does not try checkViewProperty if object is null (pntDev2_0_40A, rws1_38) ------------------------------- - PntEditDetailsPart::printFormTextsInfo prints
after instead of before error - PntFilterFormPart::getFilter now returns null if filterId(1) == 'All stringfields' and getFilterValue1(1) is empty (not 0) tagged pntDev2_0_41, mcl2_11, ongewijzigd: hcode1_8 ------------------------------------------------------------------- - PntObjectIndexPage::getItemsInfo no longer uses $this->object directly for paging through default search results: - PntFilterFormPart::getFilter no longer returns null if filterId(1) == 'All stringfields' and getFilterValue1(1) is empty (not 0) - PntObjectSearchePage::getRequestedObject now calls ::useDefault ::useDefault now returns true if filterId(1) == 'All stringfields' and getFilterValue1(1) is empty (not 0) - PntObjectDialog::useDefault only returns true if no filter - PntValueValidator::validateEmail improved tagged pntDev2_0_42, mcl2_12, rws1 not committed ---------------------------------------------------------- for paging through default search results - PntMtoNSearchPage::useDefault only returns true if no filter - ObjectSearchPage::getRequestedObjectDefault no longer calls getRequestedObject selection of derived value for detailsPath longer then 1 - PntNavigation added ::__clone, ::pop - PntObjectNavigation added ::getToSettedOn - PntFormNavValue::getItemToSetOn now allways delegates to navigation now assumes idProperty is on itemToSetOn ::getContentWith, ::commit ::getFormKey uses PntObjectNavigation::getIdPath - PntXmlNavValue, PntFormNavValue::getFormKey not uses - to replace . in path based formKeys - PntRequestHandler::chekAlphaNumeric allows - and no longer _ - PntFormNavValue, PntXmlNavValue::getFormKey replaces . by - - PntFormNavValue passes and requires to be passed item to ::getItemToSetOn - PntRequestHandler::checkAlphaNumeric now also allows - - PntSelectWidget::initialize now looks for settedProp wheather isTypePrimitive - PntDialogWidget::initialize now uses formKey to make labelKey and derives label from defaultObject if found - PntObjectNavigation::getIdPath adapted to ::getSettedProp = last prop ! general.js pntSetDialogResult now removes last 2 characters to make labelkey - encodeURIComponent() gebruiken waar van toepassing: ! general.js tdlGetHref, pntSelectionReport ! pntxTreepart.js getDetailsHref ! skinAdvancedFilterFormPart.php getExTreeChildrenUrl exTreeSelect - PntEditDetailsPart::printOpenPageForScript - PntDialogWidget::printScriptPiece - PntMtoNDialogWidget::printBody tagged rws1_39, pntDev2_0_43 ongewijzigd: mcl2_12 (wel upgraden!), hcode1_8 (not committed) ------------------------------------------- ------------------------------------------------------- refactoring in preparation to GridPart ! renamed skinPropertyPart to skinPropertyPagePart ! added PropertyPart - PtnPropertyPart added - Refactored many methods from PntPropertyPage to PtnPropertyPart - PntEditDetailsPart::printDeleteScript moved to general.js: pntSubmitDelete - PntObjectDetailsPage::getBackToOrigin moved to PntObjectEditDetailsPage - PntObjectEditDetailsPage::getIgnoreMissingFields added - PntObjectVerifyDeletePage::getIgnoreMissingFields added - PntObjectPropertyPage now inherits from PntObjectEditDetailsPage ::getButtonsList delete button now calls js pntSubmitDeleteMarked ::getDetailsHref, ::doScouting, ::isSameContextHandler removed (now inherited) ::printInformationPart added ::printPropertyPart added ::getPropertyPart now uses ::getPropertyPartName and supports specialization by propertyName ::getPropertyPartName added - PntxObjectEditWithMultiPage::printDeleteMarkedScripts moved to PntObjectEditDetailsPage ::printEventualMultiPropsPart now sets printIcons instead of isLayoutReport - PntPage::addPart now uses cache parameter als key if it is not true - PntxPropertyPart::printMultiPropButtons renamed to printMultiPropIcons ::getNewButtonUrl removed (now inherited) - PntMultiPropsPart::printBody now calls ::getPropertyPart ::getPropertyPart sets printLabel and printIcons - PntFilterFormPart::getCombinedFilter direct object access bug fixed - PntMtoNPropertyPart now inherits from PropertyPart functions removed that are inherited ::printBody added, includes skin - PntObjectMtoNPropertyPage ::getNewItemDialogSize, ::getNewItemButton now uses propertyPart - MultiPropsPart stamt nu af van PntMultiPropsPart - PropertyPart stamt nu af van PntxPropertyPart - RuimteMultiPropsPart hernoemd naar RuimtePropertyPart - PntxSessionAuthenticator member $sessionDataKey added ::getSessionDataKey added, if $sessionDataKey not set, returns baseUrl-specific key so that the authentication session can coexist with other sessions on the same server ::getSessionData, saveSessionData now call ::getSessionDataKey ! skinDetailsFormStartPart pntIgnoreMissingFields now calls ::getIgnoreMissingFields ! skinPropertyPagePart now calls ::printDeleteMarkedScript instead of ::printDeleteScript script now includes pntFormRefData and function pntDetailsFormUnloadConfirm ! general.js added: pntSubmitDelete, pntSubmitDeleteMarked pntSelectionReport debugged popUp for propertyPage without selection rws1_40o1, pntDev2_0_44o1 ------------------------------------- VerifyDelete gives error for existing object "2011-02-10 11:04:03";"512";"E_USER_WARNING";"property unable to derive value: no getter and type is not a class" - PntObjectVerifyDeletePage adapted to changes in EditDetailsPage: no longer uses skinDetailsPart, now has its own skinVerifyDeleteFormPart ::includeOrPrintDetailsTable renamed to ::printVerifyDeletePart ! includes/skinVerifyDeleteFormPart added tagged rws1_40, pntDev2_0_44 ongewijzigd: mcl2_12 (wel upgraden!), hcode1_8 (not committed) ------------------------------------------------------ Advanced search first gives (AJAX) selectwidget but after searching PntError: 'PntFormNavValue(propertyLabel) no item to set on' - PntFormNavValue ::setConvertMarkup now uses new object for validation if no item to set on ::getContentWith now throws specific exception if no item to get id from ::commit now throws specific exception if no item to set on pnt bug dialogwidget dialoog on other appDir - PntObjectNavigation::getResultClassDir now returns classDir from lastProp pnt bug open dialog in advancedFilterFormPart no current value ! skinAdvancedFilterFormPart.php pntOpenDialogFor tagged rws1_41, pntDev2_0_45 ongewijzigd: mcl2_12 (wel upgraden!), hcode1_8 (not committed) -------------------------------------------------------------- "2011-02-26 13:47:48";"0";"PntError";"PntFormNavValue(propertylabel) no item to get id from"; - PntFormNavValue::getContentWith now returns null if no item to get id from error logging with walkback debugged - PntErrorHandler::logError debugged ::startHandling now sets PntError storeDebugTrace also if logBacktrace - PntGen::toCsvString now uses pntToString to support composite data types (will be read as strings by fromCsvStrings, no back conversion) - Advanced Search IE gave login page after advanced search ! skinFilterFormPart submit button advanced filter div removed onclick="document.getElementById('pntAdvancedFilterForm').submit();" tagged rws1_42, pntDev2_0_46 ongewijzigd: mcl2_12 (wel upgraden!), hcode1_8 (not committed) --------------------------------------------------------------------------------------------------------- Refactoring and adaptations for PntxGridPart - PntTablePart, PntHorizontalTablePart ::handler_printItemCellContent added and used ::handler_printItemSelectCell added and used ::printRows now passes item key to ::printRow ::printRow now passes item key to handlers ::printItemBgColor, ::printItemSelectCell, ::printItemCells ::printItemCells param $rowKey added ::printItemBgColor, ::printItemSelectCell param $key added member $extraTableAtts added >>printBody factored out ::printExtraTableAtts, factored result out to member $extraTableAtts ? en printItemExtraCell - PntObjectMtoNSearchPage::printRows now passes item key to handlers - PntMtoNPropertyPart::printRows passes $key to handlers ::printItemBgColor, ::printItemCells - PntHorizontalTablePart::printRows facored out printRow ::printRows now passes item key to ::printRow ::printRow now passes item key to handler ::printItemCells ::printItemCells added param $rowKey - PntHorSelReportPage, PntObjectSelectionReportPage::printItemCells param $rowKey added - PntMultiPropsPart fields added: $defaultPropertyPartType, $specificPropertyPartTypes ::setDefaultPropertyPartType added ::addSpecificPropertyPartType added ::getPropertyPartType added ::getPropertyPart now calls ::getPropertyPartType - PntXmlNavValue::getFormKey moved to PntXmlNavText, now returns value of formKey field if set - PntXmlNavText::formKeyFrom added - PntXmlFormNavValue::getFormKey now calls ::formKeyFrom, now returns value of formKey field if set - PntDialogWidget ::initialize now sets member propName to name of setted id property ::initDialogUrlNoId now passes name of setted idProp as pntProperty; now passes pntFormKey - PntObjectDialog ::getFormKey added, returns value of pntFormKey param ::printSingleSelectScript now calls getFormKey - PntWidgetFactory::getCustomWidget now uses path instead of formKey, with underscores x PntObjectEditDetailsPage::addActionButtons (to allow PntxGridPart to find originals) copy button script now calls pntDetailsCopyButtonPressed sets pntOriginalId and does not set id to 0 new button now calls pntDetailsCreateNewButtonPressed sets pntOriginalId and does set id to '' - PntxGridPart added - PntFilterFormPart::getExtraFormParameterKeys added 'pntFormKey' - PntDialogWidget::initialize adapted to grid formKeys - PntFormWidget, PntTextWidget, PntTextAreaWidget, PntDialogWidget, PntSelectWidget, PntMtoNDialogWidget, PntxShortlistDialogWidget now print validation error with cssclass, errorstring in the title - specific.js variabele pntGridNotSavesMessage toegevoegd - PntObjectSelectionDetailsReportPage::printMainPart factored out initDetailsReportPart - ObjectSelectionDetailsReportPage::initDetailsReportPart zet pntRecursive - PntSelectWidget::printBody now prints id - PntDialogWidget, PntxShortlistDialogWidget::printBody adapted for use in GridPart ::printOnClickExtraParams partly replaces ::printOnClick - PntMtoNDialogWidget::printBody partly adapted for use in GridPart (use in GripPart is not yet supported!) - PntRequestHandler::getRequestHandler dir parameter added - PntPropertyPart::getNewButtonUrl now returns false if property readOnly - MclIwCommentSaveAction, MclSite ::getRequestHandler dir parameter added - MclBestandSelectionReportPage, MclBestandTablePart, MclMedewerkerIndexPage, MclMijlpaalSearchPage ::printItemCells param $rowKey added ! GridPart added ! ObjectSaveAction renamed ::getOkMessage to ::getActionDoneMessage, adapted to new meaning ::getSaveErrorMessage adapted ! ObjectEditDetailsPage::getDeleteConfirmationQuestion moved to EditDetailsPart ! scripts/pntxGridPart.js added ! scripts/general.js pntSetDialogResult adapted to grid formKeys added pntInit, pntInitAdd, , pntSelectElementsByClassName, var pntInitFunctions , pntDetailsCopyButtonPressed, pntDetailsCreateNew, pntDialogWidgetClicked , pntDetailsCreateNewButtonPressed, pntDetailsCopy pntSetDialogResultOnShortlist now retrieves input select by id, retries for IE without 2e param pntOpenDialogFor now adds pntFormKey param ! style/phppeanuts.css added .error, .pntGridErrorIcon, pntShortlistWidgetDiv pntDialogWidgetDiv added padding-right for popup button in FireFox ! style/specific.css added for styles specific to the installation ! includes/skinDetailsFormStartPart copyFromId renamed to pntOriginalId ! includes/skinHeader, skinHeaderClean, skinHeaderSelectionDetailsReporttPage added call to ::printExtraHeaders added stylesheet include: specific.css ! includes/skinFooter, skinFooterClean js now calls pntInit ! images/pntWARNING.gif, table.gif added GridPart developemnt x de juist kolommen x saveActions x widgets x headers met * als verplicht veld x showing errors widgets in editdetailsPart also show error tooltip and color x form values commit to object befoer printing row x new item row with delete icon x not saving last row niet opslaan in saveAction x de javascripts x class en init x copying last row and show it for new item x new item formKeyIndex increment x deleteItem x warning with new (later: only if values grid(s) are modified) x property-en-kolom-specific widget styles x first preapre all subactions, if no errors save all x switch off copy and new button when error after save x message copied/updated/created to user x report icoon for DetailsReport subsaveActions - PntObjectEditDetailsPage::getSubsaveActions added - PntxObjectEditWithMultiPage::getSubsaveActions added ::printEventualMultiPropsPart factored out ::getMultiPropsPart - PntObjectPropertyPage::getSubsaveActions added - PntObjectPropertyPart::getSubsaveActions added - MultiPropsPart::getSubsaveActions added - PntGridPart::getSubsaveActions creates saveActions and caches them - PntObjectSaveAction refactored (controleren of alle wijzigingen beschreven) ::finishFailure factored out ::getFailueHandler ::processSubsaveActions added ::convertAndValidateFormValues now passes formKey to ::shouldProcess ::shouldProcess parameter formKey added member objectSaved added, initially false member copy added, initially false ::initialize first gets original. If succes and original and id present, it sets member copy to true and clears id so that a new object will be created ::getFailureHandler restores id and object if error before object saved ::handleRequest uses $success from ::initialize, no longer calls ::getOriginal factored out ::preprocessObject, ::finishObject ::getOriginal now uses param pntOriginalId in stead of copyFromId ::saveObject now sets member objectSaved, calls recurseCopyObject if member copy true ::getSaveErrorMessage now depends on objectSaved, uses ::getActionDoneMessage ::preprocessObject allways calls commitFormValues ::commitFormValues no longer commits formValues with validation error ::getOKMessage factored out ::getActionDoneMessage ::getEditType now returns copy if copying tagged rws1_40o3, pntDev2_0_44o3, mcl2_13, ongewijzigd: hcode1_8 (not committed) - PntxTreeWitget::printOnClickHandler added - PntDialogWidger::printBody now calls ::printOnClickHandler, ::printOnClick tagged pntDev2_0_44o4 ------------------------------------------------------------------------ SelectionDetailsReportPage crashed on polymorphism - PntPropertyPart::getPropertyDescriptor now gets propertyDescriptor from requestedObject Errorneous url repaired - PntPropertyPart::getNewButtonUrl no longer adds / after $uiDir Create new of existing object did not save GridPart items (but does validate them) (browser back key) ! general.js added pntDetailsSaveButtonPressed, pntDetailsSave pntDetailsSave restores id and pntOriginalId if browser back button was pressed after new or copy pntDetailsCreateNew does not set pntOriginalId if browser back button was pressed after new or copy pntDetailsCopy restores id if browser back button was pressed after new or copy and does not set pntOriginalId When copying copies should not be moved to the original and references should be set to the copied items - PntDbObject::copyValuesOf now clears property value cache ::copyFrom now set pntCopyId - PntObjectSaveAction::saveObject now set pntCopyId - PntxGridPart ::addSubsaveAction now replaces object with pntCopyId by copy and sets pntCopyId into requestData now calls ::setReferencesToCopies ::setReferencesToCopies added, replaces references from formTexts using idProp with pntCopyId by copy and sets pntCopyId into requestData and formText ::findItemCopy removed Create new from scratch for now should not show & edit multi property items - PntPropertyPart::printMultiPropTitleRow factored out ::hasMultiPropIcons ! pntxGridPart.js pntInitGridParts only initializes GridPart if table exists, and passes table constructor table param added init table param added If requestedObject does not exist show only context button - PntObjectEditDetailsPage::getButtonsList does not call if no requested object: ::addActionButtons, ::addReportButtons, ::addMultiValuePropertyButtons - PntxObjectEditWithMultiPage ::getButtonsList does not call if no requested object: ::addActionButtons, ::addReportButtons tagged rws1_40o5, pntDev2_0_44o5 ongewijzigd: mcl2_13, hcode1_8 (not committed) skinPropertyPagePart removed getPropertyPart(); ?> tagged rws1_40o6 ------------------------------------------------------------------------ x problem with delete after save with error in sub items - PntxGridPart::printItemSelectCell now prints id of hidden field with id x selections are not processed - PntObjectEditDetailsPage::getFormTexts factored out ::extraInitFormTexts ::extraInitFormTexts now uses key from $formTexts - PntxGridPart::printItemSelectCell now calls ObjectEditDetailsPage::extraInitFormTexts x SelectieDialoog 'Current Value' graag vertalen - PntObjectDialog::getItemsInfo factored out ::getCurrentValueDescription ! ObjectDialog::getCurrentValueDescription now returns language specific value tagged rws1_40o7, pntDev2_0_44o7 ongewijzigd: mcl2_13, hcode1_8 (not committed) ------------------------------------------------------------------------------------ - PntObjectEditDetailsPart::printOnUnloadScript now adds pntInitDetailsFormRefData to pntInit ! general.js pntInitDetailsFormRefData added (x moet ook komen als je een nieuwe rij hebt toegevoegd) ! general.js pntArraysEqual now also checks all values of second to exist in first - PntObjectEditDetailsPage::addActionButtons no longer adds 'Create New' button because 'Copy' button is now available tagged rws1_40o8, pntDev2_0_44o8 ongewijzigd: mcl2_13, hcode1_8 (not committed) --------------------------------------------------------------------------- - PntxGridPart no copy icon bij read only tables tagged pntDev2_0_44o9 --------------------------------------------------------- - PntGridPart - no asterisks in labels of coluns with booleans - hyperlinks in PntGridPart to related items ! PntWidgetFactory now creates TextWidget for type email and keys website and url ! PntValueValidator::validateEmail improved allowing subdomains and numbers , allowing null if no minlenth an comitted, tagged rws1_40o10, pntDev2_0_44o10 ongewijzigd: mcl2_13, hcode1_8 (not committed) ----------------------------------------------------------------------- - PntAssert::isEmpty, ::notEmpty added x PntGen::toString, PntObject::toString adapted to bug in some php versions - PntErrorHandler::logError no longer shows 'WachtWoord' - PntIndex improved, now in ise - PntValueValidator::validateEmail improved - PntStringConverter::splitDT now supports d and m ::addMonthName added - PntPage::getInfoStyleWarning added - PntTablePart::printCheckboxCheckedFor now actually prints - PntMarkedItemsCollector now supports composite ids in oid 20-5-2011 verwerkt in pntExamples die is geimporteerd van pntontw, tagged pntDev2_0_44o11 ! phppeanuts.css .pntInfoWarning added ! skinReportPart height no longer 100 % 20-5-2011 verwerkt in rws1o en pntExampels ! general.js verwerkt in pntExamples pntExamples tagged pntEx2_0_7 wijzigingen uit rws10 verwerkt in pntExamples: ! niet verwerkt in pntExamples: - GridPart - ShortlistDialogWidget - skinAdvancedFilterFormPart - pntxGridPart.js - pntxTreePart.js debugging examples - PntObjectPropertyPage::getButtonsList removed $delConfQ = $this->getDeleteConfirmationQuestion(); - PntObjectPropertyPage::printOnUnload overridden so that onUnload is not printed - PntObjectPropertyPage:;ajaxPrintUpdates now prints PropertyPart too - PntMarkedItemsCollector::getMarkedObjects now calls ::getDomainDir - PntXmlTotalText::totalize now only calls getOid if value is a PntDbObject - PntDialogWidget::printOnClick debugged pnt comitted, tagged pntDev2_0_44o12 ---------------------------------------------------------- - PntObjectSearchPage::useDefault only returns true if no filter if you want paging through default results, override this method on ObjectSearchPage and use code from the comment in PntObjectSearchPage::useDefault - PntObjectDialog::useDefault removed - PntMtoNSearchPage::useDefault removed ! pntDialogWidgetDiv removed white-space: nowrap because in IE8 this is inherited by div pntMtoNDialogWidget and white-space: normal does not work there ! in several skins isBrowserIE has been replaced by Gen::isBrowserIE (isBrowserIE is depricated) - PntDbObject::copyFrom parameter $prop now voluntary - PntObjectSaveAction::getSaveErrorMessage now passes $this->object to getActionDoneMessage - some testcases adapted - PntXmlTotalText, PntDbObject some depricated functions replaced by Gen:: commited, tagged pntDev2_0_44o13, pntEx2_0_8, hcode1_9 -------------------------------------------------------------- - copyricht messages updated comiited, not tagged ------------------------------------------- 23-8-2012 (phpPeannuts 2.0.0a) - includes/skinDetailsFormStartPart.php SaveAction could not find the edited object if id > 999. replaced replaced $this->getConvert($this->getRequestedObject(), 'id') by $this->getReqParam('id', true) - PntGen::includeClass fixed bug: missing slash after classes folder name - Gen removed all methods ( ::includeClass and tryIncludeClass because they are not safe with register_globals ON )