PHP开发框架phpPeanuts v2.1

  • S1_315834
  • 392.6KB
  • zip
  • 0
  • VIP专享
  • 0
  • 2022-06-02 06:52
PhpPeanuts 是一个用以开发数据库后端应用的PHP框架,包含一个可扩展的动态脚手架用来创建一个完整的web应用,提供用户界面和ORM,包括CRUD操作、关联关系以及一些示例查询。 PhpPeanuts 2.1.0 提升了安全性,对抽象用户接口进行了全面评审和改进对跨站点脚本攻击的预防;所有的请求变量包含 cookie 和服务器变量的都会经过校验;显式的指定字符集等等。
changes since pnt2_0_0: ! merged changes for pnt2.0 ! skinDetailsFormStartPart id value no longer converted to label, but still to html replace print $this->getConvert($this->getRequestedObject(), 'id') modified back in: print $this->getReqParam('id', true) - PntObjectSaveAction::checkAccess now PntError if no requested object - PntSite::tryUseGenericHandlerClass documented - PntObjectEditDetailsPage::doScouting no longer moves down if pntEditFeedback == 'copy' committed, tagged webtoko1_1, mcl2_14, pnt2_0_0_1 ---------------------------------------------------------------------------- x ObjectSelectionDetailsReportPage added ! skinAdvancedFilterFormPart added ! skinFilterFormPart.php <DIV id='advancedFilterOverlay' width now 780, content replaced by: <?php $this->includeSkin('AdvancedFilterFormPart') ?> js functions that are in skinAdvancedFilterFormPart removed ! pntxTreePart.js added ! skinTreePart added ! phppeanuts.css added .pntAdvFilterCombine, .pntTreeWidgetDiv, .compSelectDiv, .value1Div, .comparatorDiv, .pntAdvFilterCompare { display: inline; float: left; } .pntAdvFilterCombine { clear: left; } .pntAdvFilterCompare { } #pntAdvancedSearchButtonDiv { clear: both; } ! pntxTreePart.css .pntTreeWidgetDiv { display: inline; float: left; } x PntxAdvancedFilterFormPart::printFilterCompareDivContent, printAdvancedFilterDivContent now prints divs around each widget x PntxTreeWidget::printBody now first does printExTreeInset, then its own pntTreeWidgetDiv (to inline the pntAdvFilterCombine div) x PntFilterFormPart::printComparatorSelectWidgetdoet no longer does setWidthFromOptionsMaxLength (does not work correctly with firefox) bugs PntAdvancedFilterFormPart with mixed paths x PntDialogWidget::initDialogUrlNoId now includes pntFormKey in url ::initialize only sets value and labelValue if (isSet($text->contentLabel) || $nav->isSingleValue()) x PntFormWidget::initialize only sets value if (isSet($text->contentLabel) || $nav->isSingleValue()) x PntSelectWidget::initialize only sets selectedId if (isSet($text->contentLabel) || $nav->isSingleValue()) x PntObjectNavigation::getItemToSetOn returns null if not singleValue tagged pnt2_0_0_2 from webtoko1_2 ---------------------------------------------------------------- - changes from pnt2 (comitted after pnt2_0_0_2) from webtoko: ? ObjectSearchPage::useDefault maakt bladeren door pagina's default zoekresultaat mogelijk - several skins: isBroserIE changes in in Gen::isBrowserIE - skinDetailsFormStartPart id value no longer converted to label, but still to html replace print $this->getConvert($this->getRequestedObject(), 'id') modified back in: print $this->getReqParam('id', true) ! phppeanuts.css added .pntAdvFilterCombine, .pntTreeWidgetDiv, .compSelectDiv, .value1Div, .comparatorDiv, .pntAdvFilterCompare { display: inline; float: left; } .pntAdvFilterCombine { clear: left; } .pntAdvFilterCompare { } #pntAdvancedSearchButtonDiv { clear: both; } ! skinDetailsFormPart now calls calls ObjectEditDetailsPage::printDeleteScript ! general.js pntCollectSelectedParams now checks for params starting with *!@ ! ObjectEditDetailsPage::getDiscardChangesMessage, ::getDeleteConfirmationQuestion toegevoegd ! ObjectEditDetailsDialog::getButton vertaalt 'Copy' from pnt examples: ! pntDialogWidgetDiv removed white-space: nowrap because in IE8 this is inherited by div pntMtoNDialogWidget and white-space: normal does not work there ! skinAdvancedFilterFormPart div pntAdvancedSearchButtonDiv toegevoegd --------------------------------------------- ! skinFilterFormPart, skinAdvancedFilterFormPart added <?php print $this->getImagesDir() ?> befote sort.gif - PntObjectNavigation ::getToSettedOn, ::getItemToSetOn adapted to mixed paths ::popAfterSettedOn added (zit in pnt2_0_0_3 - PntSite::guessContextTypeFolder now calls getUiDir - PntTabsPart::printBody now prints div #pntTabTrailer - PntxPropertyPart::printNewButtons now uses Site::getIImagesDir - PntEditDetailsPart::includeOrPrintDetailsTable no longer calls ::printDeleteScript ::printDeleteScript and getDeleteConfirmationQuestion factored back to PntObjectEditDetailsPage - PntObjectEditDetailsPage pntDeleteButtonPressed now asks getDiscardChangesMessage and deletes marked if any - PntxObjectEditWithMultiPage::addActionButtons no longer adds delete marked button (not needed as delete button will delete marked if any) To be processed in language specific version ! ObjectEditDetailsPage::getButton should translate 'Copy' getDiscardChangesMessage added ! ObjectEditDetailsDialog::getButton should translate 'Copy' ! skinDetailsFormPart now calls calls ObjectEditDetailsPage::printDeleteScript ! skinDetailsFormStartPart <div style="display: none"> removed, gave problems with firefox !phppeanuts.css added .pntTabContent clear: both; ! phppeanuts.css #pntTabTrailer added ! general.js pntCollectSelectedParams now checks for params starting with *!@ comitted from webtoko ------------------------------------------ hier doorgevoerd: - PntxShortlistDialogWidget::initializeSelectWidget bug 'property not found' with multi step paths now uses settedOnItem as start of shortlistPath - PntSortDialog::getFilters now adds filters for sortIds if missing tagged pnt2_0_0_3 from rws rws1_40o15 --------------------------------------------------- To accomodation of inline advanced search: ! general.js pntAjaxProcessXml now calls scaleContent Other: - PntSecurityManager::checkViewProperty for performance reasons no longer retrieves and passes values of multi value properties - PntPropertyPart::getPropertyValueFor now selects values that may be viewed (2do: adapt links not to edit if editing is not allowed) from gow 632: - PntPropertyPart::getInitItemTable now includes property type ::getItemTableColumnPaths now calls getPropertyType, no longer stores $prop tagged pnt2_0_0_4 from rws rws1_40o16 ------------------------------------------------------ merged branches rws1o en pntontw into trunks tagged pnt2_0_0_5 from rws1 rws1_40o16 ------------------------------------------------------------- To accomodate Historical Data Managment extension: - PntSqlSort::over now throws exception if prop not found - PntNavigation::getInstance now calls newNavigation on itemType id method exists - PntObject::newNavigation added, returns new PntObjectNavigation - PntMenuPart::printMenuLine factored out ::getMenuLineParams - PntMtoNDialogWidget::initialize now sets value if text>>contentLabel === null - PntGen::dt_add, dt_largerOrNone now static - PntClassDescriptor::getVerifyOnDelete added, allways returns false (delete is not supported) - PntNavigation::collect_path no longer calls _getInstance method (is depricated) tagged pnt2_0_0_6 from rws1_43_o5 ----------------------------------------------------------- while debugging Fit/shelf: - PntGen::getBaseUrl bug fixed: / in queryString counted to find end of base url pntMember_exists bug fixed: $memberName param was missing 29-9-2011 Changes from bgz branche gow4_4_0_pnt2: - PntSqlSort::setTableAlias added, sets alias on all components - PntSelectWidget now converts value-options according to property settings ::setOptionsFromValues parameter for converter added ::initialize now passes converter from formText to ::setOptionsFromValues - PntxFilterTreePart::getFilters now only includes properties that are allowed for viewing by the securitymanager ::includeReferenceFilter replaced by ::includeFilter - PntIndexPage added support for classes search and index - PntObject::getOid() moved from PntDbObject ::getClassDir now by default returns null ! local/skins/skinIndex.php added ! phppeanuts.css .pntTabContent clear: both; 29-9-2011 Changes from bgz branche vms2_745: - PntWidgetFactory disabeling of Date- en HTMLWidget moved from ::getDetailsFormWidget to specifiec widget getters - api docs added: PntPage::getPart, PntMultiPropsPart::getPropertyPart - PntObjectIndexPage, PntObj