]> git.wh0rd.org Git - tt-rss.git/log
tt-rss.git
7 years agoaf_redditimgur: use common header retrieval function
wn_ [Sun, 17 Sep 2017 18:56:57 +0000 (13:56 -0500)]
af_redditimgur: use common header retrieval function

7 years agoaf_redditimgur: Rework retrieval of v.redd.it fallback URL.
wn_ [Sun, 17 Sep 2017 18:34:49 +0000 (13:34 -0500)]
af_redditimgur: Rework retrieval of v.redd.it fallback URL.

Use the v.redd.it redirects to identify the original Reddit post,
whose JSON should have the fallback_url we're looking for.

7 years agoaf_redditimgur: Use v.redd.it fallback URL when possible.
wn_ [Sun, 17 Sep 2017 06:18:05 +0000 (01:18 -0500)]
af_redditimgur: Use v.redd.it fallback URL when possible.

7 years agoaf_redditimgur: add basic support for v.redd.it videos
Andrew Dolgov [Sat, 16 Sep 2017 07:08:30 +0000 (10:08 +0300)]
af_redditimgur: add basic support for v.redd.it videos

7 years agoMerge branch 'domdocument_content_savehtml' of wn/tt-rss into master
fox [Fri, 15 Sep 2017 14:58:37 +0000 (14:58 +0000)]
Merge branch 'domdocument_content_savehtml' of wn/tt-rss into master

7 years agoUse 'saveHTML' when generating HTML from a DOMDocument.
wn_ [Sat, 9 Sep 2017 18:51:59 +0000 (13:51 -0500)]
Use 'saveHTML' when generating HTML from a DOMDocument.

This primarily occurs when modifying article content.  If 'saveXML' is
used following 'loadHTML' there is the possibility of strangeness, such
as a self-closing anchor tag.

Note that the DOMDocument used in 'classes/feeditem/atom.php' came from
'loadXML', but we use 'saveHTML' since we're returning HTML content.

7 years agoadd support for http 304 not modified (no timestamp calculation bullshit like last...
Andrew Dolgov [Thu, 17 Aug 2017 11:40:21 +0000 (14:40 +0300)]
add support for http 304 not modified (no timestamp calculation bullshit like last time)

7 years agofilters/edit: properly parse feed-specific legacy format filter rules
Andrew Dolgov [Mon, 14 Aug 2017 19:29:50 +0000 (22:29 +0300)]
filters/edit: properly parse feed-specific legacy format filter rules

7 years agoforce-request counters on load once if bw_limit option is enabled (because there...
Andrew Dolgov [Sat, 12 Aug 2017 04:51:37 +0000 (07:51 +0300)]
force-request counters on load once if bw_limit option is enabled (because there's no timeout())

7 years agouse mysqli_set_charset() to set MYSQL_CHARSET
Andrew Dolgov [Wed, 9 Aug 2017 05:05:52 +0000 (08:05 +0300)]
use mysqli_set_charset() to set MYSQL_CHARSET

7 years agorssutils: include comment count when calculating article hash
Andrew Dolgov [Sun, 6 Aug 2017 17:20:39 +0000 (20:20 +0300)]
rssutils: include comment count when calculating article hash

7 years agoMerge branch 'labels_context_menu' of wn/tt-rss into master
fox [Wed, 2 Aug 2017 05:01:00 +0000 (05:01 +0000)]
Merge branch 'labels_context_menu' of wn/tt-rss into master

7 years agoDon't display label context menu items if there are no labels.
wn_ [Tue, 1 Aug 2017 23:15:16 +0000 (18:15 -0500)]
Don't display label context menu items if there are no labels.

Caused by: 5e78b0c253d56d85b0339636c8793f93c835b792
See: https://discourse.tt-rss.org/t/label-options-sometimes-not-showing-in-context-menu/366

7 years agorequest counters less times during startup, delay initial request in feedlist_init...
Andrew Dolgov [Sun, 30 Jul 2017 18:53:11 +0000 (21:53 +0300)]
request counters less times during startup, delay initial request in feedlist_init() a bit

7 years agoget_all_labels: order by caption
Andrew Dolgov [Sun, 30 Jul 2017 12:25:49 +0000 (15:25 +0300)]
get_all_labels: order by caption

7 years agodo not base headlines label context submenu on feed tree labels category
Andrew Dolgov [Sun, 30 Jul 2017 08:55:30 +0000 (11:55 +0300)]
do not base headlines label context submenu on feed tree labels category

7 years agoupdate previous
Andrew Dolgov [Thu, 27 Jul 2017 05:24:13 +0000 (08:24 +0300)]
update previous

7 years agofeed tree: do not set fixed item height
Andrew Dolgov [Thu, 27 Jul 2017 05:21:03 +0000 (08:21 +0300)]
feed tree: do not set fixed item height

7 years agoupdate description for LOG_DESTINATION
Andrew Dolgov [Mon, 17 Jul 2017 18:06:53 +0000 (21:06 +0300)]
update description for LOG_DESTINATION

7 years agosessions: use is_server_https() for secure cookie setting
Andrew Dolgov [Mon, 17 Jul 2017 04:33:43 +0000 (07:33 +0300)]
sessions: use is_server_https() for secure cookie setting

7 years agoMerge branch 'master' of KKozlowski/tt-rss into master
fox [Mon, 17 Jul 2017 04:31:14 +0000 (04:31 +0000)]
Merge branch 'master' of KKozlowski/tt-rss into master

7 years ago$_SERVER['HTTPS'] can be exists and 'off' for non-https connectios
Natan Frei [Sun, 16 Jul 2017 21:44:48 +0000 (00:44 +0300)]
$_SERVER['HTTPS'] can be exists and 'off' for non-https connectios

7 years agoupdate CONTRIBUTING.md
Andrew Dolgov [Sun, 16 Jul 2017 17:41:05 +0000 (20:41 +0300)]
update CONTRIBUTING.md

7 years agorework previous 32 bit session stuff
Andrew Dolgov [Thu, 13 Jul 2017 11:40:30 +0000 (14:40 +0300)]
rework previous 32 bit session stuff

7 years agoMerge branch 'master' of git.fakecake.org:tt-rss
Andrew Dolgov [Thu, 13 Jul 2017 05:57:31 +0000 (08:57 +0300)]
Merge branch 'master' of git.fakecake.org:tt-rss

7 years agosessions: clip max expiry value to a 32bit integer
Andrew Dolgov [Thu, 13 Jul 2017 05:57:07 +0000 (08:57 +0300)]
sessions: clip max expiry value to a 32bit integer

7 years agoMerge branch 'translation_pt-BR' of ekalin/tt-rss into master
fox [Tue, 11 Jul 2017 04:18:11 +0000 (04:18 +0000)]
Merge branch 'translation_pt-BR' of ekalin/tt-rss into master

7 years agoUpdated pt_BR translation.
Eduardo M KALINOWSKI [Mon, 10 Jul 2017 21:38:11 +0000 (18:38 -0300)]
Updated pt_BR translation.

7 years agohopefully unify handling of server HTTPS variables where needed, use scheme based...
Andrew Dolgov [Mon, 10 Jul 2017 13:20:40 +0000 (16:20 +0300)]
hopefully unify handling of server HTTPS variables where needed, use scheme based on SELF_URL_PATH otherwise

7 years agoMerge branch 'x_forwarded_proto' of yastupin/tt-rss into master
fox [Mon, 10 Jul 2017 12:38:08 +0000 (12:38 +0000)]
Merge branch 'x_forwarded_proto' of yastupin/tt-rss into master

7 years agosanity: check X-Forwarded-Proto for self_url
Cédric Barboiron [Mon, 10 Jul 2017 12:00:56 +0000 (14:00 +0200)]
sanity: check X-Forwarded-Proto for self_url

7 years agofilters dialog: do not break markup on long feed names
Andrew Dolgov [Sun, 9 Jul 2017 13:39:25 +0000 (16:39 +0300)]
filters dialog: do not break markup on long feed names

7 years agoreplace some usages of SELF_URL_PATH with get_self_url_prefix()
Andrew Dolgov [Thu, 6 Jul 2017 20:01:44 +0000 (23:01 +0300)]
replace some usages of SELF_URL_PATH with get_self_url_prefix()

7 years agoself url path checking: accept value without an ending slash
Andrew Dolgov [Thu, 6 Jul 2017 19:51:56 +0000 (22:51 +0300)]
self url path checking: accept value without an ending slash

7 years agosanity: it's probably a good idea to check whether we're running under httpd before...
Andrew Dolgov [Wed, 5 Jul 2017 19:46:05 +0000 (22:46 +0300)]
sanity: it's probably a good idea to check whether we're running under httpd before enforcing SELF_URL_PATH checks

7 years agoprevious: spaces -> tabs
Andrew Dolgov [Wed, 5 Jul 2017 19:07:41 +0000 (22:07 +0300)]
previous: spaces -> tabs

7 years agosanity: check whether SELF_URL_PATH conforms to data returned by httpd
Andrew Dolgov [Wed, 5 Jul 2017 19:00:31 +0000 (22:00 +0300)]
sanity: check whether SELF_URL_PATH conforms to data returned by httpd

7 years agoupdate contributing.md
Andrew Dolgov [Wed, 5 Jul 2017 15:51:24 +0000 (18:51 +0300)]
update contributing.md

7 years agoMerge branch 'german-translation' into 'master'
Andrew Dolgov [Tue, 4 Jul 2017 20:10:12 +0000 (23:10 +0300)]
Merge branch 'german-translation' into 'master'

Update german translation

See merge request !60

7 years agoUpdate german translation
Heiko Adams [Tue, 4 Jul 2017 16:54:07 +0000 (18:54 +0200)]
Update german translation

7 years agoUpdate CONTRIBUTING.md
Andrew Dolgov [Tue, 4 Jul 2017 13:48:58 +0000 (16:48 +0300)]
Update CONTRIBUTING.md

7 years agoUpdate CONTRIBUTING.md
Andrew Dolgov [Tue, 4 Jul 2017 13:46:13 +0000 (16:46 +0300)]
Update CONTRIBUTING.md

7 years agorebase translations
Andrew Dolgov [Tue, 4 Jul 2017 13:30:59 +0000 (16:30 +0300)]
rebase translations

7 years agoremove obsolete forum plugin links
Andrew Dolgov [Tue, 4 Jul 2017 13:28:45 +0000 (16:28 +0300)]
remove obsolete forum plugin links
mention how to enable system plugins in the UI

7 years agocontrols: disable print_feed_select (unused)
Andrew Dolgov [Sun, 2 Jul 2017 19:57:06 +0000 (22:57 +0300)]
controls: disable print_feed_select (unused)

7 years agofilters: when adding rule select all feeds by default
Andrew Dolgov [Sun, 2 Jul 2017 19:55:36 +0000 (22:55 +0300)]
filters: when adding rule select all feeds by default

7 years agoquickAddFeed: fix legacy feed_id type being passed to newrule
Andrew Dolgov [Sun, 2 Jul 2017 19:50:44 +0000 (22:50 +0300)]
quickAddFeed: fix legacy feed_id type being passed to newrule

7 years agoschema: updates for new filter format (bump version to 131)
Andrew Dolgov [Sun, 2 Jul 2017 17:59:24 +0000 (20:59 +0300)]
schema: updates for new filter format (bump version to 131)

7 years agodbupdater: fail if version file missing
Andrew Dolgov [Sun, 2 Jul 2017 17:53:07 +0000 (20:53 +0300)]
dbupdater: fail if version file missing

7 years agoRevert "Revert "filters: support matching on multiple feeds/categories""
Andrew Dolgov [Sun, 2 Jul 2017 17:37:52 +0000 (20:37 +0300)]
Revert "Revert "filters: support matching on multiple feeds/categories""

This reverts commit f5d174bda96ddc41aa3828bf372a2a3d99cc4460.

7 years agoRevert "filters: support matching on multiple feeds/categories"
Andrew Dolgov [Sun, 2 Jul 2017 17:37:01 +0000 (20:37 +0300)]
Revert "filters: support matching on multiple feeds/categories"

This reverts commit 0bf7e007bb3a7039ea11601c7f93c6da33604228.

7 years agoMerge branch 'master' of git.fakecake.org:tt-rss
Andrew Dolgov [Sun, 2 Jul 2017 17:27:31 +0000 (20:27 +0300)]
Merge branch 'master' of git.fakecake.org:tt-rss

7 years agofilters: support matching on multiple feeds/categories
Andrew Dolgov [Sun, 2 Jul 2017 17:27:21 +0000 (20:27 +0300)]
filters: support matching on multiple feeds/categories
opml: update filter export/import for new format

7 years agoprefs: reload after OPML import
Andrew Dolgov [Sun, 2 Jul 2017 17:26:18 +0000 (20:26 +0300)]
prefs: reload after OPML import

7 years agopref/feeds: start user category ordering from 1
Andrew Dolgov [Mon, 26 Jun 2017 13:29:57 +0000 (16:29 +0300)]
pref/feeds: start user category ordering from 1
api, getFeeds: send subcategory order_id

7 years agocss: remove dejavu sans
Andrew Dolgov [Sat, 24 Jun 2017 11:33:29 +0000 (14:33 +0300)]
css: remove dejavu sans

7 years agodb prefs: ignore cache when preference requested for specified UID (in case cached...
Andrew Dolgov [Sat, 24 Jun 2017 11:29:07 +0000 (14:29 +0300)]
db prefs: ignore cache when preference requested for specified UID (in case cached value of a different profile is stored)
prefs: show (and set) enabled plugins for default profile only

7 years agoupdate_daemon_common: do not escape feed_url twice, remove some comments and stuff
Andrew Dolgov [Tue, 13 Jun 2017 17:09:33 +0000 (20:09 +0300)]
update_daemon_common: do not escape feed_url twice, remove some comments and stuff

7 years agoaf_comics: add .gitignore
Andrew Dolgov [Mon, 5 Jun 2017 10:10:02 +0000 (13:10 +0300)]
af_comics: add .gitignore

7 years agoaf_comics updates:
Andrew Dolgov [Mon, 5 Jun 2017 09:53:06 +0000 (12:53 +0300)]
af_comics updates:

1. move preferences to Feeds tab
2. update CAD comic with support for sillies
3. add support for loading updated/third-party filters from filters.local (would override bundled filters)

7 years agofix dilbert plugin not working because of changed GUIDs or w/e
Andrew Dolgov [Mon, 5 Jun 2017 07:28:59 +0000 (10:28 +0300)]
fix dilbert plugin not working because of changed GUIDs or w/e

7 years agoMerge branch 'dilbert-comic-plugin' into 'master'
Andrew Dolgov [Sun, 4 Jun 2017 18:10:06 +0000 (21:10 +0300)]
Merge branch 'dilbert-comic-plugin' into 'master'

af_comics_dilbert: More details (title, tags, transcript)

See merge request !56

7 years agoaf_comics_dilbert: More details (title, tags, transcript)
aeritir [Sun, 4 Jun 2017 17:55:04 +0000 (19:55 +0200)]
af_comics_dilbert: More details (title, tags, transcript)

7 years agotunables:
Andrew Dolgov [Mon, 29 May 2017 20:14:42 +0000 (23:14 +0300)]
tunables:
* add CACHE_MAX_DAYS as a tunable generic expiry interval for various cached files
* add some comments to tunables in functions.php
* rename _MIN_CACHE_FILE_SIZE to MIN_CACHE_FILE_SIZE
* respect MIN_CACHE_FILE_SIZE setting in a few more places where content is cached

7 years agoMerge branch 'autoload_replacement' into 'master'
Andrew Dolgov [Sun, 28 May 2017 16:46:06 +0000 (19:46 +0300)]
Merge branch 'autoload_replacement' into 'master'

Replace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.

See merge request !54

7 years agoMerge branch 'PrefFeedTree_no_favicon' into 'master'
Andrew Dolgov [Sun, 28 May 2017 09:11:43 +0000 (12:11 +0300)]
Merge branch 'PrefFeedTree_no_favicon' into 'master'

Show a blank icon in PrefFeedTree if there is no favicon for a feed.

See merge request !55

7 years agoShow a blank icon in PrefFeedTree if there is no favicon for a feed.
wn_ [Sat, 27 May 2017 17:25:59 +0000 (12:25 -0500)]
Show a blank icon in PrefFeedTree if there is no favicon for a feed.

Duplicates behavior of FeedTree.
Prevents a broken request to 'false' if a feed doesn't have a favicon.

7 years agoReplace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.
wn_ [Sat, 27 May 2017 15:52:16 +0000 (10:52 -0500)]
Replace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.

http://php.net/manual/en/function.autoload.php
http://php.net/spl_autoload_register
https://wiki.php.net/rfc/deprecations_php_7_2

7 years agoadd HOOK_FORMAT_ARTICLE & HOOK_FORMAT_ARTICLE_CDM
Andrew Dolgov [Fri, 26 May 2017 20:22:00 +0000 (23:22 +0300)]
add HOOK_FORMAT_ARTICLE & HOOK_FORMAT_ARTICLE_CDM
Feeds::format_headlines_list: add some comments for cdm article closing tags

7 years agoclasses/Plugin: remove dbh & host fields; set init() and about() as abstract methods.
Andrew Dolgov [Tue, 23 May 2017 18:16:30 +0000 (21:16 +0300)]
classes/Plugin: remove dbh & host fields; set init() and about() as abstract methods.

7 years agoaf_zz_imgproxy: add optional no-cache mode
Andrew Dolgov [Thu, 18 May 2017 09:56:45 +0000 (12:56 +0300)]
af_zz_imgproxy: add optional no-cache mode

7 years agomove af_zz_imgsetsizes to attic repo
Andrew Dolgov [Tue, 16 May 2017 08:42:24 +0000 (11:42 +0300)]
move af_zz_imgsetsizes to attic repo

7 years agomove instances plugin to attic repo
Andrew Dolgov [Tue, 16 May 2017 08:40:09 +0000 (11:40 +0300)]
move instances plugin to attic repo

7 years agoremove pubsubhubbub: dead
Andrew Dolgov [Tue, 16 May 2017 07:41:20 +0000 (10:41 +0300)]
remove pubsubhubbub: dead

7 years agofeedtree.selectFeed: focus headlines-frame after selection
Andrew Dolgov [Fri, 12 May 2017 05:05:35 +0000 (08:05 +0300)]
feedtree.selectFeed: focus headlines-frame after selection

7 years agoshare function: remove tt-rss prefix from page title
Andrew Dolgov [Thu, 11 May 2017 06:56:51 +0000 (09:56 +0300)]
share function: remove tt-rss prefix from page title

7 years agomove add_feed_url() to pref_feeds
Andrew Dolgov [Thu, 11 May 2017 06:07:49 +0000 (09:07 +0300)]
move add_feed_url() to pref_feeds

7 years agonotify msg: reduce padding
Andrew Dolgov [Sat, 6 May 2017 07:56:10 +0000 (10:56 +0300)]
notify msg: reduce padding

7 years agofix DAEMON_SLEEP_INTERVAL not being defined when used
Andrew Dolgov [Sat, 6 May 2017 07:54:14 +0000 (10:54 +0300)]
fix DAEMON_SLEEP_INTERVAL not being defined when used
enforce minimum 60 sec spawn/sleep interval in update processes

7 years agowrap rssfuncs into rssutils class
Andrew Dolgov [Fri, 5 May 2017 15:10:07 +0000 (18:10 +0300)]
wrap rssfuncs into rssutils class

7 years agomove counter stuff to a separate class
Andrew Dolgov [Fri, 5 May 2017 08:54:31 +0000 (11:54 +0300)]
move counter stuff to a separate class

7 years agohotkey_handler: one more tiny tweak
Andrew Dolgov [Fri, 5 May 2017 08:46:16 +0000 (11:46 +0300)]
hotkey_handler: one more tiny tweak

7 years agoCI: set all tests to manual because of gitlab flakiness
Andrew Dolgov [Fri, 5 May 2017 08:42:02 +0000 (11:42 +0300)]
CI: set all tests to manual because of gitlab flakiness

7 years agohotkey_handler: cleanup things a bit
Andrew Dolgov [Fri, 5 May 2017 08:41:49 +0000 (11:41 +0300)]
hotkey_handler: cleanup things a bit

7 years agohotkey_handler: return true on prefix handled
Andrew Dolgov [Fri, 5 May 2017 08:33:43 +0000 (11:33 +0300)]
hotkey_handler: return true on prefix handled

7 years agofeedtree, selectFeed: focus selected node
Andrew Dolgov [Fri, 5 May 2017 07:35:10 +0000 (10:35 +0300)]
feedtree, selectFeed: focus selected node

7 years agoadd sanity check for SELF_URL_PATH going to http url if server is accessed over https
Andrew Dolgov [Fri, 5 May 2017 07:16:54 +0000 (10:16 +0300)]
add sanity check for SELF_URL_PATH going to http url if server is accessed over https

7 years agohotkey_handler: stop propagation of handled prefix/action events
Andrew Dolgov [Fri, 5 May 2017 07:01:33 +0000 (10:01 +0300)]
hotkey_handler: stop propagation of handled prefix/action events

7 years agofeeditem_common: add get_element()
Andrew Dolgov [Fri, 5 May 2017 06:21:10 +0000 (09:21 +0300)]
feeditem_common: add get_element()

7 years agomove label stuff to Labels class
Andrew Dolgov [Thu, 4 May 2017 12:57:40 +0000 (15:57 +0300)]
move label stuff to Labels class
fix some unresolved functions

7 years agomove digest stuff to Digest class
Andrew Dolgov [Thu, 4 May 2017 12:41:38 +0000 (15:41 +0300)]
move digest stuff to Digest class

7 years agomove some label stuff to labels.php
Andrew Dolgov [Thu, 4 May 2017 12:36:36 +0000 (15:36 +0300)]
move some label stuff to labels.php
move getfeedcategory() to Feeds

7 years agoabs_to_rel_path: removed
Andrew Dolgov [Thu, 4 May 2017 12:28:21 +0000 (15:28 +0300)]
abs_to_rel_path: removed

7 years agomove get_article_labels to Article
Andrew Dolgov [Thu, 4 May 2017 12:26:21 +0000 (15:26 +0300)]
move get_article_labels to Article

7 years agomove counter cache to a separate class
Andrew Dolgov [Thu, 4 May 2017 12:22:57 +0000 (15:22 +0300)]
move counter cache to a separate class
fix references to get_article_tags

7 years agomove a bunch of functions into Feeds/Article namespaces
Andrew Dolgov [Thu, 4 May 2017 12:13:02 +0000 (15:13 +0300)]
move a bunch of functions into Feeds/Article namespaces

+       static function catchupArticlesById($ids, $cmode, $owner_uid = false) {
+       static function getLastArticleId() {
+       static function queryFeedHeadlines($params) {
+       static function getParentCategories($cat, $owner_uid) {
+       static function getChildCategories($cat, $owner_uid) {

move the rest of functions2.php back to functions.php as it is of more manageable size, remove the former

7 years agomove to Article:
Andrew Dolgov [Thu, 4 May 2017 12:00:21 +0000 (15:00 +0300)]
move to Article:

+       static function purge_orphans($do_output = false) {

move to Feeds

+       static function getGlobalUnread($user_id = false) {
+       static function getCategoryTitle($cat_id) {
+       static function getLabelUnread($label_id, $owner_uid = false) {

7 years agomove the following to Feeds:
Andrew Dolgov [Thu, 4 May 2017 11:50:56 +0000 (14:50 +0300)]
move the following to Feeds:

+       static function catchup_feed($feed, $cat_view, $owner_uid = false, $mode = 'all', $search = false) {
+       static function getFeedArticles($feed, $is_cat = false, $unread_only = false,
+       static function subscribe_to_feed($url, $cat_id = 0,
+       static function getFeedIcon($id) {
+       static function getFeedTitle($id, $cat = false) {
+       static function getCategoryUnread($cat, $owner_uid = false) {
+       static function getCategoryChildrenUnread($cat, $owner_uid = false) {

7 years agomove the following to Article:
Andrew Dolgov [Thu, 4 May 2017 11:38:45 +0000 (14:38 +0300)]
move the following to Article:

+       static function format_article_enclosures($id, $always_display_enclosures,
+       static function format_article($id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false) {
+       static function get_article_tags($id, $owner_uid = 0, $tag_cache = false) {
+       static function format_tags_string($tags) {
+       static function format_article_labels($labels) {
+       static function format_article_note($id, $note, $allow_edit = true) {
+       static function get_article_enclosures($id) {

7 years agomove getArticleFeed to Article
Andrew Dolgov [Thu, 4 May 2017 11:26:44 +0000 (14:26 +0300)]
move getArticleFeed to Article
move print_label_select to controls