From 354700fcbbbf47f22e362d4163bbb5120b8d7f1a Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Sat, 24 Sep 2016 11:22:33 -0700 Subject: [PATCH 001/400] Show changelog on update --- data/interfaces/default/index.html | 34 +++++++++++++++++++++++++++ data/interfaces/default/settings.html | 19 ++++++++++++--- plexpy/config.py | 1 + plexpy/versioncheck.py | 15 +++++++++--- plexpy/webserve.py | 15 +++++++++++- 5 files changed, 77 insertions(+), 7 deletions(-) diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index d7a597b8..8d8a51e8 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -67,6 +67,23 @@ % endif % endfor +% if _session['user_group'] == 'admin' and config['update_show_changelog']: + +% endif <%def name="javascriptIncludes()"> @@ -411,4 +428,21 @@ }); % endif +% if _session['user_group'] == 'admin' and config['update_show_changelog']: + +% endif \ No newline at end of file diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index a48d34c1..85057c94 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -4,7 +4,7 @@ import sys import plexpy - from plexpy import common, notifiers, versioncheck + from plexpy import common, notifiers from plexpy.helpers import anon_url available_notification_agents = sorted(notifiers.available_notification_agents(), key=lambda k: k['name']) @@ -56,7 +56,7 @@
% if common.VERSION_NUMBER:
-

Version ${common.VERSION_NUMBER} Changelog

+

Version ${common.VERSION_NUMBER} Changelog

% endif
@@ -2105,9 +2105,9 @@
@@ -2270,6 +2270,19 @@ $(document).ready(function() { getConfigurationTable(); getSchedulerTable(); + $('#changelog-modal-link').on('click', function (e) { + e.preventDefault(); + $.ajax({ + url: 'get_changelog', + cache: false, + async: true, + complete: function(xhr, status) { + $("#changelog-modal .modal-body").html(xhr.responseText); + $('#changelog-modal').modal(); + } + }); + }); + $("#backup_config").click(function () { var msg = 'Are you sure you want to create a backup of the PlexPy config?'; var url = 'backup_config'; diff --git a/plexpy/config.py b/plexpy/config.py index 543cb2dc..7330ea1d 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -562,6 +562,7 @@ _CONFIG_DEFINITIONS = { 'TWITTER_ON_NEWDEVICE': (int, 'Twitter', 0), 'UPDATE_DB_INTERVAL': (int, 'General', 24), 'UPDATE_SECTION_IDS': (int, 'General', 1), + 'UPDATE_SHOW_CHANGELOG': (int, 'General', 1), 'UPDATE_LABELS': (int, 'General', 1), 'VERIFY_SSL_CERT': (bool_int, 'Advanced', 1), 'VIDEO_LOGGING_ENABLE': (int, 'Monitoring', 1), diff --git a/plexpy/versioncheck.py b/plexpy/versioncheck.py index 30130b96..65f1cbbd 100644 --- a/plexpy/versioncheck.py +++ b/plexpy/versioncheck.py @@ -246,7 +246,7 @@ def update(): ) return -def read_changelog(): +def read_changelog(latest_only=False): changelog_file = os.path.join(plexpy.PROG_DIR, 'CHANGELOG.md') @@ -260,11 +260,20 @@ def read_changelog(): output = '' lines = logfile.readlines() previous_line = '' + latest_version_found = False + for line in lines: if line[:2] == '# ': - output += '

' + line[2:] + '

' + #output += '

' + line[2:] + '

' + pass elif line[:3] == '## ': - output += '

' + line[3:] + '

' + if latest_version_found: + break + elif latest_only: + output += '

PlexPy ' + line[3:] + '

' + latest_version_found = True + else: + output += '

' + line[3:] + '

' elif line[:2] == '* ' and previous_line.strip() == '': output += ' @@ -171,6 +178,13 @@

Set a custom body.

+
+
+
+ +
+
+
@@ -335,6 +349,28 @@ }) % endif + $('.notifier-text-preview').click(function () { + var action = $(this).data('action'); + var subject = $('#' + action + '_subject').val(); + var body = $('#' + action + '_body').val(); + + $.ajax({ + url: 'get_notify_text_preview', + data: { + notify_action: action, + subject: subject, + body: body, + agent_id: "${notifier['agent_id']}", + agent_name: "${notifier['agent_name']}" + }, + cache: false, + async: true, + complete: function (xhr, status) { + $("#notifier-text-preview-modal").html(xhr.responseText).modal('show'); + } + }); + }); + $('#test_notifier').click(function () { doAjaxCall('set_notifier_config', $(this), 'tabs', true, false, sendTestNotification); }); diff --git a/data/interfaces/default/notifier_text_preview.html b/data/interfaces/default/notifier_text_preview.html new file mode 100644 index 00000000..31f944fb --- /dev/null +++ b/data/interfaces/default/notifier_text_preview.html @@ -0,0 +1,23 @@ +% if text: + +% endif \ No newline at end of file diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 0626b92f..40e7c057 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -1925,6 +1925,8 @@ + -
- -
-
-
- - - - +
+
+ +
+
+
+ + + + +
+
+
+

Current API key: ${config['api_key']}

+
+
+ +
+
+
+ +
-

Current API key: ${config['api_key']}

@@ -1969,6 +1981,33 @@
+
@@ -1976,6 +2015,7 @@ + diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 1f104639..244e5059 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -4607,3 +4607,30 @@ class WebInterface(object): """ whois_info = helpers.whois_lookup(ip_address) return whois_info + + @cherrypy.expose + @cherrypy.tools.json_out() + @requireAuth() + def get_plexpy_url(self, **kwargs): + if plexpy.CONFIG.ENABLE_HTTPS: + scheme = 'https' + else: + scheme = 'http' + + if plexpy.CONFIG.HTTP_HOST == '0.0.0.0': + import socket + hostname = socket.gethostbyname(socket.gethostname()) + else: + hostname = plexpy.CONFIG.HTTP_HOST + + if plexpy.CONFIG.HTTP_PORT not in (80, 443): + port = ':' + str(plexpy.CONFIG.HTTP_PORT) + else: + port = '' + + if plexpy.CONFIG.HTTP_ROOT: + root = '/' + plexpy.CONFIG.HTTP_ROOT.strip('/') + else: + root = '' + + return scheme + '://' + hostname + port + root \ No newline at end of file From 66191d2ff9f140d90858f1102ea552202a5a6c99 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Thu, 17 Nov 2016 23:37:33 -0800 Subject: [PATCH 108/400] Put QR code in pre block --- data/interfaces/default/settings.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index 6ce8a6bc..a9b37ddb 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -1997,8 +1997,7 @@ Step 4: Curabitur at diam quis nulla pellentesque ultrices eu vitae eros.

-
-
+

                     
                     

                 

From 03eec610fa8386d09b5c50fcb55acc392e4ff88c Mon Sep 17 00:00:00 2001
From: JonnyWong16 
Date: Fri, 18 Nov 2016 22:39:44 -0800
Subject: [PATCH 109/400] Add separate settings tab for PlexPy Remote App

---
 data/interfaces/default/css/plexpy.css        |  12 ++
 .../default/images/en-play-badge.png          | Bin 0 -> 20598 bytes
 data/interfaces/default/settings.html         | 115 ++++++++++++------
 3 files changed, 87 insertions(+), 40 deletions(-)
 create mode 100644 data/interfaces/default/images/en-play-badge.png

diff --git a/data/interfaces/default/css/plexpy.css b/data/interfaces/default/css/plexpy.css
index 384c8f75..49eb45aa 100644
--- a/data/interfaces/default/css/plexpy.css
+++ b/data/interfaces/default/css/plexpy.css
@@ -3160,4 +3160,16 @@ a:hover .overlay-refresh-image:hover {
 }
 #changelog-modal ul {
     padding-left: 20px;
+}
+.google-play-badge {
+    display:inline-block;
+    height:45px;
+    margin-top: 10px;
+}
+.google-play-badge img {
+    border: 1px solid #3B3B3B;
+    border-radius: 6px;
+    box-sizing: border-box;
+    height: 45px;
+    vertical-align: middle;
 }
\ No newline at end of file
diff --git a/data/interfaces/default/images/en-play-badge.png b/data/interfaces/default/images/en-play-badge.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c317c05cdf8dccc6661ae3a0b2ab96f84ad3bdc
GIT binary patch
literal 20598
zcmYIvWmsHG(`|51fWdumch}$!!8N!BcXxM(!Ciy9ySoJs5L|-?hi`JudGGzfu%DjY
z-PP4qtEyJ_M0`<@L_x$u{P5ueinNrN@`n#lEa2yBcv$eK52P#{_#cA3l$O(n4~%4g
z{~+9pg&81Tt
zor!fyMg7~7YNmNqmK=-plUL0zn+M9Z|GqV^)^FC;QgzihytEO8qu42T@2jhU#e~5K
z9soSbm)S~sq>OIe2psuN`W+wAe_NrCn4;2Cq{GuSNlOSgn-h0J{u`_a)Hc09LZ?G&
z#19b^U&qm3%kr-*;kcPyHgz^={(&Lx=_fX*OsCWa{|E^W#G1TnuF9#_w7xMTQYu=3&%E7A4$t@hudQg3
z(=Ky8I^Gfl5QPx^cl@yrMU~dH8lRi7S@sEV5OMyMM@n6!#PD%ngb)G>rZERH^k4ZC
zfl>Sn_46`=$(X3$C6E>@eY(kk_P
z^wg_$aVKUs8ZA|JmYt?JmN8HaK9J$&vdDw`s%#`$2jzv!6=nw(K%A$#3JvgJ(QC$g
z2t|Dx=KU0KkINSKLKlG_BTB>PvaQ9Rc3{>ji}PJuTEE$7)cbjD(R=A2|1tLDYGX0rcUm$#gcddnF$Dl}|kI
zv@K#3FUG@ok9aqSGoO5f%qFh%&Ww}HXScTWc}f|cJgzRLGP$^ZaQ3+h>#!$B8!SK@G{`^$!{W9pB8Xh1e-H_WSi@v{a
zDG?slB#*;s^j{av>}b?Pl2Imj*=mVu=(kicMrcR$_{?}!Ur0-#csM{RK^$1Y31UK`
zztLhtyfaA3G(+F4AsxS|S81!=@Ln5fW(9&*j|$!+R`N=MDpvX=3<7Q}7`gkvqKDdV
zZc@{V^%nlxS?E5RaEF`>UC|dGHUa!tSUV7cz`%34Aj5#iWr51NZ`{AuLYzN
zYdg_`JxmjvLb?gm%O^S0U;-)J`Gdz;UK0OxMcjaKSz*wmVj|__DMXEgdNAh4@T7QR
zEJ0YsB>8F-U~v4j5oD%+{F1?G2m(N?q_@^)xHX&2JT`gBlO66yE$C*!vo1?QoHa?1
z&^!ja$rZUG>9`j^sAn!o`X9B$N7vmAT5q(n{AuH|Ug=%6p2zwOPd2At(^|3=Ygixz
z40dKhrXnj6Z*;^;r^`!neaf*v|BKvUmG43083eP#Eysdk3O)FjNpNGh>t$$OeM(h6
z$dnP51}*h)k%l7TSBx-x36c8W@rGFcQB|;siSC-GQ9QHVc)jUFr4U!rO-DoSYP=by
zV3Vs{EmNUizeX=Tds`iFAVX_o;!2^)L^^MUx*7ifIB<_e%Jf0$r
zR5TfDmVqs(9SQ8Ui4gErCl?p@U9h`!5sqV=p%kKByh&v+R1M6R4j%;;k@9A!x`>oD
z6NUZ}9c*(_ks>9yLG&oQtnk=tCPEVhxxh)fm{Xk&SDUHR%i-D+qJJz#1f7yz*mtf#
zy!?Q^w`_pkg)Nlvc*8eTTz291DgRR;lR41nL*ipljyzb=V5R&WIj}cRw5i4{db$Xn
z?WA^=LWB20ciS|IRx&HKl(h0wVNEH8(X8J9R{P#RwgwInV^XRlSG*{|pmaAJ7ek{+
zXMLfdQqmaZL2k+?d$wGl<*&iNCS26v&<1wXpUsvFlw8O&4>D&24Q5l0&reU^rt4fz
zm)b9o0%z7DIj^BLr_8UScjTrCC6q_T>jebrGCYNJzyN>5lhHO!zGemv3bt&G6~s

ySmN{^Rfs)E)*o+I0}L)m|qwop?YkDnY-m*(rinm#53rDYrRR2=s?> zuJy`HF|a(Zf1SYCz+D{IgPA#D!5}FZr4S=@zuo0j1O_=;fb!Pu(W3*Fxt_irEMOV?EaL^XG1eKUHbrp9;|n zsI9XSGUUd!0Wo!qg(o7}R&W2o{*K^}e+S3rCc zss?97Qf_^JVO6^kSV}_gMnRtjB2+R2r}1!ffgz5%T7}kCU?+5nx4abIEAqtYEs0_A6Ayrz@gPF3fXxzZHL}Z9Ih3#DiEtWvBTc4CBqWt6)&eMf#`%QT z~T& zbxHW#5sy{<%Q2O05)@Q5w}RT?SLbrNnQkeLBs!RjIF)IB6-wlo@u2rQ1z+CPnQ9s7mr@QPkkYi#acAF5Jjb1=1=xknoyHZ;al8F0T zQ9=SNPSz%$VP|+`H|x(tuk*d^lG0ws2sp|A9fC$gF?u*k|HjNAhp&rTIWn_UmEeN7 zTII=OC!7pG6(J{BN?@zLIdk`hkAsh9KA(Q=rO~6r==-YXXmTNVyyfH{BlE91>SqCk zZ2X+s7>t;hD#J?ehc=3KOrv#BAq7+=BQy++3o3smqhsU76Y^D9_veqVg}R$XHk}qq zO~#`bjRwFu9ax}55)2l+paC+O@2a9>vIN$WZni?L_)t4MhWsD!;hQ z-x50PRZ5eZ=k7-S?xcC`xLqsbqb!vS+lRrPiRXFWS}#7#8mqsUqcX9!0L94vv#fAJ zWU2*+WF!e}h75b99atV_c)ru0g2J&xXXW8(JCqq^3G>}l5@CA}!Aj{jn?h-RPsc6$ zY8NjmoSgq^IQ7e*MP98V$b#lL!!cHl=a+t0_wE&u$AN+HO@H#6s=Z9UnZSPTLyg~F zBf$l3LW}-;&pz?RbF=Q#!E(dgzjYG}I56VPbnnon-}a}aG)7WtzZglVF(!>~J;&aT z7D?|q{^8lBu#*!;z_szKQt$13sFefpE4^)>aE;R)yyfsWnCB9BWu#30vnY5=$k3!? z?uVM~2Yv>HFRf+qY%Qv;ZPc!v%efoACHzi#rR2K0I_!EiJA8R787gwlym|VtRk7i?6em^}Z@$3C}5`Gb%i65iBoP zq;-3XF?QOE0a&Xqe5!RYnV;&$=PVtkag&OenJHWRY^ye2i*-Dl!daXSrx_5jtQSfZ z(|DW?aJu|%4yMF~8^Ft3@+oUenO&p|oij}55V8g$yXTVE**Xq!G{ z6-c$6VTxYAAW1@9m!35_e3zYTEkMANN0q;PbDs{Dc6_qWwbpD?Cwe%@?vy4+hsT6Z zgF(U?eR;f5;TZ`7Oo>y zCbu_g0-WZaMrJZICLZ5T?e-=v-a!ODPb7BQX@Oa(R@H4Kt@7!t#l^X%%hg{U!4(=N z3<|KwW1EK~0GM56^G-fGAP~Gvl!*XOQ*xgThH_Ap0NPE~yQ2$9vn;82)LWv?cM0## z>qH2Tz8i`D8w1*Rdx{fg&#nOJ5Vk!nfuy~+^@{|T+=mSQhD@W-o#MMMlc+|arx_?c z3YrC!W0kK-zIrE*p<0pn{H19OI%c;y9ybR{Vo4hjIH{T+mE*^sm{ME}2(D6;m$=-u zYs>FU2^bXQwk{H=W)gkEX6RGZe*wX|<=|p!29If|SU#5T5 zq{O{HOw?bJMVVe>q?-PAM&%3@^FkK%05BV@HCont-kt1x4l{xTn@2%z8a%}CjW;-1 z5@&*=^w<7HNLmyl@2V_Zg`gtYD5cd{hD}g)TMy7AQPJ0i9r4+VXfUavG7-b30~QR; ziOV`TOe$B)#kHtmPZ6XATtVP+JBe++bi0k36F-%79{boG3Y>i=fhR#GLA|Ed3(P}Y zOJ&fBZ14fkjTdD8Tp%7583>!C25KY)S264{`0C0$B--R8+PC5?KmEhYgZ*ig_H1+n zfDIS3xPnYb{iA^e#n&n?fmE&WCA;TNo-d8a3IqvmZv*;cJvOhOJYK!tKwJ%?pI308 z11vrE`2BGuf@MI%dH@kAuENeWRJPkma4=uM5T8?0hx2sT1X=VQ@M@c~lxFzrW3Y$J ztN#!x7TN~souvLXRtnt4Ut?H&TUfm1bQ*RgLk%WV$$TAOIW;CWnyu*>I2wu&61)IYx4b)J=hS z1QFG?r9QjMc`TBj3Fq4Kvq)l;&SBG z-TqN3m<+a1bIMnZN78TY4`@BL4&#V>`K8mTKf@^1lb$(dWa5Gk$HIxesXuCAa((Mj zy66#9oRrJt5beI4ox1L0dM9o(z#Ee5fX8uX=0ypXWL5;{PLlx|u*OhJ&}6~MpkB(^ zGV=Px>U-tqb`>nafI;7P2-$c2%bvY&BOXUB=CXay&$mdS-=?($Txh%}8L0kfykTuH z6ZpHaZvL+YkFB| z(5iro?W+?>988eeJjn0j=QSgIjB^P9|hx|23OoHz{V8!X*BQ?V=~M| zHWPk#yF$0ez*Ofk4>~h^n~ZkjXN+hVI?{J$9VrUtaJ} zS&?7$x=1@=Xp-f_z*xmE!!=Td?oKQLeq{W;Fhrs6G*h}|p=rk>)H&!P2QB6kzXt$? zH+qNx!F~wj?|g52etvZyT9n7EX927ONfLWD#O`60k9S;qF@BF>omUL7KoeAa={nc* zwVi&G%aY!k0OR$_#_0R)u2Iu~JgrvyeCy3lo>YIO9AYqb{@GrgB)|n{t`*5cvdpCv zGL6)RDh};O{o>~;)7c5(;>_71cOh_Y{Iaf|BH+a0$KY%D5EETbM>n+JU4}{nv0z^- z@+b|@X&{^FairCL)Td2qjqcwmo$n0j%piGL(qQBr)8S}b@wtRyWI|YZc(kkmvB@vJ z;0mSQVA4Pe_t+Ijp~MPjB)4Y=+PHcA-Swvdj@CoBEeU(&H5V7TNAb(eA>RxQA}Ebi za+rp2s3lWHz_Uvi$Nek&*AkzS6Tw|p%FdcS$Lv0*R=$150u$tiU`8$vlm>uiN~e)QmzObjKN^|h47Z* zGj6wp1Vx?CMmgYU@cha4rs;wK3^TOF%-v%hiK7zyv#llnP)c{(bg93Yy z8!F5WbVwGe4#txECw28fT8ee_H}P2nr)kSwcO2JKRaPcf^*zZArE+FHQkKloZ0?2< zs6htbq2(^MlA>JPue^v+x6SRaO&qw(RCBfznOcuMOl7$xU5#qA`>E%vx%LgWKQ8Erli`Weyb=Egy?q zA?ElKJj=olypnDUw5f#xra)X8ZA7zzA)1Q|=q^@MwR+2C43C}BJ-mD+3?Q(-xO8}8 z2b!q*yZwI48Ph{cNb=rgI!S_|>aQJ< zhT7ox%}Xq&c^smg5wZ)NAAW4K5vbF^UCgMB7ZzsOKZHR3z=g_CEFam%b>j3ev+D!9 zoFLz&5+x#mfI_bgm^7agk7CsHWS`s7VQ(O{?RT=t@^9_4+GRb8NH@L?ZPBN|_ifOA zv;Fa&Y+jeBMSj`;d2q$QXomj)j4$xgMC-MGPYT45S)>MQBC$%h7a6zbgDvI+7=EBn zeIv{`=|0h1x%mAxC*H%%Q7I4X>qn-?G`3CohOsKAb#s2O;<9nB`~q1he#CT<>4I7h zTko2`-M>|JUOe^Wfe;|rtT@MBCeoP9QYHB-sQF#ktEdI0d^yo731p69AP{1zz{*^L#gW)cR}&NrNa5Ku0}+NHcWuuo5^xR zR8Hc=gouPla5TWBdtB&eXaR*BPDoUy1Foy$xW^3R=#*VLlfLg1@%XxsOW{U?kGaM@ zU2xFqUO#g}E|_}6t^^vhx~`=DoYqzwZg2zw(W4;F|F6Xuz z9F_V7Xav+=w5nE7B;%n-P%RTskhW0Mf4KU66D4vGd6$ge`Prum0k0yvQ8ZWIi3R|NH&9XRnV?aYD%Z^x1J{_a}`RiIH4iP`XtWIH24I zvh+5S`|%-Qi_scnHKG|>5L;_r0`f>8uOk*EsEyhsdoZ$|M94!e68zmAL@3y-=79!B1X2Fo?%8@hoV5ts|wIh)3nDE2B&~ip1?c4F;*`zd%p>EHk>B5VT#t z08)fHT*RUffq*S5Ao16m`ZD7-U;#YjfigVE99EWy{53EPPAnE>v_tRJ(PKGlD~;)A zo3!9gM0)pvDB)JFwT#|QpDdGHvk2fG;nTapS<^?OTC@s(IDy}ae1eyEr(xGJ%ca#ECthV+ilO-+AL13))!SbR1OOm?{UtLH!|v|n$Iy*1^QxyANoy+O*KaS~ zAxPL}Cn)`HE)%H?>KEApUamTSs3LK4S@f!juz=eA!LrE~S4apWOz@;YM|gQp}{C+#YXOc89ZlA;oi=E0CQ68NA=U6mZlXxMkRJq zZ%;8jWEYPETWK>}-AaN@hE9@ExS3yAGb`8!H@JIygCTyHP};w}JaQPZ%@`u#EY8B! zrQ@LV`P4n+v`_O>Eml0QSrcXWX1C_H3VOfyLw^$p5|n{&MykloJI{C(JhCYjacAD0 zLcoaxc^YTN;7Ex~R_e4=C*^6U?M=DGofo@N#MdPxqIi~gyO3?*Fz%nCq zBfEMqUjwJ@v)hkkBAcw1v1-^9gY@R_F_*(vbzZ%~x4<>x(#tlU_80|oz&^N&oFZ6Q zl#=LJ4enfeW+X@JPl72q7qZ*zoD{;X{IlP>{PBWlGxOGI85Z8Q zG2!?I$!PGvBV*s)*4WOULN>K==$@l;!YLcHO@dZW6y2>J-HlVSs{;8{0D9Xk>l;xz z9dpmr5mZ=NV~cJ6BS)b)(xPZ7fZJ39Sh;`h$R&ICIMV_mX|(^iGpXH_71nQOfr z)>)}9H8Y%?4<&y~+tR~gj-^z0o>PXm#sso4I<_n3_#MQ1??YWAcUh&5tyi}<7CxcF z0vF)Mn{C#q4U}0O=c?fuq>M?1d_tA{oq9jlMo24+Q-{>mg2`)DXk`DssCbyH(jTYF z)W+n;&yiNa5Ub^FmPfhF+V;dr7|bUf{?7r={X^Kh0u6Fwg=y@Hkgz1?u(>0RJ~m|J z*4S;$9$0JeI2;hm)n5i54o$yB+iBQv{EkXANT3vpQc;Jp?PHQ~p4$O%L(D0oeMwm^ zgo$0dk1fq5izDJIrROEl9;PcOCY2&@EiMrXKB;)Fz64KNp?r*K8TIT z@|4IC^3d(Rc~2dMdVk`&4y7}97PG6z?bVW}AS@)3NST7#H1iJz1wfbsWN=2l^pYSI zvVZ?3!L9fm*~g^|)yfi2vNi2Us0zK<67i{MNEUSi`&JT*rtWl$bJ%WEB=DNj;P#Mx z7&^(Ey&5VhS}T06QjE#M96}TgFqnX+C_DCt@s$b;`ZyApl-kLtR|wehjStWY+nVk6 zSLZsLwp)e#tiFn}K#@jn2!}#1edj)>;Y*8F{{&u0%3F?>r{|UU(J?Z|AJJeu^n1i_ zy9uRW-Ss%P;a&;H8BU^ti}t6F@g&3yLJ{S&fx>x39+ssuno7yf-LLFGFVXtS^rTn{ zkBdXkyjicS2>l9`#FkAC-Qe!Jx>48}L)>}+rXu<-g2tRChVg@*LCx`XRe_PS?XEL@ z#o==ta*$yD?!Z?p9P8_1IGM}9fDFQmZL7sxaFj3ookvg0ecSbDof93{@z~`Ml5_m; ziyPyx97A0ULM8T#w@yWz`lR#G|&L*eIFW z1jKsT(U}xL?g*j3+unR6!Q}b1f2Y+nX8rS$>Gc(b-=eG0uyb#-gIdxW=g8+xT4RRs z4+;Y+5D-asm7ZilAAWtcoZ{VSy|it5uGp)3QfTy)&_(!)nEnJgtRB8cgMr)T$SG2( z_Bv0#H%Iw`cqp}?Vndh63tUX1NafgYREVbas0^0AvNMcQl{ouuMe3vfDqh;xU3_93 z+k+>c4Z|JO(;n-0o_3cLAApnYv+1zqo1#397N$zuG6G;;aE2hu_<&ZfA47lEG=3n_ z8Os$Dg-o30gb4FEsy~_Zsq-|(@qAoozl3kSFfsjD^gAXSDUNl0{H9%=b2M)2J1gi-ZjHHtG5LC;xck`OQR}7pfW9*_KbLiTs3h>Z zW&mtKBVeXa;5y~gdmH`xsZi3Vx6_vWj{7&t<=3%W;Bw>_fBqRzdL#~Vmd8i^FKP}3 zy+dfM=LWOiPgJGJ@r>gS)}&qYeqR5{?mbirB`Fs?-Qf?rX`GhSb;w^L_|_cVp$$h@ zeNT9whno;!&Lx<8{CJ5A>`u(7Y{ZnvR<;lNWgMBgd?5=B>UK!I(|%Oe!}g3FnF-m|-Fgp|W;d zC@OpKGt(PVe`jEP(A84Em>_$w-EIq6y=(L0utqsxE|id#IO)bosB49m zjO%zxA$KJkX6Q2iDA4t79e}>&A1L_e;CvmhpomT>D}U^ubeE}l6kxCo@(F6y?)N>% z9}r+@f?E>P+;-v%P-6gAba%Xy(zu`O|4?~8ZI)E(-5^3`Znt+RZkw$ex3YD90O1f= zd5;3v!uBgdT)rsUf2QVYE6+u zwrFg87Dxz;+!y;xG&YRE_1;vx@sWSR3z6?tIaQXoni?HZ$&zziEC~2?8p9 z(^Yd+xwvQtXv0z3cKpJr$PMO#WKBo425@0zC_+wcu|au{vU%jj|L)&OD>AwW4>D*?lS;}rR=(@y zt{!?O)m!ira;ne5$)%QkyE?u88S{w1!uA!#^YMB=T}YQXj}(_Lj-9Wpk2wZ#L)^^k zMFypW;@S+$Y1V8AoiRvGh2|J&48q}OM!d}7KDV;U8brxt>(ax~T@j**(_6d|nr16V zHy%ExLuEQzr+kHe-pwl6g7d!DPERsld-H&rLBj`HEC?M;Wn#~v&Iv{FK<5i^qX0ont_?I!tz}QBGKZ~b+(DLop zh{6O9_}0uJn;(Up*8ts00$;FM1&%mMcfIbNqIqsSj3W$KTv-%U}q}yn>4}rw5^|{0xO~s1_~k? z9_NA6;KR2i|AsCFc#bSGTlk==gbL`)@&u#P{rt;&WN*0dP2{oR2z`1#2Z28GD;Wz);>QDMWF( z&x2wSsq#iKB>9yrp5SnF*(C+SUMC08>HXCLIJ z33y59tUga+KT>@7C}9&rDPb+rE%#hw)2&Znf8IRA&WjQW!oyT~{qf@sDKfRlQ9A>T z0Zeq1kNH{FGF1=FA)>xaL#>PdUZdJI-u-1HLcTg%Ct*}veJ@Tbz*)Gv>$rVcr|V3m zGC+cW?bKqR!Xt~@ZaMw58qCDbx@`^1pM+k_`MPEn+Mp%+V>pjv%8C^nr%aeL{@Cp~ zQy8w~#TYPyZ&)r=R5oaf2C-vhWz#+^_D>we9m!I+`@aS6J(iuX)EN(5Q2!ZWqoK#3 zKac0jy!bR+%{_yedEftigT^$4#^?kw-M_VLZ+P!ZBRA|LQ*6(*mP5~VQ`b0v+3tNU z&g5t%{OoxSh)Ya(j|7vz`^)5R$=hK8i7*OP7%nb5b;ONmN?e0A8&jcT&#WaJ2cL}h zJXj*LuXwX*WwLUBIVK4(j|}o*$Fx4$iZSE4a$C3vppD7K;&w&1Dl9?~^S3OpBM8z| za|&`7!))V5A}EM+dv0fmLHZp1y-jYghyx&Ledl@{A~!;Tk6-gwYt~Q@_MnA+d`Q zHSV@inlG+#lY;DnRTGlZ(iwhToN;YUFyUsz%CbY#D?z%?7T|g*^LKUUPU;M+x3lJ- zEsxKP?N1^!a`X>zg-F;4@DXJ`S!J(y=ewLu3X`p;<5z%z>!u3<+V9f=)`#hC401d`_zv0|P{SczF~Rcf)#_4Kbl1CO`s(Ea?FPyzOl@6a=Id^wH4 zQJMc(GaoQ#`0Y~SYf|}K*1ikmkj_L~(a#rC$1|ImV6q(d167n{B=q(Lc!C$~4$&O@1CFczF{9 zJI(jpR{h7HF}S>x@*%M?UZjV&vt?&I?#hBbH%xmjes@zF2soy}nd%aKP!%eG7kP2H z%5+d=8+i%PDaeuEzXFebNFE!6+4D*yD86P8!yV2 z_iYJWk(<6(+3lJ*wlb6Ur z^G{YmR-$^}=uEjIO{wzzggS>~ArAUXzq`iHJG6^86TO`zWron=bCx{hkDN?QOyRJ+5_#ti<>=SlU zgQIoGbier#Ujh zJ97}uCZe-sa{_GXZm&hSA|g7czh#8(7z%t0?jrwci45S>RPz0MW?4vgO2Cl#iA0xA zAesg-^E7nj`#qtASB3(+NmJzqak*G~add2kCp;FVf}!$o*d|VS6Vw z-+LY!j*$Mmt_8>Qu#-#Lp5FyeYKj7tH9E!Itx5D0KE{q3cS)Ka_iT`9bQ`;@N2YN% z0JHaE`k+=C3lK#)rHJymfCMRJHCRkVX_Xy)pfoW(Ok{^WVE!dUDr9fTS?$?+6aB4O}cD(^}0|V92Js1bFWCn|32ih z(f+L0?NQqKh$OV|uBpaYy|!G1#;WiYNG1-vnPlMG=ebB{oF2?s6Z3t&2iHtLP5i>K z_qqsFuy)w zuo_|$Ns$b#TRe8SA3WnjKYZMy>@@?SY+=QsF_4oziH7{d_#ATQim{f9_ALXi+ z$~{m<=G0fgX7F?YJ~t+6KqL%u=Q)T-vD>)A_qfyd?jjqC5@a*JVHP)SaGgr|0McU3 zMv>JXY%F+9i%Ue&s(-sC{!9}qE1m~zoO%ZtugXP`q4*^dLz zlMW>{+OYXiq^XSX#+h%DovI>>W;~C_A{IqXuYE#!ZUrW&H}~&3R0&9`1w)4j%F@qhe?>RVbQ>e~`F#jcjE+G8q)5g8LOXCK(QWSho=2c_Q`9P2__mSe z?~dyxi#bB%`I1Nfu&z8*SGE4hMgG11Zn)PzFy6BC64zTjGri2rY)X!J_Ix`6p@TBh zKC-gr$AP!fvZ+%Sr>SHE=WIQx^Z-l&UOsmPKP%u)T00QJ*eDCNQDXNC-3^t^@aLa5 zMmOH4%@y_-EbZYAMN13H@b1R+6=9E^RPw5LNR)k&go;AHi!)s(h^wE()eKY}_4~zS z$bf~}8!kSOlw$ZP!IJ?H$2zYjV`Kn$usxKk55u=0&S*sJXJzqw!+b8Y)I?bP;FtpmU}uBv94>EN=iB5w2Hbc8)#yn zsus8m6Ii8#9wcoQ;+rAi_MOgqXH9N7VnL|k_y%)k#`Y#vc@WzAKD3}10f^pK1L$TF zLrT0;YpOF7i(<6btGlxF*sai4Uli9o0!gvu8!Pw}&uo0f6AdRnOF z2s(=hzTWANrucPhFKxbAXt=T9+}q!~*2f228M8hAux=$pe&dD`U0cbb`?k$O7$5ix z-V&c)I&GS>Yg6Ksu2C7(92Ks#pP*JC*u_|sJ?NI0L@yl_fxD1J(9{Xpsa-O&Y&#y3 zA0F|A1w}jxpbv%xMB^b8*4{6TN6+0x3$`8u6=5=-g~CUgY_08Zl*%t+UXBv?xv9JQ ztBj>jVYHYdW?f!3ES9;d#FZry?tJjL-jv>)nQ9sG*axhHI3yMIAn7om1)CSv{@3vv zk#f#MOJ@O(u1#0wkC#8$e5!kIAdL~Wy4V4C>nx>lCZgIu&MyfRJXw}2a|lscI89SJ z>guV)qiu7{$+Zh;qdCa5Z(sGg9pWaxUfEMP)5|roH~5=QdEvPm^y{e{;$Clho6I0Q zF4cSO-$iu;m;H*J=wep`)2F#}AmDKc$P`l&4T^fh>tlpCIbLjtmh8_<8Qv1BheLbP z@k&q=ED!BIqh@TLdKxiI-xUPvXKcX`tV@7eAQvuRs_AS30=nzLH$LUM{esJ`sF?tt zaK6hIGF@78G@-RO8Ig#~&9b{CqI{B71}jg`v4zS&@W#G;=W`NdVPDGgwLV@oCV+be zKJgFu4uS85Y~yx5!}Zqhb;_Pir)a{8*gC_8iW11jyaR#k;D{Il<*u zrp9MR>Wt?PR+;gI5=7MaeW_+Zcn+uBTbJQBJp#U}Q=8Ha)b(arl@ArWqSiY+bJG;N z(%0lai7yFy?@1I>plyZ;7iPAqc&ss41R)kQ8y6W*j+Vkxxqlf>oq5$!860>YXe1O+ zMCVaEh+@@NdME-$aBp0BSp+HLviN~f%{D1QTlH#00v?IkJA4Z71l%GSgs~jc>GVZy$4S5GxW(P=H9v*O<&R0;+_Sl51H! zkzw^-cB|S#A2|&_^;c49V4(=C4Kj3+FxK;`JB?v9)p39bv1J-_eJd&Ia(a;lHWA3v zCqyrOdXTaQ#)m1wd#Do;#Jx39L=_G`6c-*@M52(D3J?B$%D%F^uJ^Rtb=~f_dH?`4 zRTOn=3?Bw4C&UlYQVgohlX&!ip64gMUTTCp&xnbVna(_w z-yRM#_ex6L>KDk_y;73nm5g9Rn`kfKp;jn8utQ;B;c#$qNaBN_1{fnWjVBwal-|&D zrD-63^+LoW=mS_KuXO+drwz9z$fe8*TA}P;l)PcGTb}xaw^_I{;ze)omKXt z`a>S_HQ4vihqn8W9?}MMkXNq~Je7pA~pZA(_JqMo;-B;t3 z-;SeG{FrP)c20MPn7Ln6do(tKmVeguI$V0*xovrk*Tl7w<@n+cn06#~R}Gh>_XQlRCBP6=4_LFv$Q(Rb*Q_Pr-4 zP1hCYx-zESQAL7gmbkkRTV$gv@22bqrw1huHWcHjfzoY} z4bcZ;hR^!MBl<10PTI$O0k2T5+q`6^(HJ50=Puvc{{94)%Am!|Zz1q?(}$j(@B0Pf zTW-Uj?#HYI?<~~pAH<^HwAF&C(RKlps7$f=js!j7b6ac&uUtp5V^)Y|B^nd9q^(CxI6wz}M6&b;+dER;VStMjqC-ADh$a|TQ{GB4c z&Z*LC0v-Jk8Pef<>ONXitsY*}*%e8Pv~LZZSzR54CA852y}}vS6P&t+BKlL(eDan)a&d78NQ)42R{yiu-J-`kHO6Wkd+k`BS&%{FRaGrse%9RJ5bJ8wvG`g|efQHv<` zr%gbeI`UF8uD#@b@1>@9$2lV)R3Wj$j-@L5*t~rhTFR}pr@&R3 zBrr+LBIV;6TMa4pJ>PL+E^{QW^rAV!Z*ig!Iqm#na-m%fqR$Gtn^OHj^ZSM-7%YaZ z3O;j2q+)^3ykL-4=s1mk*%T5Y>MoHTn5|=W0lX50W0Ri|uE##Jjx4i3Ku|0OYG{gX=Jh!EM=H@F=S=N`!tx=hKP7y$6;!;;`8s7w% zA?lRfA(%N`Ve3k z{AXMg9(_<14^o0lA;EtAn;qfP{@_nyoA}PBT}Adg7VvGn|7+sR!=dcnIG&w1vWyzr zU__Q=7F&#xv7|RylYN-6B}64AvJ7Kinrsc#C?pX@giufhLA? zme@7&I@P%?pg2TxOwX%!7LYn^4eH9i-kk~iP;%z%%oVgKsL~TDc4XB#6Smrnz4p7E zQYtEgRVY@&(5UZ#Pv~^vZrBZGj=$UnVf{&9UH9>nThAfl>_a~A^E5J|=x8v#^IgTc zphSm5Ee>?T$sxs|z3x(Q_^(016Y6&-v^I|#flcyr*Or8)fyi^xDU2~A)r1knm z7_CdqU9@*Kv@|r)Hzj>K9|Nd^^f}FtqDS;$i`=yG<4b4Hv!l|3A6=^Jm({B8Cf5no zAFPh}PG0{wX_&bj=mHb|J;!)AFOT3d7E8GD8LI%#MR?F{8oBxQ;=SLW^GnGy;MZg1 z5D59X%`r~bX{F`buFe9yi(0@RL($Q4%O$DOX+ENd6cxN|9I5<1Ls0JL#j!_kH4h$P zr5#UW2B4H0Jz1weGSBAfl>}nz_JUtN4*ukOT>aMTt>OGq0r#Y81$+(oE-6xqMU|5Q z^wYNR0lYV&t8XHElJUh&^{A(Is?936vDJSwvNfXjDN23g;6q0DE5j_N+`4v9F!f_^!Opd&^6o_Y$g7jd+`Qnp(EqF~_1uoXx&&a>!MmQHT<>b|m2%@xbi(Bk%Z@{+bT>%fx1UtC#! z--9loDcQ31YhhbETG&bl8KH%%5h zoPW#gnv2>*$zq*Nm`TDgbnrU;(#mYc%VR8L$L+rr(ha;j)UrLG#Qxa45rFWZqgx%0 zCZ!$~!|4td9@^9Y<|=DMAj?l8`UV8$vnY#ChAt&-*`Nr4)~1Xa#Usupb}6v+W}9n_ zlVN^*VH>C!|8oaYkG~{L9({e|tf1nRlinR5n6TUsv|x0_bI`CO4{j?*%MC5_jVEdG zr$nL6*&!`n`De@}K&vhHlUUtkTd^okoKhP2MANsY_O2G$c$-! zTl1P)U&p+sjM*m)$+;aKt!@}OrQ3LoNU8+wCs(~w;NzM`o(lDKJOt$8m-tAPoI88z zh`%FFkBhPucf5g}a4f1>+}=`;y_`uS;PsGwu!6`Rp-zhnzT5J8Hy$-1=%X+|u9){W z>Go7z2%6_G+FZXE268;taD1`VOWvch9vkFT^UoDmD%<4_$r|a<=G_XpIq9j)=-CkN z3S67d$|~Xta7CLt#LzJ`59*%xz6gYIo~f#P)`GBoZK?=5mb0y<|Je3r>fB};w%E;( z8)inl6WWj59KBklX>0lQ%~oE;<;k8QRSZy3oO7@8g<-G+w+Pa&@~+1PJUsNSh*-iI zM~PQ(aRlI?XlJmc_hlDRW0O~GCkX<)IBX>HZh1CI;@!LJU;8xk?yRA6_=2aA zex;)o|A%Jo?mK!{(njKVu1MzpEt*voqcVlU znvIT4KgB=e9Dr-jAywtE`i=PW(qlL*s7gddmO&9XLE(@cWmyx(Ww-{ zmo1k=7E8Z9UruB%Z>^{{tSxK=n4`_V#Bs=I-qb<+076z%L|lqbNh$lC4rhYqLn29D z2P1(mRK?}T=^>K&$#!hE^m_6#wsY-Mif7A+j^eV+3x|ut&x|b7DLx0q&`G>vYgGr* zgy2%4^WU5VnYO34Yy_&|NK#_lJFP9##Jzo@=vX-TkQ*&Gg&ADw{9CkPJ&uVGhd*R6 zz8Fr{DtdL*i#Jv%p8MNyZx5bzRqL0dO`~83jIt7cJ)$>UPb-ADZI!%AO!Lc(J{H2< z$M&^w=*i&3sg}p<3P9&L8k@-$2#%i?l=tsf9;>I>nX%b zX28XvVnxB*ex4hYe{+0OLiz?^ri+mQB?;YLsDxXz=;v$ePfU#i3VmT|X25~e0G%dwsAdV?yc{bh$!ZJ4{TcpG)G*$hIzsSySgh4Wmm$Iz<5lCAS9E?bb;L#4)PiT8pk8T-{E3}IXyz8 z0VXT}^1=V8xeb*X?4WV+l&I&8A;;E!5FEc;ic(Z=U-kOfEZ6O}_6GK_-LlF}09xEa z6yz2J1q(optVu+iuRfNT6<(erh~AJZ8G8D@O0MV_RhH}Y)reSZ05NzCJOxAxJf}L z#YpDf(lB)Ttp2I+q6n-ADK8A!$O{;_k}4yq-;tn5BxMuRoV$6dCQsRe{c{6{p4<0W z@k4DC+Qg@*14e*NeRJ)3$3HX8)*Qbw8BtHV$jWZK!&&Us&Xe?l=nd@3k06IX74epq zd8-88;aPaC?*6(FZwa_w%*Dxc_+8iLU-1|TRJi<}K|v)mD@yLOo&q&+;}6?QhqCXS zogPI@2#^W5-&L6)AB%)xyXvqpRi{^;@z;Zxx(}l1e@+|8jmdMl*zkZXhyo}JIPH5{ zt=;LmBaT`Y=e>Y;fiTT|8E4U?na~S99D1p$dylW>v6Ca$+rf;+!y382bPv## zq~*`#|6mLNqhognFxPB5kavJAf1&4ap z@Bf?pcNNm}=BvYJL=d+J#CO&p>3B$QJ{eQZ!(cB1B$@4Widz9{DP%V6=b-Fv%$;Yv zThjnIEn||#-h34wxLZ}H>Pv$;BxFk^9M|Yh`qoPV&@tO7%rTElZtSlCJ5;;vln>SO z_9iDeO$KfRNbiR9IJ#(BeY@qJt0iKE)6T}%UxKPbCZu% zIZbHI7&`m5`fEeN+zw@e-;V>Jk;(jSNB7GaK%cd(Rpri|+$p(}%!9>x37J|rb)49M z8~%$D+ke^sQvGOTU%by*QeB{@%MMuqjTC|VOU?CLw`O;1^gbZ%R79+CZqic1aiSCS zkh_h{6_5~d#x=}K%kcf|Q1?cGcDjL!RrA^_#c1MIB~#v_IR1vg)C)+vCmV2rqspm- zvkkzk#nZx>?IA%!P0y8g@=5IR?WlF^sK!V#!X*;3KFKs)nhH1kj33e(5#H@Hgyb20 zw*qe?J`wd-eRN~si{)OWk>{z)0C8n|qhbme9}h?uU^i@CYVDVKO3!ne4NS#9*=fRz z^Vrx4sjewEe;E1x>kN=(Y1u~p-R x*RA)tj(F|_eLe74slk4u<`L4TdkfaI=RID~`=OyrJirXxbIR1xq!R5B`yXYW#L@r& literal 0 HcmV?d00001 diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index a9b37ddb..16d9fe8c 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -37,23 +37,24 @@

-
+
% if common.VERSION_NUMBER:

Version ${common.VERSION_NUMBER} Changelog

@@ -74,7 +75,7 @@
-
+

Updates

@@ -214,8 +215,7 @@

- -
+

Sections

@@ -380,7 +380,7 @@

-
+

Web Interface

@@ -474,7 +474,7 @@

-
+

Authentication

@@ -551,21 +551,11 @@

Current API key: ${config['api_key']}

-
- -
-
-
- -
-
-
-

-
+

Plex Media Server Version ${config['pms_version']}

@@ -666,7 +656,7 @@
-
+

Plex.tv Authentication

@@ -729,7 +719,7 @@

-
+
% if plexpy.INSTALL_TYPE == 'git':

Git Settings

@@ -842,7 +832,7 @@

-
+

Monitoring Settings

@@ -918,7 +908,7 @@

-
+

Global Notification Settings

@@ -1024,7 +1014,7 @@

-
+

Notification Agents

@@ -1038,7 +1028,32 @@
-
+
+ +
+

PlexPy Remote App

+
+
+ +

+ Get the PlexPy Remote app on Google PlayTM to access PlexPy from your Android device!
+ + Get it on Google Play + +

+
+
+ +

Link the app to your server by scanning a QR code.

+
+ +
+
+ The API must be enabled under Access Control to use the app. +
+
+ +
@@ -1986,20 +2001,21 @@ @@ -440,6 +418,31 @@ DOCUMENTATION :: END % endif +<%def name="modalIncludes()"> + + + + + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/js/tables/history_table_modal.js b/data/interfaces/default/js/tables/history_table_modal.js index 8ba5ba8f..1d0a6b61 100644 --- a/data/interfaces/default/js/tables/history_table_modal.js +++ b/data/interfaces/default/js/tables/history_table_modal.js @@ -27,7 +27,6 @@ history_table_modal_options = { "pageLength": 10, "lengthChange": false, "autoWidth": false, - "scrollX": true, "order": [0, 'desc'], "columnDefs": [ { diff --git a/data/interfaces/default/libraries.html b/data/interfaces/default/libraries.html index 53588362..ef4dd613 100644 --- a/data/interfaces/default/libraries.html +++ b/data/interfaces/default/libraries.html @@ -64,28 +64,31 @@ - + + + +<%def name="modalIncludes()"> + - <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/library.html b/data/interfaces/default/library.html index fd745e57..5e2b362a 100644 --- a/data/interfaces/default/library.html +++ b/data/interfaces/default/library.html @@ -82,9 +82,6 @@ DOCUMENTATION :: END
-
@@ -284,28 +281,6 @@ DOCUMENTATION :: END
- - -
@@ -335,6 +310,34 @@ DOCUMENTATION :: END % endif +<%def name="modalIncludes()"> + + + + + + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/logs.html b/data/interfaces/default/logs.html index 96a17f40..497884de 100644 --- a/data/interfaces/default/logs.html +++ b/data/interfaces/default/logs.html @@ -130,8 +130,6 @@
-
@@ -152,6 +150,11 @@
+<%def name="modalIncludes()"> + + + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/search.html b/data/interfaces/default/search.html index 5588025b..416202c9 100644 --- a/data/interfaces/default/search.html +++ b/data/interfaces/default/search.html @@ -23,6 +23,9 @@
+<%def name="modalIncludes()"> + + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/update_metadata.html b/data/interfaces/default/update_metadata.html index bf851e71..c177b6d1 100644 --- a/data/interfaces/default/update_metadata.html +++ b/data/interfaces/default/update_metadata.html @@ -98,46 +98,6 @@ DOCUMENTATION :: END
  Loading search results...
- @@ -166,6 +126,51 @@ DOCUMENTATION :: END % endif +<%def name="modalIncludes()"> + + + <%def name="javascriptIncludes()"> % if query: diff --git a/data/interfaces/default/user.html b/data/interfaces/default/user.html index 79cacc58..3bf26bd4 100644 --- a/data/interfaces/default/user.html +++ b/data/interfaces/default/user.html @@ -72,8 +72,6 @@ DOCUMENTATION :: END -
@@ -306,28 +304,6 @@ DOCUMENTATION :: END
- - - @@ -357,6 +333,33 @@ DOCUMENTATION :: END % endif +<%def name="modalIncludes()"> + + + + + + <%def name="javascriptIncludes()"> diff --git a/data/interfaces/default/users.html b/data/interfaces/default/users.html index 9765b8da..25087e10 100644 --- a/data/interfaces/default/users.html +++ b/data/interfaces/default/users.html @@ -46,32 +46,35 @@ - - - + + + +<%def name="modalIncludes()"> + + + - <%def name="javascriptIncludes()"> From ca472ff5979d8b8e95261c4dcd66a24ddb4de28e Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Sun, 5 Feb 2017 18:55:10 -0800 Subject: [PATCH 136/400] Improved IP address handling (includes IPv6) --- data/interfaces/default/ip_address_modal.html | 14 ++- data/interfaces/default/js/ipaddr.min.js | 1 + data/interfaces/default/js/script.js | 49 ++++++-- .../default/js/tables/history_table.js | 106 ++++++------------ .../default/js/tables/history_table_modal.js | 9 +- .../interfaces/default/js/tables/libraries.js | 11 +- .../default/js/tables/login_logs.js | 37 +++--- .../default/js/tables/media_info_table.js | 9 +- data/interfaces/default/js/tables/user_ips.js | 56 ++++----- data/interfaces/default/js/tables/users.js | 66 ++++------- data/interfaces/default/settings.html | 4 +- plexpy/helpers.py | 26 +++-- plexpy/logger.py | 4 +- plexpy/webserve.py | 6 +- 14 files changed, 178 insertions(+), 220 deletions(-) create mode 100644 data/interfaces/default/js/ipaddr.min.js diff --git a/data/interfaces/default/ip_address_modal.html b/data/interfaces/default/ip_address_modal.html index cb407305..928d4cad 100644 --- a/data/interfaces/default/ip_address_modal.html +++ b/data/interfaces/default/ip_address_modal.html @@ -14,7 +14,12 @@