当前位置: 首页>>代码示例>>PHP>>正文


PHP ArtefactTypeComment::delete_comments_onartefacts方法代码示例

本文整理汇总了PHP中ArtefactTypeComment::delete_comments_onartefacts方法的典型用法代码示例。如果您正苦于以下问题:PHP ArtefactTypeComment::delete_comments_onartefacts方法的具体用法?PHP ArtefactTypeComment::delete_comments_onartefacts怎么用?PHP ArtefactTypeComment::delete_comments_onartefacts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArtefactTypeComment的用法示例。


在下文中一共展示了ArtefactTypeComment::delete_comments_onartefacts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: delete_by_artefacttype

 /**
  * Does a bulk_delete on a list of artefacts, grouping artefacts of
  * the same type.
  *
  * Currently only tested for folders and their contents.
  */
 public static function delete_by_artefacttype($artefactids)
 {
     if (empty($artefactids)) {
         return;
     }
     db_begin();
     artefact_watchlist_notification($artefactids);
     // Delete comments first
     safe_require('artefact', 'comment');
     ArtefactTypeComment::delete_comments_onartefacts($artefactids);
     $records = get_records_select_assoc('artefact', 'id IN (' . join(',', array_map('intval', $artefactids)) . ')', null, 'artefacttype', 'id,parent,artefacttype,container');
     $containers = array();
     $leaves = array();
     foreach ($records as $r) {
         if ($r->container) {
             $containers[$r->artefacttype][] = (int) $r->id;
         } else {
             $leaves[$r->artefacttype][] = $r->id;
         }
     }
     // Delete non-containers grouped by artefacttype
     foreach ($leaves as $artefacttype => $ids) {
         $classname = generate_artefact_class_name($artefacttype);
         call_static_method($classname, 'bulk_delete', $ids);
     }
     // Delete containers grouped by artefacttype
     foreach ($containers as $artefacttype => $ids) {
         $classname = generate_artefact_class_name($artefacttype);
         if (is_mysql()) {
             set_field_select('artefact', 'parent', null, 'id IN (' . join(',', $ids) . ')', array());
         }
         call_static_method($classname, 'bulk_delete', $ids);
     }
     handle_event('deleteartefacts', $artefactids);
     db_commit();
 }
开发者ID:kienv,项目名称:mahara,代码行数:42,代码来源:lib.php


注:本文中的ArtefactTypeComment::delete_comments_onartefacts方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。