Example #1
0
 private function internalGetChildRoles($data)
 {
     $manager = BaseManager::build('FelixOnline\\Core\\Role', 'roles');
     if (is_int($parentId)) {
         $manager->filter("parent = %i", array($data));
     } else {
         $manager->filter("parent IN (%q)", array($data));
     }
     $values = $manager->values();
     if (!$values) {
         return array();
     }
     $children = array();
     $newIds = array();
     foreach ($values as $value) {
         $children[] = $value;
         $newIds[] = $value->getId();
     }
     $newIds = array_unique($newIds);
     $moreChildren = $this->internalGetChildRoles($newIds);
     if ($moreChildren) {
         $children = array_merge($moreChildren, $children);
     }
     return $children;
 }
 /**
  *
  * @return bool
  */
 public function IsReady()
 {
     //		if (!is_int($this->_userId) || (CREATE_DB_RECORD_FAIL_RESULT == $this->_userId))
     //		{
     //			return false;
     //		}
     return parent::IsReady();
 }
Example #3
0
 public function __construct(PDO $db, $nbEnt_u, $nbEnt_s)
 {
     $nbEnt_u = (int) $nbEnt_u;
     $nbEnt_s = (int) $nbEnt_s;
     parent::__construct($db);
     $this->nbEnt_u = (int) $nbEnt_u;
     $this->nbEnt_s = (int) $nbEnt_s;
 }
Example #4
0
 public function enablePublishedFilter()
 {
     $publishedManager = BaseManager::build('\\FelixOnline\\Core\\ArticlePublication', 'article_publication');
     $publishedManager = $publishedManager->filter('republished = 0')->filter('publication_date <= NOW()');
     $this->join($publishedManager, 'LEFT', 'id', 'article');
     $this->order(array('article_publication.publication_date', 'id'), 'DESC');
     return $this;
 }
Example #5
0
 /**
  * Get date that the last article was posted
  */
 function getEndDate()
 {
     $topic = BaseManager::build('FelixOnline\\Core\\Topic', 'article_topic', 'topic')->filter('topic = "%s"', array($this->getSlug()));
     $article = BaseManager::build('FelixOnline\\Core\\Article', 'article', 'id')->join($topic, 'LEFT', 'id', 'article')->filter('published > 0')->order('published', 'DESC')->limit(0, 1)->values();
     if (!$article) {
         throw new \FelixOnline\Exceptions\InternalException('No articles posted in this topic');
     }
     return $article[0]->getPublished();
 }
Example #6
0
 public function deleteById($tagId)
 {
     $tag = $this->findById($tagId);
     if ($tag != null) {
         foreach ($tag->getCards() as $c) {
             $c->removeTag($tag);
         }
         $this->em->flush();
     }
     return parent::deleteById($tagId);
 }
Example #7
0
 function getAll()
 {
     $articles = $this->order('sort_order', 'ASC');
     $articleManager = BaseManager::build('FelixOnline\\Core\\Article', 'article');
     $categoryManager = BaseManager::build('FelixOnline\\Core\\Category', 'category');
     $app = App::getInstance();
     $currentuser = $app['currentuser'];
     $articleManager->join($categoryManager, null, 'category');
     $articles->join($articleManager, null, 'article');
     $articles = $articles->values();
     return $articles;
 }
Example #8
0
 public static function isEmailValidated($email)
 {
     $manager = BaseManager::build('FelixOnline\\Core\\EmailValidation', 'email_validation');
     $manager->filter('email = "%s"', array($email));
     $count = $manager->count();
     if ($count > 1) {
         throw new FelixOnline\Exceptions\InternalException('Too many email validation records found');
     }
     if ($count == 0) {
         return false;
     }
     $record = $manager->one();
     return $record->getConfirmed();
 }
 function __construct(\Mongo $mongo, $database)
 {
     parent::__construct($mongo, $database);
     $this->_collection = $this->getCollection();
     session_set_save_handler(array(&$this, 'open'), array(&$this, 'close'), array(&$this, 'read'), array(&$this, 'write'), array(&$this, 'destroy'), array(&$this, 'gc'));
     # set session garbage collection period
     ini_set('session.gc_maxlifetime', self::SESSION_LIFESPAN);
     # session cookie config
     session_set_cookie_params(self::SESSION_LIFESPAN, self::SESSION_COOKIE_PATH, self::SESSION_COOKIE_DOMAIN);
     # replace 'phpsessid' with 'mongosessid' as the session name
     session_name(self::SESSION_NAME);
     session_cache_limiter('nocache');
     # start session
     session_start();
 }
Example #10
0
 public static function randomPick($on = 'frontpage', $sidebar = 0, $category = null)
 {
     if ($on != 'frontpage' && $on != 'categories' && $on != 'articles') {
         throw new \FelixOnline\Exceptions\InternalException('Trying to find advert on invalid on type');
     }
     $ads = BaseManager::build('FelixOnline\\Core\\Advert', 'advert')->filter('max_impressions > views')->filter('start_date < NOW()')->filter('end_date > NOW()')->filter($on . ' = 1')->filter('sidebar = %i', array((bool) $sidebar))->randomise()->limit(0, 1);
     if ($category) {
         $second = BaseManager::build('FelixOnline\\Core\\AdvertCategory', 'advert_category')->filter('category = ' . $category->getId(), array(), array(array('category IS NULL', array())));
         $ads->join($second, 'LEFT OUTER', null, 'advert');
     } else {
         $second = BaseManager::build('FelixOnline\\Core\\AdvertCategory', 'advert_category')->filter('category IS NULL');
         $ads->join($second, 'LEFT OUTER', null, 'advert');
     }
     $ads = $ads->values();
     if ($ads) {
         $ads = $ads[0];
     } else {
         return false;
     }
     return $ads;
 }
 /**
  * @covers MyPackage\BaseManager::remove
  * @todo   Implement testRemove().
  */
 public function testRemove()
 {
     // 論理1
     $member1 = $this->createMember(['email' => '*****@*****.**', 'member_name' => 'a', 'password' => 'aaa', 'icon_url' => 'http://hoge', 'photo_url' => 'http://fyga', 'is_enabled' => 1]);
     $this->object->remove('members', true, $member1->member_id);
     $target = $this->object->select('members', $member1->member_id);
     $this->assertNotNull($target, 'Resource Couldn\'t Remove!');
     // 物理1
     $member2 = $this->createMember(['email' => '*****@*****.**', 'member_name' => 'a', 'password' => 'aaa', 'icon_url' => 'http://hoge', 'photo_url' => 'http://fyga', 'is_enabled' => 1]);
     $this->object->remove('members', false, $member2->member_id);
     $target = $this->object->select('members', $member2->member_id);
     $this->assertEquals($target, false);
     // 物理2
     // いったん全クリア
     ORM::for_table('members')->delete_many();
     $member3 = $this->createMember(['email' => '*****@*****.**', 'member_name' => 'a', 'password' => 'aaa', 'icon_url' => 'http://hoge', 'photo_url' => 'http://fyga', 'is_enabled' => 1]);
     $member4 = $this->createMember(['email' => '*****@*****.**', 'member_name' => 'a', 'password' => 'aaa', 'icon_url' => 'http://hoge', 'photo_url' => 'http://fyga', 'is_enabled' => 1]);
     $member5 = $this->createMember(['email' => '*****@*****.**', 'member_name' => 'b', 'password' => 'aaa', 'icon_url' => 'http://hoge', 'photo_url' => 'http://fyga', 'is_enabled' => 1]);
     $params = ['is_enabled' => 1, 'member_name' => 'a'];
     $this->object->remove('members', false, null, $params);
     $targets = $this->object->selectAll('members');
     $this->assertCount(1, $targets);
 }
 /**
  * OrganizationManager constructor.
  * @param array $keys
  */
 public function __construct(array $keys)
 {
     parent::__construct($keys);
 }
Example #13
0
 public function deleteById($id)
 {
     $c = $this->findById($id);
     foreach ($c->getTags() as $t) {
         $c->removeTag($t);
     }
     $this->em->flush();
     return parent::deleteById($id);
 }
Example #14
0
 public function getValidatedReplyManager()
 {
     $comments = (new CommentManager())->filter("active = 1")->filter("spam = 0 ")->filter("reply = %i", array($this->getId()))->order("timestamp", "ASC");
     $validation = BaseManager::build('FelixOnline\\Core\\EmailValidation', 'email_validation')->filter("confirmed = 1");
     $comments->join($validation, null, 'email', 'email');
     return $comments;
 }
Example #15
0
 /**
  * Public: Get categories this user edits
  *
  * Returns array of category objects
  */
 public function getCategories()
 {
     $editors = BaseManager::build('FelixOnline\\Core\\Category', 'category_author', 'category')->filter("user = '******'", array($this->getUser()))->values();
     return $editors;
 }
Example #16
0
 /**
  * Static: Get all categories
  */
 public static function getCategories()
 {
     $app = App::getInstance();
     $manager = BaseManager::build('FelixOnline\\Core\\Category', 'category');
     try {
         $values = $manager->filter('hidden = 0')->filter('deleted = 0')->filter('id > 0')->order('order', 'ASC')->values();
         return $values;
     } catch (\Exception $e) {
         return array();
     }
 }
Example #17
0
 /**
  *
  * @return bool
  */
 public function IsReady()
 {
     return parent::IsReady();
 }
Example #18
0
 function ActivityManager()
 {
     BaseManager::BaseManager();
 }
Example #19
0
 function RoleManager()
 {
     BaseManager::BaseManager();
 }
Example #20
0
 function InstanceManager()
 {
     BaseManager::BaseManager();
 }
Example #21
0
 function ProcessManager()
 {
     BaseManager::BaseManager();
 }
Example #22
0
 public function getSpecificFile($part)
 {
     $manager = BaseManager::build('FelixOnline\\Core\\ArchiveFile', 'archive_file');
     return $manager->filter('issue_id = %i', array($this->getId()))->filter('part = "%s"', array($part))->one();
 }
Example #23
0
 public function __construct(PDO $db, $nbEnt)
 {
     $nbEnt = (int) $nbEnt;
     parent::__construct($db);
     $this->nbEnt = $nbEnt;
 }