コード例 #1
0
ファイル: db.php プロジェクト: demental/m
 /**
  * Adds tag checkboxes to form passed as first parameter
  * 2nd parameter is the actual name of the fields used to add tags
  * @param HTML_QuickForm
  * @param string default _tags
  */
 public function addTagsToForm(HTML_QuickForm $form, $fieldname, DB_DataObject $obj)
 {
     $tags = DB_DataObject::factory('tag');
     $tags->archived = 0;
     // @todo add this field to tags table
     $tag_record = DB_DataObject::factory('tag_record');
     $tags->joinAdd($tag_record);
     $tags->whereAdd("tag_record.tagged_table = '" . $obj->__table . "'");
     $tags->selectAdd();
     $tags->selectAdd('tag.*');
     $tags->groupBy('tag.strip');
     if ($tags->find()) {
         while ($tags->fetch()) {
             $taglist[$tags->id] = $tags->strip;
         }
         foreach ($taglist as $id => $strip) {
             $arr[] = MyQuickForm::createElement('checkbox', $fieldname . '[' . $id . ']', '', $strip);
             $arr2[] = MyQuickForm::createElement('checkbox', 'exc_' . $fieldname . '[' . $id . ']', '', $strip);
         }
         $grp = MyQuickForm::createElement('group', $fieldname, __('Including Tags'), $arr, null, false);
         $grp2 = MyQuickForm::createElement('group', 'exc_' . $fieldname, __('Excluding Tags'), $arr2, null, false);
         if ($form->elementExists('__submit__')) {
             $form->insertElementBefore($grp, '__submit__');
             $form->insertElementBefore($grp2, '__submit__');
         } else {
             $form->addElement($grp);
             $form->addElement($grp2);
         }
     }
 }