示例#1
0
 /**
  * Initializes the list from database
  */
 function init()
 {
     $db = SqlHandler::getInstance();
     //XXX use SqlObject loading
     $q = 'SELECT * FROM tblCategories WHERE categoryType=' . $this->type . ' ';
     if ($this->owner) {
         $q .= 'AND ownerId=' . $this->owner;
     }
     $list = $db->getArray($q);
     foreach ($list as $row) {
         $cat = new CategoryItem($this->type);
         $cat->setId($row['categoryId']);
         $cat->setTitle($row['categoryName']);
         $cat->setOwner($row['ownerId']);
         $cat->setPermissions($row['permissions']);
         $cat->setCreator($row['creatorId']);
         $cat->TimeCreated = new Timestamp($row['timeCreated']);
         $this->addItem($cat);
     }
 }
 public static function handlePostRequest()
 {
     $data = static::getRequestData();
     // create Content object
     $Content = new CMS_BlogPost();
     $Content->Title = $data['Title'];
     $Content->save();
     // create text ContentItem object
     $ContentItem = new CMS_RichTextContent();
     $ContentItem->ContentID = $Content->ID;
     $ContentItem->Data = $data['Data'];
     $ContentItem->save();
     // create CategoryItem object foreach
     if (is_array($data['Categories']) && count($data['Categories'])) {
         foreach ($data['Categories'] as $cat) {
             $Category = Category::getByID($cat);
             $CategoryItem = new CategoryItem();
             $CategoryItem->ContextClass = 'CMS_BlogPost';
             $CategoryItem->ContextID = $Content->ID;
             $CategoryItem->CategoryID = $Category->ID;
             $CategoryItem->save();
         }
     }
     // create TagItem object foreach. if Tag object doesn't exist, create as well
     if (is_array($data['Tags']) && count($data['Tags'])) {
         foreach ($data['Tags'] as $word) {
             $Tag = Tag::getFromHandle($word, true);
             // second boolean is telling method to make the Tag object for us if it doesn't exist
             $TagItem = new TagItem();
             $TagItem->ContextClass = 'CMS_BlogPost';
             $TagItem->ContextID = $Content->ID;
             $TagItem->TagID = $Tag->ID;
             $TagItem->save();
         }
     }
     return static::respondCRUD($Content, 'singular', 'created');
 }
示例#3
0
 function addPoll($p)
 {
     if (empty($p['poll_q'])) {
         return;
     }
     if (!empty($p['poll_start_man'])) {
         $pollId = PollItem::addPollExactPeriod(SITE, 0, $p['poll_q'], $p['poll_start_man'], $p['poll_end_man']);
     } else {
         $pollId = PollItem::add(SITE, 0, $p['poll_q'], $p['poll_dur'], $p['poll_start']);
     }
     for ($i = 1; $i <= 8; $i++) {
         if (empty($p['poll_a' . $i])) {
             continue;
         }
         $item = new CategoryItem(POLL);
         $item->owner = $pollId;
         $item->title = $p['poll_a' . $i];
         $item->store();
     }
     js_redirect('a/polls/list');
 }