Example #1
0
 public function loadListFromTable($listName)
 {
     $tableName = $listName;
     // table must have columns: key, text and sort_index
     // the row with option_id = null indicates the "please select" value
     $peerName = $peerName = "DB_" . capitalizeFirstLetter(underscoreToLowerCase($tableName)) . "Peer";
     $peer = new $peerName();
     $c = new Criteria();
     $c->add("key", null);
     $pleaseSelectOption = $peer->selectOne($c);
     $c = new Criteria();
     $c->add("key", null, "!=");
     $c->addOrderAscending("sort_index");
     $c->addOrderAscending("text");
     $options = $peer->select($c);
     if ($pleaseSelectOption != null) {
         $this->pleaseSelectValues["{$listName}"] = $pleaseSelectOption->getText();
     } else {
         // try SELECT_PLEASE_SELECT from the messages...
         $text = MessageResolver::instance()->message("SELECT_PLEASE_SELECT");
         if ($text != null) {
             $this->pleaseSelectValues["{$listName}"] = $text;
         }
     }
     $out = array();
     foreach ($options as $option) {
         $optionKey = $option->getKey();
         $out["{$optionKey}"] = $option->getText();
     }
     $this->storage["{$listName}"] = $out;
 }
Example #2
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     $categoryName = $pl->getParameterValue("category", "MODULE", "AMODULE");
     $details = $pl->getParameterValue("details", "MODULE", "AMODULE");
     $preview = $pl->getParameterValue("preview", "MODULE", "AMODULE");
     $order = $pl->getParameterValue("order", "MODULE", "AMODULE");
     $limit = $pl->getParameterValue("limit", "MODULE", "AMODULE");
     if ($categoryName !== null) {
         $category = DB_CategoryPeer::instance()->selectByName($categoryName, $site->getSiteId());
         if ($category == null) {
             throw new ProcessException(_("The category can not be found."));
         }
     }
     // now select pages according to the specified criteria
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     if ($category) {
         $c->add("category_id", $category->getCategoryId());
     }
     switch ($order) {
         case 'dateCreatedDesc':
             $c->addOrderDescending('page_id');
             break;
         case 'dateCreatedAsc':
             $c->addOrderAscending('page_id');
             break;
         case 'dateEditedDesc':
             $c->addOrderDescending('date_last_edited');
             break;
         case 'dateEditedAsc':
             $c->addOrderAscending('date_last_edited');
             break;
         case 'titleDesc':
             $c->addOrderDescending("COALESCE(title, unix_name)");
             break;
         default:
             $c->addOrderAscending("COALESCE(title, unix_name)");
     }
     if ($limit && is_numeric($limit) && $limit > 0) {
         $c->setLimit($limit);
     }
     $pages = DB_PagePeer::instance()->select($c);
     // by default cathegorize by first letter...
     $runData->contextAdd("pages", $pages);
     $runData->contextAdd("details", $details);
     $runData->contextAdd("preview", $preview);
 }
Example #3
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $threadId = $pl->getParameterValue("threadId");
     $site = $runData->getTemp("site");
     $db = Database::connection();
     $db->begin();
     $thread = DB_ForumThreadPeer::instance()->selectByPrimaryKey($threadId);
     if ($thread == null || $thread->getSiteId() !== $site->getSiteId()) {
         throw new ProcessException(_("No thread found... Is it deleted?"), "no_thread");
     }
     $category = $thread->getForumCategory();
     WDPermissionManager::instance()->hasForumPermission('moderate_forum', $runData->getUser(), $category);
     $runData->contextAdd("thread", $thread);
     $runData->contextAdd("category", $thread->getForumCategory());
     // and select categories to move into too.
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderDescending("visible");
     $c->addOrderAscending("sort_index");
     $groups = DB_ForumGroupPeer::instance()->select($c);
     $res = array();
     foreach ($groups as $g) {
         $c = new Criteria();
         $c->add("group_id", $g->getGroupId());
         $c->addOrderAscending("sort_index");
         $categories = DB_ForumCategoryPeer::instance()->select($c);
         foreach ($categories as $cat) {
             $res[] = array('group' => $g, 'category' => $cat);
         }
     }
     $runData->contextAdd("categories", $res);
     $db->commit();
 }
Example #4
0
 public function build($runData)
 {
     $user = $runData->getUser();
     $pl = $runData->getParameterList();
     $pageId = $pl->getParameterValue("pageId");
     $site = $runData->getTemp("site");
     if (!$pageId || !is_numeric($pageId)) {
         throw new ProcessException(_("The page can not be found or does not exist."), "no_page");
     }
     $page = DB_PagePeer::instance()->selectByPrimaryKey($pageId);
     if ($page == null || $page->getSiteId() != $site->getSiteId()) {
         throw new ProcessException(_("Error getting page information."), "no_page");
     }
     $category = $page->getCategory();
     WDPermissionManager::instance()->hasPagePermission('edit', $user, $category, $page);
     // get the tags now
     $c = new Criteria();
     $c->add("page_id", $pageId);
     $c->addOrderAscending("tag");
     $tags = DB_PageTagPeer::instance()->select($c);
     $t2 = array();
     foreach ($tags as $t) {
         $t2[] = $t->getTag();
     }
     $t3 = implode(' ', $t2);
     $runData->contextAdd("tags", $t3);
 }
Example #5
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     // get groups and categories
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     if (!$pl->getParameterValue("hidden")) {
         $c->add("visible", true);
         $runData->contextAdd("hidden", true);
     }
     $c->addOrderAscending("sort_index");
     $groups = DB_ForumGroupPeer::instance()->select($c);
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("sort_index");
     $categories = DB_ForumCategoryPeer::instance()->select($c);
     // now mangle the categories and put into array
     // - in order to avoid several queries
     $cats = array();
     foreach ($categories as $category) {
         $cats[$category->getGroupId()][] = $category;
     }
     $runData->contextAdd("groups", $groups);
     $runData->contextAdd("catarray", $cats);
 }
Example #6
0
 public function build($runData)
 {
     $userId = $runData->getUserId();
     $pl = $runData->getParameterList();
     $messageId = $pl->getParameterValue("message_id");
     $message = DB_PrivateMessagePeer::instance()->selectByPrimaryKey($messageId);
     if ($message->getFromUserId() != $userId) {
         throw new ProcessException(_("Error selecting message."), "no_message");
     }
     $runData->contextAdd("message", $message);
     // get next & previous message
     $messageId = $message->getMessageId();
     $c = new Criteria();
     $c->add("from_user_id", $userId);
     $c->add("message_id", $messageId, ">");
     $c->add("flag", 1);
     $c->addOrderAscending("message_id");
     $newerMessage = DB_PrivateMessagePeer::instance()->selectOne($c);
     $c = new Criteria();
     $c->add("from_user_id", $userId);
     $c->add("message_id", $messageId, "<");
     $c->add("flag", 1);
     $c->addOrderDescending("message_id");
     $olderMessage = DB_PrivateMessagePeer::instance()->selectOne($c);
     $runData->contextAdd("newerMessage", $newerMessage);
     $runData->contextAdd("olderMessage", $olderMessage);
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $fsettings = $site->getForumSettings();
     if (!$fsettings) {
         throw new ProcessException(_("Forum not activated (yet)."));
     }
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("sort_index");
     $groups = DB_ForumGroupPeer::instance()->select($c);
     $catout = array();
     $catout2 = array();
     foreach ($groups as $group) {
         $c = new Criteria();
         $c->add("site_id", $site->getSiteId());
         $c->addOrderAscending("sort_index");
         $c->add("group_id", $group->getGroupId());
         $categories = DB_ForumCategoryPeer::instance()->select($c);
         $catout[$group->getGroupId()] = $categories;
         foreach ($categories as $cat) {
             $catout2[] = $cat->getFieldValuesArray();
         }
     }
     $defaultPermissions = $fsettings->getPermissions();
     $runData->contextAdd("groups", $groups);
     $runData->contextAdd("categories", $catout);
     $runData->ajaxResponseAdd("categories", $catout2);
     $runData->contextAdd("defaultPermissions", $defaultPermissions);
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // select templates
     $templatesCategory = DB_CategoryPeer::instance()->selectByName("template", $site->getSiteId());
     if ($templatesCategory == null) {
         $runData->contextAdd("noTemplates", true);
         return;
     }
     $c = new Criteria();
     $c->add("category_id", $templatesCategory->getCategoryId());
     $c->addOrderAscending("title");
     $templates = DB_PagePeer::instance()->select($c);
     $runData->contextAdd("templates", $templates);
     // get all categories for the site
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("replace(name, '_', '00000000')");
     $categories = DB_CategoryPeer::instance()->select($c);
     $runData->contextAdd("categories", $categories);
     // also prepare categories to put into javascript...
     $cats2 = array();
     foreach ($categories as $category) {
         $cats2[] = $category->getFieldValuesArray();
     }
     $runData->ajaxResponseAdd("categories", $cats2);
 }
Example #9
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $tag = $pl->getParameterValue("tag");
     if ($tag === null) {
         $runData->setModuleTemplate("Empty");
         return;
     }
     $lang = $pl->getParameterValue("lang");
     if ($lang && $lang !== "pl" && $lang !== "en") {
         $lang = null;
     }
     // get sites
     $title = $pl->getParameterValue("title");
     $runData->contextAdd("title", $title);
     $c = new Criteria();
     $c->setExplicitFrom("site, site_tag");
     $c->add("site_tag.tag", $tag);
     $c->add("site.visible", true);
     $c->add("site.private", false);
     $c->add("site.deleted", false);
     if ($lang) {
         $c->add("site.language", $lang);
     }
     $c->add("site_tag.site_id", "site.site_id", "=", false);
     $c->addOrderAscending('site.name');
     $sites = DB_SitePeer::instance()->select($c);
     //	$q = "SELECT site.* FROM site, tag WHERE tag.tag = '".db_escape_string($tag")."'
     $runData->contextAdd("tag", $tag);
     $runData->contextAdd("sites", $sites);
     $runData->contextAdd("sitesCount", count($sites));
 }
Example #10
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     $root = $pl->getParameterValue("root");
     $showRoot = $pl->getParameterValue("showRoot");
     if (!$root) {
         $page = $runData->getTemp("page");
     } else {
         $page = DB_PagePeer::instance()->selectByName($site->getSiteId(), $root);
     }
     if (!$page) {
         $runData->setModuleTemplate("Empty");
         return;
     }
     $depth = $pl->getParameterValue("depth");
     if (!$depth || !is_numeric($depth) || $depth < 1) {
         $depth = 5;
     }
     $tree = array();
     $c = new Criteria();
     $c->add("parent_page_id", $page->getPageId());
     $c->addOrderAscending("COALESCE(title, unix_name)");
     $children = DB_PagePeer::instance()->select($c);
     $descendants = array();
     // select next level of children
     $ch1 = $children;
     $d = 0;
     while ($ch1 != null && count($ch1) > 0 && (!$depth || $d < $depth)) {
         $q = "SELECT * FROM page WHERE parent_page_id IN (";
         $tch = array();
         foreach ($ch1 as $ch) {
             // check if already in the $tch
             if (!array_key_exists($ch->getPageId(), $descendants)) {
                 $tch[] = $ch->getPageId();
                 $descendants[$ch->getParentPageId()][] = $ch;
             } else {
                 $ch->setTemp('circular', true);
                 $descendants[$ch->getParentPageId()][] = $ch;
             }
         }
         if (count($tch) > 0) {
             $q .= implode(',', $tch);
             $q .= ") ORDER BY COALESCE(title, unix_name)";
             $c = new Criteria();
             $c->setExplicitQuery($q);
             $ch2 = DB_PagePeer::instance()->select($c);
             $ch1 = $ch2;
         } else {
             $ch1 = null;
         }
         $d++;
     }
     $runData->contextAdd("root", $page);
     $runData->contextAdd("children", $descendants);
     if ($showRoot) {
         $runData->contextAdd("showRoot", true);
     }
 }
Example #11
0
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     // get all categories
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("replace(name, '_', '00000000')");
     $categories = DB_CategoryPeer::instance()->select($c);
     $runData->contextAdd("categories", $categories);
 }
 public function build($runData)
 {
     $user = $runData->getUser();
     // get all contacts
     $c = new Criteria();
     $c->add("contact.target_user_id", $user->getUserId());
     $c->addJoin("user_id", "ozone_user.user_id");
     $c->addOrderAscending("ozone_user.nick_name");
     $contacts = DB_ContactPeer::instance()->select($c);
     $runData->contextAdd("contacts", $contacts);
 }
 public function build($runData)
 {
     $c = new Criteria();
     $c->add("site_id", $runData->getTemp("site")->getSiteId());
     $c->addJoin("user_id", "ozone_user.user_id");
     $c->addOrderAscending("ozone_user.nick_name");
     $mems = DB_ModeratorPeer::instance()->select($c);
     if (count($mems) > 0) {
         $runData->contextAdd("moderators", $mems);
     }
 }
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $pageId = $pl->getParameterValue("pageId");
     $c = new Criteria();
     $c->add("page_id", $pageId);
     $c->add("has_resized", true);
     $c->addOrderAscending("filename");
     $files = DB_FilePeer::instance()->select($c);
     $runData->contextAdd("files", $files);
 }
Example #15
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $pageId = $pl->getParameterValue("pageId");
     $page = DB_PagePeer::instance()->selectByPrimaryKey($pageId);
     $c = new Criteria();
     $c->add("page_id", $page->getPageId());
     $c->addJoin("user_id", "ozone_user.user_id");
     $c->addOrderAscending("ozone_user.nick_name");
     $rates = DB_PageRateVotePeer::instance()->select($c);
     $runData->contextAdd("rates", $rates);
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // now select themes
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->add("custom", true);
     $c->add("abstract", false);
     $c->addOrderAscending("name");
     $themes = DB_ThemePeer::instance()->select($c);
     $runData->contextAdd("themes", $themes);
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // get all categories for the site
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("replace(name, '_', '00000000')");
     $categories = DB_CategoryPeer::instance()->select($c);
     $runData->contextAdd("categories", $categories);
     // also prepare categories to put into javascript...
     $cats2 = array();
     foreach ($categories as $category) {
         $cats2[] = $category->getFieldValuesArray();
     }
     $runData->ajaxResponseAdd("categories", $cats2);
     // get licences
     $c = new Criteria();
     $c->addOrderAscending("sort");
     $c->addOrderAscending("name");
     $licenses = DB_LicensePeer::instance()->select($c);
     $runData->contextAdd("licenses", $licenses);
 }
Example #18
0
 public function build($runData)
 {
     $userId = $runData->getParameterList()->getParameterValue("user_id");
     // get all membership - criteria with join ;-) wooo!
     $c = new Criteria();
     $c->add("user_id", $userId);
     $c->addJoin("site_id", "site.site_id");
     $c->add("site.deleted", false);
     $c->addOrderAscending("site.name");
     $mems = DB_MemberPeer::instance()->select($c);
     if (count($mems) > 0) {
         $runData->contextAdd("memberships", $mems);
     }
 }
Example #19
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     // get current campaigns
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->add("deleted", false);
     $c->addOrderAscending("campaign_id");
     $camps = DB_PetitionCampaignPeer::instance()->select($c);
     $runData->contextAdd("campaigns", $camps);
     $withoutBox = (bool) $pl->getParameterValue("withoutBox");
     $runData->contextAdd("withoutBox", $withoutBox);
 }
 public function build($runData)
 {
     $categoryId = $runData->getParameterList()->getParameterValue("category_id");
     $site = $runData->getTemp("site");
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->add("category_id", $categoryId);
     $c->addOrderAscending("COALESCE(title, unix_name)");
     $pages = DB_PagePeer::instance()->select($c);
     if (count($pages) > 0) {
         $runData->contextAdd("pages", $pages);
     }
     $runData->ajaxResponseAdd("categoryId", $categoryId);
 }
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // now select themes that can be extended
     $c = new Criteria();
     $c->add("custom", false);
     $c->addOrderAscending("sort_index");
     $c->addOrderAscending("name");
     $themes = DB_ThemePeer::instance()->select($c);
     $runData->contextAdd("exthemes", $themes);
     $themeId = $pl->getParameterValue("themeId");
     if ($themeId && is_numeric($themeId)) {
         $theme = DB_ThemePeer::instance()->selectByPrimaryKey($themeId);
         if ($theme == null || $theme->getSiteId() !== $site->getSiteId()) {
             throw new ProcessException(_("Error selecting theme."), "wrong_theme");
         }
         $runData->contextAdd("theme", $theme);
         $dir = WIKIDOT_ROOT . "/web/files--sites/" . $site->getUnixName() . "/theme/" . $theme->getUnixName();
         $code = file_get_contents($dir . "/style.css");
         $runData->contextAdd("code", $code);
     }
 }
Example #22
0
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // get redirects
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("url");
     $redirects = DB_DomainRedirectPeer::instance()->select($c);
     $ra = array();
     foreach ($redirects as $r) {
         $ra[] = $r->getUrl();
     }
     $runData->contextAdd("redirects", $ra);
 }
Example #23
0
 public function run()
 {
     $ds = new WDDigestSender();
     // select users... all at once??? fix this!
     $c = new Criteria();
     $c->add("user_id", 0, ">");
     $c->addOrderAscending("user_id");
     $users = DB_OzoneUserPeer::instance()->select($c);
     foreach ($users as $user) {
         try {
             $ds->handleUser($user);
         } catch (Exception $e) {
         }
     }
 }
 public function build($runData)
 {
     $user = $runData->getUser();
     // get all contacts
     $c = new Criteria();
     $c->add("contact.user_id", $user->getUserId());
     $c->addJoin("target_user_id", "ozone_user.user_id");
     $c->addOrderAscending("ozone_user.nick_name");
     $contacts = DB_ContactPeer::instance()->select($c);
     // avatar uri
     foreach ($contacts as &$co) {
         $userId = $co->getTargetUserId();
         $co->setTemp("avatarUri", '/common--images/avatars/' . floor($userId / 1000) . '/' . $userId . '/a16.png');
     }
     $runData->contextAdd("contacts", $contacts);
 }
 public function build($runData)
 {
     // get all groups and categories, prepare them in a suitable form
     $site = $runData->getTemp("site");
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("sort_index");
     $groups = DB_ForumGroupPeer::instance()->select($c);
     $g0 = array();
     $c0 = array();
     $gcount = 0;
     foreach ($groups as $group) {
         $grow = array();
         $grow['name'] = $group->getName();
         $grow['description'] = $group->getDescription();
         $grow['group_id'] = $group->getGroupId();
         $grow['visible'] = $group->getVisible();
         $g0[$gcount] = $grow;
         // now get categories...
         $c0[$gcount] = array();
         $c = new Criteria();
         $c->add("site_id", $site->getSiteId());
         $c->addOrderAscending("sort_index");
         $c->add("group_id", $group->getGroupId());
         $categories = DB_ForumCategoryPeer::instance()->select($c);
         $ccount = 0;
         foreach ($categories as $cat) {
             $crow = array();
             $crow['name'] = $cat->getName();
             $crow['description'] = $cat->getDescription();
             $crow['category_id'] = $cat->getCategoryId();
             $crow['posts'] = $cat->getNumberPosts();
             $crow['number_threads'] = $cat->getNumberThreads();
             $crow['permissions'] = $cat->getPermissions();
             $crow['max_nest_level'] = $cat->getMaxNestLevel();
             $c0[$gcount][$ccount] = $crow;
             $ccount++;
         }
         $gcount++;
     }
     $runData->ajaxResponseAdd("groups", $g0);
     $runData->ajaxResponseAdd("categories", $c0);
     //get default nesting
     $fs = $site->getForumSettings();
     $runData->ajaxResponseAdd("defaultNesting", $fs->getMaxNestLevel());
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $runData->contextAdd("site", $site);
     // get all categories for the site
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("replace(name, '_', '00000000')");
     $categories = DB_CategoryPeer::instance()->select($c);
     $runData->contextAdd("categories", $categories);
     // also prepare categories to put into javascript...
     $cats2 = array();
     foreach ($categories as $category) {
         $arr = $category->getFieldValuesArray();
         // change themes to conform to variants structure
         if ($arr['theme_id']) {
             $theme = DB_ThemePeer::instance()->selectByPrimaryKey($category->getThemeId());
             if ($theme->getVariantOfThemeId() != null) {
                 $arr['theme_id'] = $theme->getVariantOfThemeId();
                 $arr['variant_theme_id'] = $theme->getThemeId();
                 $arr['theme_external_url'] = $category->getThemeExternalUrl();
             }
         }
         $cats2[] = $arr;
     }
     $runData->ajaxResponseAdd("categories", $cats2);
     // now select themes
     $c = new Criteria();
     /*$c->add("custom", false);
     		$c->add("abstract", false);
     		$c->addOrderAscending("name");*/
     $q = "SELECT * from theme WHERE " . "abstract = FALSE AND variant_of_theme_id IS NULL " . "AND (custom = FALSE" . " OR (custom = TRUE AND site_id='" . $site->getSiteId() . "')" . ") " . "ORDER BY custom, sort_index, replace(name, '_', '00000000');";
     $c->setExplicitQuery($q);
     $themes = DB_ThemePeer::instance()->select($c);
     $runData->contextAdd("themes", $themes);
     // get theme variants too
     $c = new Criteria();
     $q = "SELECT * FROM theme WHERE variant_of_theme_id IS NOT NULL ORDER BY name";
     $c->setExplicitQuery($q);
     $variants = DB_ThemePeer::instance()->select($c);
     $variantsArray = array();
     foreach ($variants as $v) {
         $variantsArray[$v->getVariantOfThemeId()][] = $v;
     }
     $runData->contextAdd("variantsArray", $variantsArray);
 }
Example #27
0
 public function build($runData)
 {
     $page = $runData->getTemp("page");
     if (!$page) {
         $pageName = $runData->getTemp("pageUnixName");
         $site = $runData->getTemp("site");
         $page = DB_PagePeer::instance()->selectByName($site->getSiteId(), $pageName);
     }
     if (!$page) {
         throw new ProcessException(_("Unable to retrieve page data."), "no_page");
     }
     $c = new Criteria();
     $c->add("parent_page_id", $page->getPageId());
     $c->addOrderAscending("COALESCE(title, unix_name)");
     $pages = DB_PagePeer::instance()->select($c);
     if (count($pages) > 0) {
         $runData->contextAdd("pages", $pages);
     }
 }
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     $fsettings = $site->getForumSettings();
     if (!$fsettings) {
         throw new ProcessException(_("Forum not activated (yet)."));
     }
     $runData->contextAdd("site", $site);
     // get all categories for the site
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderAscending("replace(name, '_', '00000000')");
     $categories = DB_CategoryPeer::instance()->select($c);
     $runData->contextAdd("categories", $categories);
     // also prepare categories to put into javascript...
     $cats2 = array();
     foreach ($categories as $category) {
         $cats2[] = $category->getFieldValuesArray();
     }
     $runData->ajaxResponseAdd("categories", $cats2);
 }
Example #29
0
 public function build($runData)
 {
     if ($runData->getUser() == null) {
         $runData->contextAdd("notLogged", true);
     } else {
         //
         //
     }
     $pl = $runData->getParameterList();
     $siteUnixName = WDStringUtils::toUnixName($pl->getParameterValue('address'));
     $runData->contextAdd('unixName', $siteUnixName);
     $siteName = str_replace('-', ' ', $siteUnixName);
     $siteName = ucwords($siteName);
     $runData->contextAdd('siteName', $siteName);
     // get template sites
     $c = new Criteria();
     $c->add('unix_name', '^template-', '~');
     $c->addOrderAscending('site_id');
     $templates = DB_SitePeer::instance()->select($c);
     $runData->contextAdd('templates', $templates);
 }
Example #30
0
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     // get forum groups
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->add("visible", true);
     $c->addOrderAscending("sort_index");
     $groups = DB_ForumGroupPeer::instance()->select($c);
     $res = array();
     foreach ($groups as $g) {
         $c = new Criteria();
         $c->add("group_id", $g->getGroupId());
         $c->addOrderAscending("sort_index");
         $categories = DB_ForumCategoryPeer::instance()->select($c);
         foreach ($categories as $cat) {
             $res[] = array('group' => $g, 'category' => $cat);
         }
     }
     $runData->contextAdd("cats", $res);
 }