Example #1
0
File: Search.php Project: rjha/sc
 function process($params, $options)
 {
     $token = Url::tryQueryParam("gt");
     if (empty($token)) {
         header("Location: / ");
     }
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $sphinx = new \com\indigloo\sc\search\SphinxQL();
     $qparams = Url::getRequestQueryParams();
     $pageSize = Config::getInstance()->get_value("search.page.items");
     $paginator = new Pagination($qparams, $pageSize);
     $ids = $sphinx->getPagedPosts($token, $paginator);
     $template = NULL;
     $searchTitle = NULL;
     if (sizeof($ids) > 0) {
         $pageHeader = "{$token}";
         $pageBaseUrl = "/search/site";
         $template = APP_WEB_DIR . '/view/search.php';
         $postDao = new \com\indigloo\sc\dao\Post();
         $postDBRows = $postDao->getOnSearchIds($ids);
     } else {
         $pageHeader = "No results";
         $template = APP_WEB_DIR . '/view/notiles.php';
     }
     $groupIds = $sphinx->getGroups($token, 0, 25);
     $groupDao = new \com\indigloo\sc\dao\Group();
     $groupDBRows = $groupDao->getOnSearchIds($groupIds);
     $sphinx->close();
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, $token);
     $metaKeywords = SeoData::getMetaKeywords($token);
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, $token);
     include $template;
 }
Example #2
0
File: Comment.php Project: rjha/sc
 static function getWidget($row, $options = NULL)
 {
     $html = NULL;
     $view = new \stdClass();
     $template = '/fragments/comment/text.tmpl';
     if (is_null($options)) {
         $options = ~UIConstants::COMMENT_ALL;
     }
     $view->id = $row['id'];
     $view->title = $row['title'];
     $view->postId = $row['post_id'];
     $view->itemId = PseudoId::encode($view->postId);
     $view->comment = $row['description'];
     $view->createdOn = AppUtil::convertDBTime($row['created_on']);
     $view->showUser = false;
     if ($options & UIConstants::COMMENT_USER) {
         $view->loginId = $row['login_id'];
         $view->pubUserId = PseudoId::encode($view->loginId);
         $view->userName = $row['user_name'];
         $view->showUser = true;
     }
     $encodedId = PseudoId::encode($view->id);
     $params = array('id' => $encodedId, 'q' => base64_encode(Url::current()));
     $view->editUrl = Url::createUrl('/qa/comment/edit.php', $params);
     $view->deleteUrl = Url::createUrl('/qa/comment/delete.php', $params);
     $html = Template::render($template, $view);
     return $html;
 }
Example #3
0
File: Links.php Project: rjha/sc
 static function getHtml($map, $template, $classMap)
 {
     $currentUrl = Url::current();
     $pos = strpos($currentUrl, '?');
     //remove the part after ? from Url
     if ($pos !== false) {
         $currentUrl = substr($currentUrl, 0, $pos);
     }
     $bucket = array();
     $activeName = NULL;
     foreach ($map as $url => $name) {
         //links to store
         if (!array_key_exists($name, $bucket)) {
             $record = array();
             $record["name"] = $name;
             $record["url"] = $url;
             $record["class"] = $classMap["normal"];
             $bucket[$name] = $record;
         }
         if (strcmp($url, $currentUrl) == 0) {
             //name to highlight
             $activeName = $name;
         }
     }
     if (!is_null($activeName)) {
         $bucket[$activeName]["class"] = $classMap["active"];
     }
     $view = new \stdClass();
     $view->records = array_values($bucket);
     $html = Template::render($template, $view);
     return $html;
 }
Example #4
0
File: Category.php Project: rjha/sc
 function process($params, $options)
 {
     $seoKey = Util::getArrayKey($params, "category_id");
     $collectionDao = new \com\indigloo\sc\dao\Collection();
     $zmember = $collectionDao->uizmemberOnSeoKey(Nest::ui_category(), $seoKey);
     if (is_null($zmember) || !isset($zmember["ui_code"])) {
         $controller = new \com\indigloo\sc\controller\Http404();
         $controller->process();
         exit;
     }
     $code = $zmember["ui_code"];
     $catName = $zmember["name"];
     $postDao = new \com\indigloo\sc\dao\Post();
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $pageSize = Config::getInstance()->get_value("search.page.items");
     $paginator = new Pagination($qparams, $pageSize);
     $postDBRows = $postDao->getPagedOnCategory($paginator, $code);
     $pageHeader = $catName;
     $pageBaseUrl = "/category/{$seoKey}";
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, $catName);
     $metaKeywords = SeoData::getMetaKeywords($catName);
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, $catName);
     $file = APP_WEB_DIR . '/view/tiles-page.php';
     include $file;
 }
Example #5
0
 function process($feedObj, $templates = array())
 {
     $html = '';
     $keys = array("subject", "subjectId", "object", "objectId");
     $flag = $this->checkKeys($feedObj, $keys);
     $view = array();
     if (empty($templates)) {
         $templates = array(AppConstants::FOLLOW_VERB => "/fragments/feed/vanilla.tmpl");
     }
     if ($flag) {
         $view['subject'] = $feedObj->subject;
         $view['object'] = $feedObj->object;
         $pubId = PseudoId::encode($feedObj->subjectId);
         $view['subjectUrl'] = sprintf("%s/pub/user/%s", Url::base(), $pubId);
         $pubId = PseudoId::encode($feedObj->objectId);
         $view['objectUrl'] = sprintf("%s/pub/user/%s", Url::base(), $pubId);
         $view['verb'] = $this->getVerb($feedObj->verb);
         if (isset($templates[$feedObj->verb])) {
             $template = $templates[$feedObj->verb];
         } else {
             trigger_error("invalid feed template", E_USER_ERROR);
         }
         $html = Template::render($template, $view);
     }
     return $html;
 }
Example #6
0
File: Popular.php Project: rjha/sc
 function process($params, $options)
 {
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $redis = new redis\Activity();
     $pageSize = Config::getInstance()->get_value("main.page.items");
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $zsetKey = Nest::score("post", "likes");
     $members = $redis->getPagedZSet($zsetKey, $paginator);
     //first one is id, second one is score
     $count = 0;
     $scores = array();
     $ids = array();
     for ($i = 1; $i < sizeof($members); $i++) {
         if ($i % 2 == 0) {
             array_push($scores, $members[$i - 1]);
         } else {
             $itemId = $members[$i - 1];
             $postId = PseudoId::decode($itemId);
             array_push($ids, $postId);
         }
     }
     //get post rows using ids
     $postDao = new \com\indigloo\sc\dao\Post();
     $postDBRows = $postDao->getOnSearchIds($ids);
     $pageHeader = 'Most popular';
     $pageBaseUrl = '/pub/popular';
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, "popular items");
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, "popular items");
     $file = APP_WEB_DIR . '/view/tiles-page.php';
     include $file;
 }
Example #7
0
File: Login.php Project: rjha/sc
 function create($firstName, $lastName, $email, $password)
 {
     $provider = \com\indigloo\sc\auth\Login::MIK;
     if (Util::tryEmpty($firstName) || Util::tryEmpty($lastName)) {
         throw new UIException(array("User name is missing!"));
     }
     $userName = $firstName . ' ' . $lastName;
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     mysql\Login::create($provider, $userName, $firstName, $lastName, $email, $password, $remoteIp);
 }
Example #8
0
 function process($feedObj, $templates = array())
 {
     $html = '';
     $keys = array("subject", "subjectId", "title", "objectId");
     $flag = $this->checkKeys($feedObj, $keys);
     $view = array();
     if (empty($templates)) {
         $templates = array(AppConstants::LIKE_VERB => "/fragments/feed/image/post.tmpl", AppConstants::COMMENT_VERB => "/fragments/feed/image/comment.tmpl", AppConstants::POST_VERB => "/fragments/feed/image/post.tmpl", AppConstants::FOLLOW_VERB => NULL);
     }
     if ($flag) {
         // extra processing for comments
         // @imp: activity row for comment stores
         // post_id as object_id and not item_id
         if (strcmp($feedObj->verb, AppConstants::COMMENT_VERB) == 0) {
             if (property_exists($feedObj, 'content')) {
                 $view['content'] = $feedObj->content;
             }
             $feedObj->objectId = PseudoId::encode($feedObj->objectId);
         }
         $view['subject'] = $feedObj->subject;
         $view['object'] = $feedObj->title;
         $pubId = PseudoId::encode($feedObj->subjectId);
         $view['subjectUrl'] = sprintf("%s/pub/user/%s", Url::base(), $pubId);
         $view['objectUrl'] = sprintf("%s/item/%s", Url::base(), $feedObj->objectId);
         $view['hasImage'] = false;
         //image for feed
         if (property_exists($feedObj, 'srcImage')) {
             if (!empty($feedObj->srcImage)) {
                 $srcImage = $feedObj->srcImage;
                 $m_bucket = \parse_url($srcImage, \PHP_URL_HOST);
                 // aws s3 bucket mapping for cloud front
                 // host is a CNAME mapped to amazon s3 bucket
                 // format is store.bucket.mapto=<mapped-bucket>
                 $mapKey = sprintf("s3.%s.mapto", $m_bucket);
                 $bucket = Config::getInstance()->get_value($mapKey, $m_bucket);
                 $view['srcImage'] = str_replace($m_bucket, $bucket, $srcImage);
                 $view['nameImage'] = $feedObj->nameImage;
                 $view['hasImage'] = true;
             }
         }
         $view['verb'] = $this->getVerb($feedObj->verb);
         if (isset($templates[$feedObj->verb])) {
             $template = $templates[$feedObj->verb];
         } else {
             trigger_error("invalid feed template", E_USER_ERROR);
         }
         $html = Template::render($template, $view);
     }
     return $html;
 }
Example #9
0
File: Feedback.php Project: rjha/sc
 static function get($row)
 {
     $html = NULL;
     $view = new \stdClass();
     $template = '/fragments/monitor/feedback.tmpl';
     $view->id = $row['id'];
     $params = array("id" => $row['id'], "q" => base64_encode(Url::current()));
     $view->deleteUrl = Url::createUrl("/monitor/feedback/delete.php", $params);
     $view->description = $row['feedback'];
     $view->name = $row['name'];
     $view->phone = $row['phone'];
     $view->email = $row['email'];
     $html = Template::render($template, $view);
     return $html;
 }
Example #10
0
File: Lists.php Project: rjha/sc
 function process($params, $options)
 {
     if (is_null($params) || empty($params)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     $plistId = Util::getArrayKey($params, "list_id");
     $listId = PseudoId::decode($plistId);
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     //@todo input check
     // people can type all sort of input garbage
     settype($listId, "int");
     $listDao = new \com\indigloo\sc\dao\Lists();
     $listDBRow = $listDao->getOnId($listId);
     if (empty($listDBRow)) {
         //not found
         $controller = new \com\indigloo\sc\controller\Http404();
         $controller->process();
         exit;
     }
     $listName = $listDBRow["name"];
     $listPubUrl = sprintf("%s/pub/list/%d/%s", Url::base(), $plistId, $listDBRow["seo_name"]);
     //get items from sc_list_item table
     $model = new \com\indigloo\sc\model\ListItem();
     $filter = new Filter($model);
     $filter->add($model::LIST_ID, Filter::EQ, $listId);
     $pageSize = Config::getInstance()->get_value("user.page.items");
     $filters = array();
     array_push($filters, $filter);
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $itemDBRows = $listDao->getPagedItems($paginator, $filters);
     $loginId = $listDBRow["login_id"];
     $userDao = new \com\indigloo\sc\dao\User();
     $userDBRow = $userDao->getOnLoginId($loginId);
     $template = APP_WEB_DIR . '/view/list/pub.php';
     //page variables
     $pageBaseUrl = $listPubUrl;
     $pageTitle = sprintf("page %d of %s", $gpage, $listDBRow["name"]);
     $description = Util::abbreviate($listDBRow["description"], 160);
     $metaDescription = SeoData::thisOrHomeDescription($description);
     $metaKeywords = SeoData::getHomeMetaKeywords();
     include $template;
 }
Example #11
0
File: ItemsMap.php Project: rjha/sc
 function process($params, $options)
 {
     $postDao = new \com\indigloo\sc\dao\Post();
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $pageSize = Config::getInstance()->get_value("main.page.items");
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $postDBRows = $postDao->getPaged($paginator);
     $pageHeader = '';
     $pageBaseUrl = $options["path"];
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, "recent items");
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, "recent items");
     $file = APP_WEB_DIR . '/view/tiles-page.php';
     include $file;
 }
Example #12
0
File: Twitter.php Project: rjha/sc
 function getOrCreate($twitterId, $name, $screenName, $location, $image)
 {
     $loginId = NULL;
     //is existing record?
     $twitterId = trim($twitterId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnTwitterId($twitterId);
     if (empty($row)) {
         $message = sprintf("Login::Twitter::create id %s ,name %s, screenname %s ", $twitterId, $name, $screenName);
         Logger::getInstance()->info($message);
         $provider = \com\indigloo\sc\auth\Login::TWITTER;
         $loginId = mysql\Twitter::create($twitterId, $name, $screenName, $location, $image, $provider, $remoteIp);
     } else {
         //found
         $loginId = $row['login_id'];
     }
     return $loginId;
 }
Example #13
0
File: Google.php Project: rjha/sc
 function getOrCreate($googleId, $email, $name, $firstName, $lastName, $photo)
 {
     $loginId = NULL;
     //is existing record?
     $googleId = trim($googleId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnId($googleId);
     if (empty($row)) {
         $message = sprintf("Login::Google::create id %s, email %s ", $googleId, $email);
         Logger::getInstance()->info($message);
         $provider = \com\indigloo\sc\auth\Login::GOOGLE;
         $loginId = mysql\Google::create($googleId, $email, $name, $firstName, $lastName, $photo, $provider, $remoteIp);
     } else {
         //found
         $loginId = $row['login_id'];
     }
     return $loginId;
 }
Example #14
0
 function process($feedObj)
 {
     $html = '';
     $keys = array("subject", "subjectId", "object", "objectId");
     $flag = $this->checkKeys($feedObj, $keys);
     $view = array();
     if ($flag) {
         $view['subject'] = $feedObj->subject;
         $view['object'] = "this item";
         $pubId = PseudoId::encode($feedObj->subjectId);
         $view['subjectUrl'] = sprintf("%s/pub/user/%s", Url::base(), $pubId);
         $view['objectUrl'] = sprintf("%s/item/%s", Url::base(), $feedObj->objectId);
         $view['verb'] = $this->getVerb($feedObj->verb);
         $template = '/fragments/feed/vanilla.tmpl';
         $html = Template::render($template, $view);
     }
     return $html;
 }
Example #15
0
 static function createView($loginId, $row)
 {
     $view = new \stdClass();
     $userId = $row["login_id"];
     $pubUserId = PseudoId::encode($userId);
     $pubUserUrl = Url::base() . "/pub/user/" . $pubUserId;
     $view->pubUserUrl = $pubUserUrl;
     $view->name = $row["name"];
     $view->srcImage = $row["photo_url"];
     // This is for follow action on my follower's page.
     // for follow action :- I will start following
     // so followerId - is me
     // for unfollow action :- I was following the user
     // so again, followerId is - me
     $view->followingId = $userId;
     $view->followerId = $loginId;
     return $view;
 }
Example #16
0
File: Lists.php Project: rjha/sc
 static function getPubHeader($listDBRow, $userDBRow)
 {
     $view = self::createListView($listDBRow);
     $view->userName = $userDBRow["name"];
     $view->photoUrl = $userDBRow["photo_url"];
     if (empty($view->photoUrl)) {
         // @hardcoded
         $view->photoUrl = UIConstants::PH2_PIC;
     }
     $encodedId = PseudoId::encode($listDBRow["login_id"]);
     $view->userPubUrl = Url::base() . "/pub/user/" . $encodedId;
     $view->createdOn = AppUtil::convertDBTime($listDBRow['created_on']);
     $view->description = $listDBRow["description"];
     $view->count = $listDBRow["item_count"];
     $template = NULL;
     $template = "/fragments/lists/pub/header.tmpl";
     $html = Template::render($template, $view);
     return $html;
 }
Example #17
0
File: Facebook.php Project: rjha/sc
 function getOrCreate($facebookId, $name, $firstName, $lastName, $link, $gender, $email, $access_token, $expires)
 {
     $loginId = NULL;
     //is existing record?
     $facebookId = trim($facebookId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnFacebookId($facebookId);
     if (empty($row)) {
         $message = sprintf("Login::Facebook::create id %s, email %s ", $facebookId, $email);
         Logger::getInstance()->info($message);
         //create login + facebook user
         $provider = \com\indigloo\sc\auth\Login::FACEBOOK;
         $loginId = mysql\Facebook::create($facebookId, $name, $firstName, $lastName, $link, $gender, $email, $provider, $access_token, $expires, $remoteIp);
     } else {
         //found
         $loginId = $row["login_id"];
     }
     return $loginId;
 }
Example #18
0
 function spewRecent($params, $options)
 {
     $qparams = Url::getRequestQueryParams();
     $filters = array();
     $groupDao = new \com\indigloo\sc\dao\Group();
     $pageSize = 100;
     $paginator = new Pagination($qparams, $pageSize);
     $groups = $groupDao->getPaged($paginator, $filters);
     $startId = NULL;
     $endId = NULL;
     if (sizeof($groups) > 0) {
         $startId = $groups[0]["id"];
         $endId = $groups[sizeof($groups) - 1]["id"];
     }
     $pageBaseUrl = $options["path"];
     $title = "Recent groups";
     $file = APP_WEB_DIR . "/view/group/cards-page.php";
     include $file;
 }
Example #19
0
File: Site.php Project: rjha/sc
 static function getNoResult($message, $options = NULL)
 {
     $defaults = array("hkey" => NULL, "form" => "vanilla");
     $settings = Util::getSettings($options, $defaults);
     //get qparams from Url
     $qparams = \com\indigloo\Url::getRequestQueryParams();
     $gpage = -1;
     //hkey supplied - means show help on page #1.
     if (!empty($qparams) && isset($qparams["gpage"])) {
         $gpage = $qparams["gpage"];
         $gpage = intval($gpage);
     } else {
         $gpage = 1;
     }
     $html = NULL;
     $help_key = $settings["hkey"];
     if ($gpage <= 1 && !is_null($help_key)) {
         try {
             $html = self::getHelp($help_key);
             return $html;
         } catch (\Exception $ex) {
             $html = NULL;
             $errorMsg = $ex->getMessage();
             Logger::getInstance()->error($errorMsg);
             Logger::getInstance()->error($ex->getMessage());
         }
     }
     $view = new \stdClass();
     $template = NULL;
     $form = $settings["form"];
     switch ($form) {
         case "tile":
             $template = "/fragments/site/noresult/tile.tmpl";
             break;
         default:
             $template = "/fragments/site/noresult/vanilla.tmpl";
             break;
     }
     $view->message = $message;
     $html = Template::render($template, $view);
     return $html;
 }
Example #20
0
 static function render($options, $default)
 {
     $tab = Url::tryQueryParam("tab", $default);
     if (Util::tryEmpty($tab)) {
         $tab = $default;
     }
     if (!array_key_exists($tab, $options)) {
         $tab = $default;
     }
     $buffer = '';
     $item = '<li class="%s"> <a href="%s">%s</a></li>';
     foreach ($options as $key => $value) {
         $pageURI = Url::addQueryParameters($_SERVER['REQUEST_URI'], array("tab" => $key));
         $class = $tab == $key ? 'active' : '';
         $strItem = sprintf($item, $class, $pageURI, $value);
         $buffer .= $strItem;
     }
     $buffer = '<ul class="nav nav-tabs">' . $buffer . '</ul>';
     $data = array("buffer" => $buffer, "active" => $tab);
     return $data;
 }
Example #21
0
File: Location.php Project: rjha/sc
 function process($params, $options)
 {
     if (is_null($params) || empty($params)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     // our router discards the query part from a URL so the
     // routing works with the query part as well (like /router/url?q1=x&q2=y
     $token = Util::getArrayKey($params, "location");
     if (is_null($token)) {
         header("Location: / ");
     }
     //search sphinx index
     $sphinx = new \com\indigloo\sc\search\SphinxQL();
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $pageSize = Config::getInstance()->get_value("search.page.items");
     $paginator = new Pagination($qparams, $pageSize);
     $ids = $sphinx->getPagedPosts($token, $paginator);
     $sphinx->close();
     $template = NULL;
     $searchTitle = NULL;
     if (sizeof($ids) > 0) {
         $pageHeader = "{$token}";
         $pageBaseUrl = "/search/location/{$token}";
         $template = APP_WEB_DIR . '/view/tiles-page.php';
         $postDao = new \com\indigloo\sc\dao\Post();
         $postDBRows = $postDao->getOnSearchIds($ids);
     } else {
         $pageHeader = "No Results";
         $template = APP_WEB_DIR . '/view/notiles.php';
     }
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, $token);
     $metaKeywords = SeoData::getMetaKeywords($token);
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, $token);
     include $template;
 }
Example #22
0
File: Site.php Project: rjha/sc
 function process($params, $options)
 {
     if (is_null($params) || empty($params)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     $siteId = Util::tryArrayKey($params, "site_id");
     $cname = Url::tryQueryParam("cname");
     if (empty($siteId) || empty($cname)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     $siteDao = new \com\indigloo\sc\dao\Site();
     $postDBRows = $siteDao->getPostsOnId($siteId, 50);
     $pageHeader = $cname;
     $pageTitle = SeoData::getHomePageTitle();
     $metaDescription = SeoData::getHomeMetaDescription();
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $file = APP_WEB_DIR . '/view/tiles.php';
     include $file;
 }
Example #23
0
File: Group.php Project: rjha/sc
 function process($params, $options)
 {
     if (is_null($params) || empty($params)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     $token = Util::getArrayKey($params, "name");
     // group controller is invoked via the fixed links
     // (as opposed to users typing in search box)
     // so we (exact) match this token against post_groups index.
     $sphinx = new \com\indigloo\sc\search\SphinxQL();
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $pageSize = Config::getInstance()->get_value("search.page.items");
     $paginator = new Pagination($qparams, $pageSize);
     $ids = $sphinx->getPagedPostByGroup($token, $paginator);
     $sphinx->close();
     $template = NULL;
     $searchTitle = NULL;
     $groupName = \com\indigloo\util\StringUtil::convertKeyToName($token);
     if (sizeof($ids) > 0) {
         $pageHeader = "{$groupName}";
         $pageBaseUrl = "/group/{$token}";
         $template = APP_WEB_DIR . '/view/tiles-page.php';
         $postDao = new \com\indigloo\sc\dao\Post();
         $postDBRows = $postDao->getOnSearchIds($ids);
     } else {
         $pageHeader = "No results";
         $template = APP_WEB_DIR . '/view/notiles.php';
     }
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, $groupName);
     $metaKeywords = SeoData::getMetaKeywords($groupName);
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, $groupName);
     include $template;
 }
Example #24
0
if (strcmp($gSessionLogin->provider, Login::MIK) != 0) {
    $message = "change password only works for 3mik logins!";
    throw new UIException(array($message));
}
$userDao = new \com\indigloo\sc\dao\User();
$userDBRow = $userDao->getonLoginId($loginId);
//tokens for use in next screen
$ftoken = Util::getMD5GUID();
$email = $userDBRow["email"];
$femail = Util::encrypt($email);
$gWeb = \com\indigloo\core\Web::getInstance();
$gWeb->store("change.password.email", $femail);
$gWeb->store("change.password.token", $ftoken);
$title = $userDBRow["email"];
$qUrl = base64_encode(Url::current());
$fUrl = Url::current();
$submitUrl = "/user/account/form/change-password.php";
?>

<!DOCTYPE html>
<html>

       <head>
        <title> Change password - <?php 
echo $title;
?>
  </title>
        <?php 
include APP_WEB_DIR . '/inc/meta.inc';
?>
        <?php 
Example #25
0
File: users.php Project: rjha/sc
<?php

//sc/monitor/analytic/users.php
include 'sc-app.inc';
include APP_WEB_DIR . '/inc/header.inc';
include APP_WEB_DIR . '/inc/role/admin.inc';
use com\indigloo\Util;
use com\indigloo\Url;
use com\indigloo\Configuration as Config;
use com\indigloo\ui\Filter;
use com\indigloo\sc\redis;
use com\indigloo\sc\util\Nest;
use com\indigloo\sc\util\PseudoId;
$qparams = Url::getRequestQueryParams();
$redis = new redis\Activity();
$tab = isset($qparams["tab"]) ? $qparams["tab"] : 1;
settype($tab, "integer");
$sortVariable = "followers";
$pageSize = 25;
$paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
$baseURI = "/monitor/analytic/users.php";
$userDao = new \com\indigloo\sc\dao\User();
switch ($tab) {
    case 1:
        $sortVariable = "followers";
        break;
    case 2:
        $sortVariable = "likes";
        break;
    case 3:
        $sortVariable = "comments";
Example #26
0
File: Home.php Project: rjha/sc
 function loadNextPage($gpage)
 {
     $postDao = new \com\indigloo\sc\dao\Post();
     $qparams = Url::getRequestQueryParams();
     $pageSize = Config::getInstance()->get_value("main.page.items");
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $postDBRows = $postDao->getPaged($paginator);
     $pageHeader = '';
     $pageBaseUrl = '/';
     $pageTitle = SeoData::getHomePageTitleWithNumber($gpage);
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $metaDescription = SeoData::getHomeMetaDescriptionWithNumber($gpage);
     $file = APP_WEB_DIR . '/view/tiles-page.php';
     include $file;
 }
Example #27
0
File: edit.php Project: rjha/sc
<?php

//sc/user/account/form/edit.php
include 'sc-app.inc';
include APP_WEB_DIR . '/inc/header.inc';
include APP_WEB_DIR . '/inc/role/user.inc';
use com\indigloo\ui\form as Form;
use com\indigloo\Constants;
use com\indigloo\exception\UIException;
use com\indigloo\sc\auth\Login;
if (isset($_POST['save']) && $_POST['save'] == 'Save') {
    $gWeb = \com\indigloo\core\Web::getInstance();
    $fvalues = array();
    $fUrl = \com\indigloo\Url::tryFormUrl("fUrl");
    try {
        $fhandler = new Form\Handler('web-form-1', $_POST);
        $fhandler->addRule('first_name', 'First Name', array('required' => 1, 'maxlength' => 32));
        $fhandler->addRule('last_name', 'Last Name', array('required' => 1, 'maxlength' => 32));
        $fhandler->addRule('email', 'Email', array('required' => 1, 'maxlength' => 64));
        $fhandler->addRule('qUrl', 'qUrl', array('required' => 1, 'rawData' => 1));
        $fvalues = $fhandler->getValues();
        //decode q param to use in redirect
        $qUrl = base64_decode($fvalues['qUrl']);
        if ($fhandler->hasErrors()) {
            throw new UIException($fhandler->getErrors());
        }
        $loginId = Login::getLoginIdInSession();
        $userDao = new \com\indigloo\sc\dao\User();
        $userDao->update($loginId, $fvalues['first_name'], $fvalues['last_name'], $fvalues['nick_name'], $fvalues['email'], $fvalues['website'], $fvalues['blog'], $fvalues['location'], $fvalues['age'], $fvalues['photo_url'], $fvalues['about_me']);
        //success
        header("Location: " . $qUrl);
Example #28
0
File: index.php Project: rjha/sc
$counters = $analyticDao->getUserCounters($loginId);
$activityDao = new \com\indigloo\sc\dao\Activity();
$feedDataObj = $activityDao->getUserFeeds($loginId, 20);
//suggestions are editor picks right now
$postDao = new \com\indigloo\sc\dao\Post();
//post featured filter
$filters = array();
$model = new \com\indigloo\sc\model\Post();
$filter = new Filter($model);
$filter->add($model::FEATURED, Filter::EQ, TRUE);
array_push($filters, $filter);
// pick 12 posts from editor picks
$postDBRows = $postDao->getPosts(12, $filters);
$dashItemHelp = \com\indigloo\sc\html\Site::getDashItemHelp($counters["post_count"]);
$params = array("q" => base64_encode(Url::current()));
$linkInvitation = Url::createUrl("/user/invite.php", $params);
?>


<!DOCTYPE html>
<html>

    <head>
        <title>  Dashboard - <?php 
echo $loginName;
?>
  </title>
        <?php 
include APP_WEB_DIR . '/inc/meta.inc';
?>
        <?php 
Example #29
0
File: Post.php Project: rjha/sc
 static function convertImageJsonObj($jsonObj)
 {
     $view = array();
     if (strcmp($jsonObj->store, "s3") == 0 || strcmp($jsonObj->store, "local") == 0) {
         $view["name"] = $jsonObj->originalName;
         $prefix = $jsonObj->store == 's3' ? 'http://' : Url::base() . '/';
         $fileName = NULL;
         //@imp: if thumbnail is not available then fallback on original image
         if (property_exists($jsonObj, "thumbnailName")) {
             $view["tname"] = $jsonObj->thumbnailName;
             $fileName = $jsonObj->thumbnail;
         } else {
             $view["tname"] = $jsonObj->originalName;
             $fileName = $jsonObj->storeName;
         }
         // aws s3 bucket mapping for cloud front
         $m_bucket = $jsonObj->bucket;
         // format is store.bucket.mapto=<mapped-bucket>
         $mapKey = sprintf("%s.%s.mapto", $jsonObj->store, $m_bucket);
         $bucket = Config::getInstance()->get_value($mapKey, $m_bucket);
         $view["source"] = $prefix . $bucket . '/' . $jsonObj->storeName;
         $view["thumbnail"] = $prefix . $bucket . '/' . $fileName;
         $view["width"] = $jsonObj->width;
         $view["height"] = $jsonObj->height;
         //@todo add thumbnail width and height to image json data
     } else {
         $view["name"] = "placeholder";
         $view["tname"] = "placeholder";
         $view["source"] = UIConstants::PH1_PIC;
         $view["thumbnail"] = UIConstants::PH1_PIC;
         $view["width"] = 48;
         $view["height"] = 48;
         $view["twidth"] = 40;
         $view["theight"] = 40;
     }
     return $view;
 }
Example #30
0
File: login.php Project: rjha/sc
    header("Location: / ");
}
$qUrl = Url::tryBase64QueryParam("q", "/user/dashboard/index.php");
$fUrl = Url::current();
// should login do some action?
$gSessionAction = Url::tryQueryParam("g_session_action");
if (!empty($gSessionAction)) {
    $gWeb->store("global.session.action", $gSessionAction);
}
$fUrl = Url::current();
$sticky = new Sticky($gWeb->find(Constants::STICKY_MAP, true));
$stoken = Util::getMD5GUID();
$gWeb->store("mik_state_token", $stoken);
//Facebook OAuth2
$fbAppId = Config::getInstance()->get_value("facebook.app.id");
$host = Url::base();
$fbCallback = $host . "/callback/fb2.php";
$fbDialogUrl = "https://www.facebook.com/dialog/oauth?client_id=" . $fbAppId;
$fbDialogUrl .= "&redirect_uri=" . urlencode($fbCallback) . "&scope=email&state=" . $stoken;
//Google OAuth2
$googleClientId = Config::getInstance()->get_value("google.client.id");
$googleCallback = $host . "/callback/google2.php";
$googleAuthUrl = "https://accounts.google.com/o/oauth2/auth?scope=";
//space delimited scope
$googleScope = "https://www.googleapis.com/auth/userinfo.email";
$googleScope = $googleScope . Constants::SPACE . "https://www.googleapis.com/auth/userinfo.profile";
$googleAuthUrl .= urlencode($googleScope);
$googleAuthUrl .= "&client_id=" . $googleClientId;
$googleAuthUrl .= "&state=" . $stoken;
$googleAuthUrl .= "&response_type=code";
$googleAuthUrl .= "&redirect_uri=" . urlencode($googleCallback);