예제 #1
0
    static function initIssetList()
    {
        if (empty(self::$issetList)) {
            $sql = 'SELECT obj.r_parent_id id
					FROM <<pages>>,
						(
						 	SELECT obj.r_parent_id, obj.o_id
							FROM <<rights>>,
							 	(
								 	SELECT r_parent_id, o_id
								 	FROM <<objects>>, <<rels>>, <<classes>>
								 	WHERE r_field_id IS NULL
										AND r_children_id = o_id
										AND o_to_trash = 0 and
										  c_id = o_class_id and
										  c_is_page = 1
									GROUP BY r_parent_id
							 	) obj
							WHERE o_id = o_id ' . str_replace('GROUP BY o_id', '', self::getSqlForRights()) . '
							GROUP BY obj.r_parent_id
					 	) obj
					WHERE lang_id = "' . languages::curId() . '"
        				AND domain_id = "' . domains::curId() . '"
						AND p_obj_id = obj.o_id
					GROUP BY obj.r_parent_id;';
            $tmp = db::q($sql, records);
            self::$issetList = array();
            while (list($key, $val) = each($tmp)) {
                self::$issetList[] = empty($val['id']) ? 0 : $val['id'];
            }
        }
    }