Commit 5cc4496f authored by Thomas Müller's avatar Thomas Müller Committed by GitHub
Browse files

[9.2] Share via social (#25576)

* Bring social icons to core

* Introduce social sharing

* Add missing mail-grey.svg

* Add config option to disable social sharing

* Smaller icons

* Twitter: set shared link as url in twitter field

* Fix tooltip to disappear on click
parent 9fd9a010
......@@ -243,6 +243,7 @@ class ViewController extends Controller {
$params['isPublic'] = false;
$params['mailNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no');
$params['mailPublicNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no');
$params['socialShareEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_social_share', 'yes');
$params['allowShareWithLink'] = $this->config->getAppValue('core', 'shareapi_allow_links', 'yes');
$user = $this->userSession->getUser()->getUID();
$params['defaultFileSorting'] = $this->config->getUserValue($user, 'files', 'file_sorting', 'name');
......
......@@ -18,6 +18,7 @@
<?php if (!$_['isPublic']) :?>
<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
<input type="hidden" name="mailPublicNotificationEnabled" id="mailPublicNotificationEnabled" value="<?php p($_['mailPublicNotificationEnabled']) ?>" />
<input type="hidden" name="socialShareEnabled" id="socialShareEnabled" value="<?php p($_['socialShareEnabled']) ?>" />
<input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
<input type="hidden" name="defaultFileSorting" id="defaultFileSorting" value="<?php p($_['defaultFileSorting']) ?>" />
<input type="hidden" name="defaultFileSortingDirection" id="defaultFileSortingDirection" value="<?php p($_['defaultFileSortingDirection']) ?>" />
......
......@@ -264,6 +264,7 @@ class ViewControllerTest extends TestCase {
'fileNotFound' => 0,
'mailNotificationEnabled' => 'no',
'mailPublicNotificationEnabled' => 'no',
'socialShareEnabled' => 'yes',
'allowShareWithLink' => 'yes',
'appNavigation' => $nav,
'appContents' => [
......
......@@ -5,9 +5,6 @@
min-height: 16px;
}
/* general assets */
.icon-breadcrumb {
......@@ -376,3 +373,19 @@ img.icon-loading-small-dark, object.icon-loading-small-dark, video.icon-loading-
.icon-clippy {
background-image: url('../img/actions/clippy.svg');
}
.icon-social-gnu {
background-image: url('../img/social/social-gnu.svg');
}
.icon-social-diaspora {
background-image: url('../img/social/social-diaspora.svg');
}
.icon-social-twitter {
background-image: url('../img/social/social-twitter.svg');
}
.icon-social-facebook {
background-image: url('../img/social/social-facebook.svg');
}
.icon-social-googleplus {
background-image: url('../img/social/social-googleplus.svg');
}
......@@ -4,7 +4,7 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.tooltip {
position: absolute;
position: fixed;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path opacity=".5" d="m0.88889 3c-0.49245 0-0.88889 0.3968-0.88889 0.8892v8.2228c0 0.492 0.39644 0.888 0.88889 0.888h14.222c0.493 0 0.889-0.396 0.889-0.888v-8.2228c0-0.4924-0.396-0.8892-0.889-0.8892zm0.75 1.0281 6.0833 6.0833h0.52778l6.1111-6.0833 0.61111 0.61111-3.6389 3.6944 2.75 2.8056-0.61111 0.61111-2.8056-2.8056-2.0278 2.0556h-1.2778l-2.0271-2.0552-2.8055 2.8332-0.6111-0.639 2.7777-2.8054-3.6666-3.6944z"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="32"
height="32"
id="svg3937"
inkscape:version="0.91 r13725"
sodipodi:docname="social-diaspora.svg">
<metadata
id="metadata4166">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4164" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview4162"
showgrid="false"
inkscape:zoom="13.549078"
inkscape:cx="-5.9149036"
inkscape:cy="9.8488708"
inkscape:current-layer="svg3937" />
<path
d="m 15.956724,31 c -0.896548,4.3e-5 -1.344812,-0.448233 -1.344812,-1.344828 L 14.715361,19 5.612032,24.689655 C 4.9223812,25.172463 4.336189,25.034532 3.8534355,24.275862 L 3.3362024,23.448276 C 2.8534488,22.758671 2.991377,22.172465 3.7499869,21.689655 L 13.163651,16 3.6465383,10.310345 C 2.9568974,9.8966152 2.8189693,9.3104089 3.2327538,8.551724 L 3.8534355,7.517241 C 4.1982609,6.965584 4.7499735,6.896618 5.5085834,7.310345 L 14.715361,13 14.611912,2.344828 c 0,-0.89648 0.448264,-1.344756 1.344812,-1.344828 l 0.827569,0 c 0.896538,7.2e-5 1.344812,0.448348 1.344812,1.344828 L 18.025656,13 27.128985,7.206897 c 0.620651,-0.344761 1.206854,-0.206831 1.758596,0.413793 l 0.517233,0.827586 c 0.344796,0.7586846 0.206898,1.344891 -0.413784,1.758621 L 19.473917,16 l 9.620561,5.793103 c 0.689611,0.413845 0.827549,0.965568 0.413785,1.655173 L 28.99103,24.37931 c -0.482784,0.75867 -1.103465,0.896601 -1.862045,0.413793 L 18.025656,19 18.129105,29.655172 c 0,0.896595 -0.448274,1.344871 -1.344812,1.344828 l -0.827569,0"
id="star"
style="opacity:0.5;fill:#000000;fill-opacity:1"
inkscape:connector-curvature="0" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
enable-background="new 0 0 56.693 56.693"
height="32"
id="Layer_1"
version="1.1"
viewBox="0 0 32 32"
width="32"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="social-facebook.svg"><metadata
id="metadata5818"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs5816" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview5814"
showgrid="false"
inkscape:zoom="11.271233"
inkscape:cx="5.0995367"
inkscape:cy="28.322502"
inkscape:current-layer="Layer_1" /><path
d="m 22.396887,16.008872 -4.203409,0 0,14.991128 -6.230193,0 0,-14.991128 -2.963285,0 0,-5.292784 2.963285,0 0,-3.429613 C 11.963285,4.831822 13.128489,1 18.251639,1 l 4.613498,0.01774 0,5.140971 -3.349714,0 c -0.547114,0 -1.320959,0.273067 -1.320959,1.44026 l 0,3.118099 4.749536,0 z"
id="path5812"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccscccssccc"
style="fill:#000000;fill-opacity:1;opacity:0.5" /></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
id="svg2880"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="social-gnu.svg"
inkscape:export-filename="/home/robmyers/Desktop/social_logo_competition/gnu-social-logo.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2882">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2888" />
<inkscape:perspective
id="perspective2859"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="17.21204"
inkscape:cx="13.854211"
inkscape:cy="18.472465"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1022"
inkscape:window-height="730"
inkscape:window-x="0"
inkscape:window-y="49"
inkscape:window-maximized="0" />
<metadata
id="metadata2885">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-119.19595,-352.32438)">
<path
style="opacity:0.5;fill:#000000;fill-opacity:1;stroke:none"
d="m 125.14074,354.32438 c -2.18531,0 -3.94479,1.75948 -3.94479,3.94479 l 0,15.76964 c 0,2.18531 1.75948,3.94419 3.94479,3.94419 l 11.72461,0 c -0.0131,4.46851 -6.05322,6.34138 -6.05322,6.34138 0,0 10.21217,-0.0335 11.65719,-6.34138 l 2.12751,0 c 2.18532,0 3.94479,-1.75888 3.94479,-3.94419 l 0,-15.76964 c 0,-2.18531 -1.75947,-3.94479 -3.94479,-3.94479 l -19.45609,0 z m 5.66602,3.16145 c 0.042,-0.007 0.0803,-0.007 0.11455,0 0.0366,0.007 0.0681,0.022 0.0943,0.0454 0.41895,0.37367 -0.69461,0.73954 -0.60497,2.57737 0.0394,0.80713 -0.2017,1.43484 1.34476,1.43484 1.03195,0 0.60505,-0.91938 1.90498,-0.91938 0.77317,0 1.0581,0.49786 1.16578,0.90268 0.10769,-0.40482 0.39265,-0.90268 1.16577,-0.90268 1.29994,0 0.87304,0.91938 1.90498,0.91938 1.54648,0 1.3054,-0.62771 1.34477,-1.43484 0.0896,-1.83783 -1.02452,-2.2037 -0.60556,-2.57737 0.41895,-0.37366 2.21932,1.81578 2.26414,2.66745 0.0469,0.89057 0.0697,2.29462 -1.25467,3.02244 1.47777,1.45682 1.67588,3.38756 1.67588,3.38756 l -2.55469,-0.0447 c 0,0 -0.58278,-2.64503 -3.67572,-2.51054 -3.09293,0.13447 -3.49614,0.67255 -3.49614,3.94479 0,3.27223 1.43378,4.39676 3.63037,4.48234 3.45154,0.13448 3.13818,-1.79282 3.13818,-1.79282 l -1.61383,0.0895 -0.89671,-2.42045 5.51329,0 c 0,2.64468 -1.12011,6.76843 -6.36465,6.49949 -5.24455,-0.26896 -6.41052,-4.39271 -6.45534,-7.17187 -0.0246,-1.52551 0.22386,-3.24602 1.47363,-4.46265 -1.31045,-0.72721 -1.2678,-2.13094 -1.2678,-3.02303 0,-1.10312 1.42517,-2.61621 2.05473,-2.71279 z"
id="path4639"
inkscape:connector-curvature="0" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="32"
id="Layer_1"
version="1.1"
viewBox="0 0 32 32"
width="32"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="social-googleplus.svg"><metadata
id="metadata4721"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs4719" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview4717"
showgrid="false"
inkscape:zoom="14.120039"
inkscape:cx="16.803685"
inkscape:cy="25.296916"
inkscape:current-layer="Layer_1" /><style
type="text/css"
id="style4709"><![CDATA[
.st0{fill-rule:evenodd;clip-rule:evenodd;}
]]></style><path
d="m 12.260365,1.00001 c -1.044403,0 -2.164648,0.121381 -3.360551,0.364723 C 7.692812,1.648864 6.529074,2.249513 5.409199,3.171551 3.776833,4.74759 2.962354,6.502187 2.962354,8.437552 c 0,1.600734 0.575619,3.003332 1.728237,4.209224 1.099897,1.293294 2.698442,1.953874 4.796683,1.980234 0.39512,0 0.817861,-0.0267 1.265423,-0.0775 -0.07353,0.20755 -0.154327,0.43048 -0.240621,0.67688 -0.0985,0.23057 -0.147948,0.52213 -0.147948,0.8698 0,0.57798 0.128855,1.07502 0.388569,1.48762 0.221977,0.42453 0.475109,0.82365 0.759795,1.19768 -0.920096,0.0244 -2.074179,0.14101 -3.465144,0.34467 -1.405117,0.24362 -2.74619,0.73028 -4.021172,1.45781 C 2.888819,21.26184 2.103483,22.04929 1.67146,22.94303 1.222511,23.83815 1,24.65257 1,25.38066 1,26.87734 1.688069,28.1616 3.060444,29.23708 4.421998,30.38637 6.482307,30.97531 9.242318,31 c 3.296919,-0.0505 5.820381,-0.83703 7.567065,-2.36284 1.686196,-1.47532 2.530304,-3.16622 2.530304,-5.07578 -0.02608,-1.34436 -0.332749,-2.43326 -0.922377,-3.26734 -0.625976,-0.82049 -1.354352,-1.56623 -2.184547,-2.24687 l -1.336959,-1.0958 c -0.192565,-0.19229 -0.392744,-0.41698 -0.59613,-0.67308 -0.241401,-0.26887 -0.361472,-0.60732 -0.361472,-1.02047 0,-0.42231 0.118073,-0.79294 0.352259,-1.11314 0.199779,-0.30855 0.415557,-0.58393 0.651408,-0.827 0.410103,-0.35849 0.796786,-0.711889 1.160829,-1.056231 0.329081,-0.34684 0.640495,-0.724448 0.932673,-1.134274 0.599894,-0.846566 0.912101,-1.973756 0.934299,-3.383312 0,-0.768597 -0.08672,-1.441865 -0.259587,-2.018173 C 17.498927,5.148549 17.257171,4.650391 16.984971,4.226692 16.700007,3.779685 16.410431,3.400399 16.113536,3.09296 15.80471,2.79773 15.527026,2.574136 15.278412,2.420417 l 2.429503,0 L 20.140669,1 12.260365,1 Z m 12.417942,0.168542 0,4.135521 -4.133895,0 0,2.002999 4.133895,0 0,4.133894 2.00354,0 0,-4.133894 4.133895,0 0,-2.002999 -4.133895,0 0,-4.135521 -2.00354,0 z M 9.822733,2.304994 c 0.806887,0.02581 1.520753,0.264821 2.141734,0.712105 0.608218,0.474477 1.099244,1.092424 1.472443,1.849089 0.794402,1.577704 1.192261,3.145874 1.192261,4.698051 0,0.360713 -0.02983,0.802452 -0.08671,1.329371 -0.0949,0.526364 -0.308925,1.039903 -0.643279,1.540185 -0.690627,0.706445 -1.554617,1.080265 -2.592084,1.118555 -0.821594,0 -1.551253,-0.25054 -2.188883,-0.752206 C 8.478088,12.299585 7.957919,11.690036 7.553643,10.971107 6.719841,9.429474 6.303937,7.947693 6.303937,6.523431 6.277017,5.444621 6.562813,4.468801 7.159655,3.59643 7.86804,2.76124 8.754744,2.330799 9.822733,2.304994 Z m 1.66754,17.540326 c 0.08939,-4e-5 0.159034,0.003 0.209187,0.009 0.337683,0 0.633039,0.0118 0.884983,0.0385 1.468658,1.02609 2.547169,1.89084 3.238073,2.59534 0.650949,0.74279 0.977113,1.61238 0.977113,2.61322 0,1.23142 -0.476766,2.23692 -1.430714,3.01967 -0.977255,0.7944 -2.395196,1.20356 -4.252037,1.2302 C 9.046107,29.32465 7.415497,28.8642 6.222646,27.96768 4.968474,27.07062 4.343209,25.92939 4.343209,24.54481 c 0,-0.70422 0.142508,-1.30655 0.432465,-1.80628 0.249447,-0.47503 0.556709,-0.87233 0.920751,-1.19226 0.377084,-0.30688 0.746941,-0.54508 1.110429,-0.71156 0.364043,-0.15344 0.645616,-0.26945 0.846505,-0.34576 0.853226,-0.25666 1.68826,-0.44222 2.503749,-0.55765 0.620565,-0.0574 1.064984,-0.0861 1.333165,-0.0862 z"
id="path4713"
style="opacity:0.5;fill:#000000;fill-opacity:1"
inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="32"
id="svg2"
version="1.1"
width="32"
inkscape:version="0.91 r13725"
sodipodi:docname="social-twitter.svg">
<metadata
id="metadata5269">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview5267"
showgrid="false"
inkscape:zoom="10.224"
inkscape:cx="-7.2593811"
inkscape:cy="16.128046"
inkscape:current-layer="svg2" />
<defs
id="defs4" />
<path
sodipodi:nodetypes="sscccccsscsccscsccsccss"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:#000000;fill-opacity:1;fill-rule:nonzero"
id="rect2995"
d="m 21.611501,4.61946 c 0.05279,-0.002 0.106021,0 0.159127,0 1.770342,0 3.36956,0.74756 4.491932,1.94362 C 27.665067,6.2866 28.983178,5.77311 30.172539,5.06729 29.712752,6.50573 28.736679,7.71137 27.465106,8.4726 28.710494,8.32462 29.897115,7.99445 31,7.50421 c -0.824575,1.23442 -1.869002,2.31882 -3.071153,3.18481 0.01156,0.26431 0.01819,0.53117 0.01819,0.79791 C 27.947037,19.62063 21.755733,29 10.433964,29 6.9584454,29 3.7246302,27.98066 1,26.23346 c 0.481711,0.0572 0.9721881,0.0864 1.4685161,0.0864 2.8841872,0 5.5361434,-0.98372 7.6426469,-2.63469 -2.6929626,-0.0493 -4.9652637,-1.83087 -5.7490348,-4.27598 0.375747,0.0725 0.7622921,0.11139 1.1593551,0.11139 0.561492,0 1.1043981,-0.0759 1.6208231,-0.21596 -2.8159792,-0.56635 -4.9374873,-3.05156 -4.9374873,-6.03318 0,-0.0262 -4.66e-4,-0.054 0,-0.0796 0.830058,0.46101 1.7807801,0.73835 2.7892712,0.77063 -1.6515871,-1.10349 -2.7392592,-2.98649 -2.7392592,-5.12162 0,-1.12907 0.304455,-2.18754 0.834281,-3.09616 3.0358242,3.72399 7.5714429,6.17402 12.6869759,6.43101 -0.105355,-0.45126 -0.159128,-0.92088 -0.159128,-1.4026 0,-3.34627 2.669159,-6.0694 5.994545,-6.15366 z" />
</svg>
......@@ -34,6 +34,7 @@
"sharedialogexpirationview.js",
"sharedialoglinkshareview.js",
"sharedialogmailview.js",
"sharedialoglinksocialview.js",
"sharedialogresharerinfoview.js",
"sharedialogshareelistview.js",
"octemplate.js",
......
......@@ -52,6 +52,13 @@
return $('input:hidden[name=mailPublicNotificationEnabled]').val() === 'yes';
},
/**
* @returns {boolean}
*/
isSocialShareEnabled: function() {
return $('input:hidden[name=socialShareEnabled]').val() === 'yes';
},
/**
* @returns {boolean}
*/
......
/*
* Copyright (c) 2016
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
(function() {
if (!OC.Share) {
OC.Share = {};
}
var TEMPLATE =
'{{#if shareAllowed}}' +
' {{#if socialShareEnabled}}' +
'<button class="icon icon-social-twitter pop-up hasTooltip"' +
' title="{{shareToolTipTwitter}}"' +
' data-url="https://twitter.com/intent/tweet?url={{reference}}"></button>' +
'<button class="icon icon-social-facebook pop-up hasTooltip"' +
' title="{{shareToolTipFacebook}}"' +
' data-url="https://www.facebook.com/sharer/sharer.php?u={{reference}}"></button>' +
'<button class="icon icon-social-diaspora pop-up hasTooltip"' +
' title="{{shareToolTipDiaspora}}"' +
' data-url="https://sharetodiaspora.github.io/?url={{reference}}"></button>' +
'<button class="icon icon-social-googleplus pop-up hasTooltip"' +
' title="{{shareToolTipGoogle}}"' +
' data-url="https://plus.google.com/share?url={{reference}}"></button>' +
'<button class="icon icon-mail-grey pop-up hasTooltip"' +
' title="{{shareToolTipMail}}"' +
' data-url="mailto:?subject=&body={{reference}}"></button>' +
' {{/if}}' +
'{{/if}}'
;
/**
* @class OCA.Share.ShareDialogLinkSocialView
* @member {OC.Share.ShareItemModel} model
* @member {jQuery} $el
* @memberof OCA.Sharing
* @classdesc
*
* Represents the GUI of the share dialogue
*
*/
var ShareDialogLinkSocialView = OC.Backbone.View.extend({
/** @type {string} **/
id: 'shareDialogLinkSocialView',
/** @type {OC.Share.ShareConfigModel} **/
configModel: undefined,
/** @type {Function} **/
_template: undefined,
/** @type {boolean} **/
showLink: true,
events: {
"click .pop-up": 'onPopUpClick'
},
initialize: function(options) {
var view = this;
this.model.on('change:linkShare', function() {
view.render();
});
if(!_.isUndefined(options.configModel)) {
this.configModel = options.configModel;
} else {
throw 'missing OC.Share.ShareConfigModel';
}
},
onPopUpClick: function(event) {
var url = $(event.target).data('url');
$(event.target).tooltip('hide');
if (url) {
var width = 600;
var height = 400;
var left = (screen.width/2)-(width/2);
var top = (screen.height/2)-(height/2);
window.open(url, 'name', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left);
}
},
render: function() {
var linkShareTemplate = this.template();
var resharingAllowed = this.model.sharePermissionPossible();
if(!resharingAllowed
|| !this.showLink
|| !this.configModel.isShareWithLinkAllowed())
{
var templateData = {shareAllowed: false};
if (!resharingAllowed) {
// add message
templateData.noSharingPlaceholder = t('core', 'Resharing is not allowed');
}
this.$el.html(linkShareTemplate(templateData));
return this;
}
var isLinkShare = this.model.get('linkShare').isLinkShare;
var link = this.model.get('linkShare').link;
this.$el.html(linkShareTemplate({
cid: this.cid,
shareAllowed: true,
socialShareEnabled: isLinkShare && this.configModel.isSocialShareEnabled(),
reference: link,
shareToolTipTwitter: t('core', 'Share to Twitter. Opens in a new window.'),
shareToolTipFacebook: t('core', 'Share to Facebook. Opens in a new window.'),
shareToolTipDiaspora: t('core', 'Share to Diaspora. Opens in a new window.'),
shareToolTipGoogle: t('core', 'Share to Google+. Opens in a new window.'),
shareToolTipMail: t('core', 'Share via email. Opens your mail client.')
}));
this.$el.find('.hasTooltip').tooltip({trigger: 'hover'});
this.delegateEvents();
return this;
},
/**
* @returns {Function} from Handlebars
* @private
*/
template: function () {
if (!this._template) {
this._template = Handlebars.compile(TEMPLATE);
}
return this._template;
}
});
OC.Share.ShareDialogLinkSocialView = ShareDialogLinkSocialView;
})();
......@@ -27,6 +27,7 @@
'<div class="linkShareView subView"></div>' +
'<div class="expirationView subView"></div>' +
'<div class="mailView subView"></div>' +
'<div class="socialView subView"></div>' +
'<div class="loading hidden" style="height: 50px"></div>';
var TEMPLATE_REMOTE_SHARE_INFO =
......@@ -71,6 +72,9 @@
/** @type {object} **/
mailView: undefined,
/** @type {object} **/
socialView: undefined,
events: {
'input .shareWithField': 'onShareWithFieldChanged'
},
......@@ -108,7 +112,8 @@
linkShareView: 'ShareDialogLinkShareView',
expirationView: 'ShareDialogExpirationView',
shareeListView: 'ShareDialogShareeListView',
mailView: 'ShareDialogMailView'
mailView: 'ShareDialogMailView',
socialView: 'ShareDialogLinkSocialView'
};
for(var name in subViews) {
......@@ -373,6 +378,9 @@
this.mailView.$el = this.$el.find('.mailView');
this.mailView.render();
this.socialView.$el = this.$el.find('.socialView');
this.socialView.render();
this.$el.find('.hasTooltip').tooltip();
return this;
......
......@@ -94,6 +94,7 @@ class Share extends Constants {
\OC_Util::addScript('core', 'sharedialogresharerinfoview');
\OC_Util::addScript('core', 'sharedialoglinkshareview');
\OC_Util::addScript('core', 'sharedialogmailview');
\OC_Util::addScript('core', 'sharedialoglinksocialview');
\OC_Util::addScript('core', 'sharedialogexpirationview');
\OC_Util::addScript('core', 'sharedialogshareelistview');
\OC_Util::addScript('core', 'sharedialogview');
......
......@@ -53,7 +53,6 @@ if($doesLogFileExist) {
}
$config = \OC::$server->getConfig();
$appConfig = \OC::$server->getAppConfig();
$request = \OC::$server->getRequest();
$certificateManager = \OC::$server->getCertificateManager(null);
$urlGenerator = \OC::$server->getURLGenerator();
......@@ -80,16 +79,16 @@ $template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
$template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
$template->assign('checkForWorkingWellKnownSetup', $config->getSystemValue('check_for_working_wellknown_setup', true));
$template->assign('has_fileinfo', OC_Util::fileInfoLoaded());
$template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax'));
$template->assign('backgroundjobs_mode', $config->getAppValue('core', 'backgroundjobs_mode', 'ajax'));
$template->assign('cron_log', $config->getSystemValue('cron_log', true));
$template->assign('lastcron', $appConfig->getValue('core', 'lastcron', false));
$template->assign('shareAPIEnabled', $appConfig->getValue('core', 'shareapi_enabled', 'yes'));
$template->assign('shareDefaultExpireDateSet', $appConfig->getValue('core', 'shareapi_default_expire_date', 'no'));
$template->assign('shareExpireAfterNDays', $appConfig->getValue('core', 'shareapi_expire_after_n_days', '7'));
$template->assign('shareEnforceExpireDate', $appConfig->getValue('core', 'shareapi_enforce_expire_date', 'no'));
$excludeGroups = $appConfig->getValue('core', 'shareapi_exclude_groups', 'no') === 'yes' ? true : false;
$template->assign('lastcron', $config->getAppValue('core', 'lastcron', false));
$template->assign('shareAPIEnabled', $config->getAppValue('core', 'shareapi_enabled', 'yes'));
$template->assign('shareDefaultExpireDateSet', $config->getAppValue('core', 'shareapi_default_expire_date', 'no'));
$template->assign('shareExpireAfterNDays', $config->getAppValue('core', 'shareapi_expire_after_n_days', '7'));
$template->assign('shareEnforceExpireDate', $config->getAppValue('core', 'shareapi_enforce_expire_date', 'no'));
$excludeGroups = $config->getAppValue('core', 'shareapi_exclude_groups', 'no') === 'yes' ? true : false;
$template->assign('shareExcludeGroups', $excludeGroups);
$excludedGroupsList = $appConfig->getValue('core', 'shareapi_exclude_groups_list', '');
$excludedGroupsList = $config->getAppValue('core', 'shareapi_exclude_groups_list', '');
$excludedGroupsList = json_decode($excludedGroupsList);
$template->assign('shareExcludedGroupsList', !is_null($excludedGroupsList) ? implode('|', $excludedGroupsList) : '');
$template->assign('encryptionEnabled', \OC::$server->getEncryptionManager()->isEnabled());
......@@ -132,18 +131,19 @@ $shouldSuggestOverwriteCliUrl = $config->getAppValue('core', 'backgroundjobs_mod
$suggestedOverwriteCliUrl = ($shouldSuggestOverwriteCliUrl) ? \OC::$WEBROOT : '';
$template->assign('suggestedOverwriteCliUrl', $suggestedOverwriteCliUrl);
$template->assign('allowLinks', $appConfig->getValue('core', 'shareapi_allow_links', 'yes'));