Index: trunk/kernel/include/category.php =================================================================== diff -u -N -r4077 -r4120 --- trunk/kernel/include/category.php (.../category.php) (revision 4077) +++ trunk/kernel/include/category.php (.../category.php) (revision 4120) @@ -2066,6 +2066,40 @@ return $nav; } + + function &Add_NEW($fields_hash) + { + global $objSession; + + $fields_hash['CreatedById'] = $objSession->Get('UserId'); + + $d = new clsCategory(NULL); + $fields_hash['Filename'] = $d->StripDisallowed($fields_hash['Filename']); + $d->tablename = $this->SourceTable; + + if ( $d->UsingTempTable() ) { + $d->Set('CategoryId', -1); + } + $d->idfield = 'CategoryId'; + + foreach ($fields_hash as $field_name => $field_value) { + $d->Set($field_name, $field_value); + } + + $d->Create(); + if ($d->Get('Status') == STATUS_ACTIVE) { + $d->SendUserEventMail("CATEGORY.ADD", $objSession->Get("PortalUserId")); + $d->SendAdminEventMail("CATEGORY.ADD"); + } + else + { + $d->SendUserEventMail("CATEGORY.ADD.PENDING", $objSession->Get("PortalUserId")); + $d->SendAdminEventMail("CATEGORY.ADD.PENDING"); + } + $d->UpdateCachedPath(); + return $d; + } + function &Add( $ParentId, $Name, $Description, $CreatedOn, $EditorsPick, $Status, $Hot, $New, $Pop, $Priority, $MetaKeywords,$MetaDesc, $auto_filename = 1, $filename = '') {