aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfabrixxm <fabrix.xm@gmail.com>2011-07-05 07:11:57 +0200
committerfabrixxm <fabrix.xm@gmail.com>2011-07-05 07:11:57 +0200
commit4e7a5dc56ebb8d99ed06b0b303c4ee24460ae6a8 (patch)
tree84184bd3aa80c896b8dceaf5a017297c7267f2cb
parentcfd59f6ac8848c19a0c451c378d2b770cafcbef0 (diff)
parent2359783b9f6c0ec754c641453026712cf22e7cb6 (diff)
downloadvolse-hubzilla-4e7a5dc56ebb8d99ed06b0b303c4ee24460ae6a8.tar.gz
volse-hubzilla-4e7a5dc56ebb8d99ed06b0b303c4ee24460ae6a8.tar.bz2
volse-hubzilla-4e7a5dc56ebb8d99ed06b0b303c4ee24460ae6a8.zip
Merge branch 'dispy' of github.com:fabrixxm/friendika into dispy
-rw-r--r--.gitignore4
-rw-r--r--.htaccess7
-rw-r--r--INSTALL.txt92
-rw-r--r--addon/facebook/facebook.php51
-rw-r--r--addon/oembed/oembed.php28
-rw-r--r--addon/oembed/settings.tpl7
-rw-r--r--addon/piwik/admin.tpl4
-rw-r--r--addon/piwik/piwik.php29
-rw-r--r--addon/statusnet/statusnet.php73
-rw-r--r--addon/twitter/twitter.php12
-rw-r--r--addon/widgets/settings.tpl19
-rw-r--r--addon/widgets/widgets.php36
-rw-r--r--boot.php113
-rw-r--r--database.sql35
-rw-r--r--favicon.gif0
-rw-r--r--favicon.ico0
-rw-r--r--images/icons.pngbin10702 -> 11885 bytes
-rw-r--r--include/Photo.php6
-rw-r--r--include/Scrape.php4
-rw-r--r--include/acl_selectors.php112
-rw-r--r--include/conversation.php9
-rw-r--r--include/country.js2
-rw-r--r--include/datetime.php21
-rw-r--r--include/directory.php24
-rw-r--r--include/event.php28
-rw-r--r--include/expire.php10
-rw-r--r--include/group.php27
-rw-r--r--include/hostxrd.php1
-rw-r--r--include/items.php16
-rw-r--r--include/main.js21
-rw-r--r--include/notifier.php48
-rw-r--r--include/poller.php52
-rw-r--r--include/queue.php3
-rw-r--r--include/salmon.php4
-rw-r--r--include/security.php71
-rw-r--r--index.php31
-rw-r--r--library/cropper/cropper.css (renamed from cropper/cropper.css)0
-rw-r--r--library/cropper/cropper.html (renamed from cropper/cropper.html)0
-rw-r--r--library/cropper/cropper.js (renamed from cropper/cropper.js)0
-rw-r--r--library/cropper/cropper.uncompressed.js (renamed from cropper/cropper.uncompressed.js)0
-rw-r--r--library/cropper/lib/builder.js (renamed from cropper/lib/builder.js)0
-rw-r--r--library/cropper/lib/controls.js (renamed from cropper/lib/controls.js)0
-rw-r--r--library/cropper/lib/dragdrop.js (renamed from cropper/lib/dragdrop.js)0
-rw-r--r--library/cropper/lib/effects.js (renamed from cropper/lib/effects.js)0
-rw-r--r--library/cropper/lib/prototype.js (renamed from cropper/lib/prototype.js)0
-rw-r--r--library/cropper/lib/scriptaculous.js (renamed from cropper/lib/scriptaculous.js)0
-rw-r--r--library/cropper/lib/slider.js (renamed from cropper/lib/slider.js)0
-rw-r--r--library/cropper/lib/unittest.js (renamed from cropper/lib/unittest.js)0
-rw-r--r--library/cropper/licence.txt (renamed from cropper/licence.txt)0
-rw-r--r--library/cropper/marqueeHoriz.gif (renamed from cropper/marqueeHoriz.gif)bin1125 -> 1125 bytes
-rw-r--r--library/cropper/marqueeVert.gif (renamed from cropper/marqueeVert.gif)bin1141 -> 1141 bytes
-rw-r--r--library/cropper/tests/castle.jpg (renamed from cropper/tests/castle.jpg)bin34429 -> 34429 bytes
-rw-r--r--library/cropper/tests/castleMed.jpg (renamed from cropper/tests/castleMed.jpg)bin50584 -> 50584 bytes
-rw-r--r--library/cropper/tests/example-Basic.htm (renamed from cropper/tests/example-Basic.htm)0
-rw-r--r--library/cropper/tests/example-CSS-Absolute.htm (renamed from cropper/tests/example-CSS-Absolute.htm)0
-rw-r--r--library/cropper/tests/example-CSS-Float.htm (renamed from cropper/tests/example-CSS-Float.htm)0
-rw-r--r--library/cropper/tests/example-CSS-Relative.htm (renamed from cropper/tests/example-CSS-Relative.htm)0
-rw-r--r--library/cropper/tests/example-CoordsOnLoad.htm (renamed from cropper/tests/example-CoordsOnLoad.htm)0
-rw-r--r--library/cropper/tests/example-CoordsOnLoadWithRatio.htm (renamed from cropper/tests/example-CoordsOnLoadWithRatio.htm)0
-rw-r--r--library/cropper/tests/example-Dimensions.htm (renamed from cropper/tests/example-Dimensions.htm)0
-rw-r--r--library/cropper/tests/example-DynamicImage.htm (renamed from cropper/tests/example-DynamicImage.htm)0
-rw-r--r--library/cropper/tests/example-FixedRatio.htm (renamed from cropper/tests/example-FixedRatio.htm)0
-rw-r--r--library/cropper/tests/example-MinimumDimensions.htm (renamed from cropper/tests/example-MinimumDimensions.htm)0
-rw-r--r--library/cropper/tests/example-MinimumWidth.htm (renamed from cropper/tests/example-MinimumWidth.htm)0
-rw-r--r--library/cropper/tests/example-Preview.htm (renamed from cropper/tests/example-Preview.htm)0
-rw-r--r--library/cropper/tests/poppy.jpg (renamed from cropper/tests/poppy.jpg)bin18338 -> 18338 bytes
-rw-r--r--library/cropper/tests/staticHTMLStructure.htm (renamed from cropper/tests/staticHTMLStructure.htm)0
-rw-r--r--library/phpsec/Crypt/AES.php (renamed from phpsec/Crypt/AES.php)0
-rw-r--r--library/phpsec/Crypt/DES.php (renamed from phpsec/Crypt/DES.php)0
-rw-r--r--library/phpsec/Crypt/Hash.php (renamed from phpsec/Crypt/Hash.php)0
-rw-r--r--library/phpsec/Crypt/RC4.php (renamed from phpsec/Crypt/RC4.php)0
-rw-r--r--library/phpsec/Crypt/RSA.php (renamed from phpsec/Crypt/RSA.php)0
-rw-r--r--library/phpsec/Crypt/Random.php (renamed from phpsec/Crypt/Random.php)0
-rw-r--r--library/phpsec/Crypt/Rijndael.php (renamed from phpsec/Crypt/Rijndael.php)0
-rw-r--r--library/phpsec/Crypt/TripleDES.php (renamed from phpsec/Crypt/TripleDES.php)0
-rw-r--r--library/phpsec/Math/BigInteger.php (renamed from phpsec/Math/BigInteger.php)0
-rw-r--r--library/phpsec/Net/SFTP.php (renamed from phpsec/Net/SFTP.php)0
-rw-r--r--library/phpsec/Net/SSH1.php (renamed from phpsec/Net/SSH1.php)0
-rw-r--r--library/phpsec/Net/SSH2.php (renamed from phpsec/Net/SSH2.php)0
-rw-r--r--library/phpsec/PHP/Compat/Function/array_fill.php (renamed from phpsec/PHP/Compat/Function/array_fill.php)0
-rw-r--r--library/phpsec/PHP/Compat/Function/bcpowmod.php (renamed from phpsec/PHP/Compat/Function/bcpowmod.php)0
-rw-r--r--library/phpsec/PHP/Compat/Function/str_split.php (renamed from phpsec/PHP/Compat/Function/str_split.php)0
-rw-r--r--library/phpsec/crypt.html (renamed from phpsec/crypt.html)0
-rw-r--r--library/phpsec/docbook.css (renamed from phpsec/docbook.css)0
-rw-r--r--library/phpsec/index.html (renamed from phpsec/index.html)0
-rw-r--r--library/phpsec/intro.html (renamed from phpsec/intro.html)0
-rw-r--r--library/phpsec/math.html (renamed from phpsec/math.html)0
-rw-r--r--library/phpsec/misc_crypt.html (renamed from phpsec/misc_crypt.html)0
-rw-r--r--library/phpsec/net.html (renamed from phpsec/net.html)0
-rw-r--r--library/phpsec/sym_crypt.html (renamed from phpsec/sym_crypt.html)0
-rw-r--r--library/simplepie/LICENSE.txt (renamed from simplepie/LICENSE.txt)0
-rw-r--r--library/simplepie/README.markdown (renamed from simplepie/README.markdown)0
-rw-r--r--library/simplepie/compatibility_test/COMPATIBILITY README.txt (renamed from simplepie/compatibility_test/COMPATIBILITY README.txt)0
-rw-r--r--library/simplepie/compatibility_test/sp_compatibility_test.php (renamed from simplepie/compatibility_test/sp_compatibility_test.php)0
-rw-r--r--library/simplepie/create.php (renamed from simplepie/create.php)0
-rw-r--r--library/simplepie/db.sql (renamed from simplepie/db.sql)0
-rwxr-xr-xlibrary/simplepie/demo/cli_test.php (renamed from simplepie/demo/cli_test.php)0
-rw-r--r--library/simplepie/demo/for_the_demo/alternate_favicon.png (renamed from simplepie/demo/for_the_demo/alternate_favicon.png)bin28621 -> 28621 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/background_blockquote.png (renamed from simplepie/demo/for_the_demo/background_blockquote.png)bin27353 -> 27353 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/background_menuitem.gif (renamed from simplepie/demo/for_the_demo/background_menuitem.gif)bin533 -> 533 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/background_menuitem_off.gif (renamed from simplepie/demo/for_the_demo/background_menuitem_off.gif)bin533 -> 533 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/background_menuitem_shadow.gif (renamed from simplepie/demo/for_the_demo/background_menuitem_shadow.gif)bin250 -> 250 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/alternate.png (renamed from simplepie/demo/for_the_demo/favicons/alternate.png)bin28621 -> 28621 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/blinklist.png (renamed from simplepie/demo/for_the_demo/favicons/blinklist.png)bin4377 -> 4377 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/blogmarks.png (renamed from simplepie/demo/for_the_demo/favicons/blogmarks.png)bin3823 -> 3823 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/delicious.png (renamed from simplepie/demo/for_the_demo/favicons/delicious.png)bin3739 -> 3739 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/digg.png (renamed from simplepie/demo/for_the_demo/favicons/digg.png)bin4004 -> 4004 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/magnolia.png (renamed from simplepie/demo/for_the_demo/favicons/magnolia.png)bin4574 -> 4574 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/myweb2.png (renamed from simplepie/demo/for_the_demo/favicons/myweb2.png)bin4010 -> 4010 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/newsvine.png (renamed from simplepie/demo/for_the_demo/favicons/newsvine.png)bin3804 -> 3804 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/reddit.png (renamed from simplepie/demo/for_the_demo/favicons/reddit.png)bin4239 -> 4239 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/segnalo.png (renamed from simplepie/demo/for_the_demo/favicons/segnalo.png)bin4116 -> 4116 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/simpy.png (renamed from simplepie/demo/for_the_demo/favicons/simpy.png)bin4256 -> 4256 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/spurl.png (renamed from simplepie/demo/for_the_demo/favicons/spurl.png)bin3970 -> 3970 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/technorati.png (renamed from simplepie/demo/for_the_demo/favicons/technorati.png)bin4087 -> 4087 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/favicons/wists.png (renamed from simplepie/demo/for_the_demo/favicons/wists.png)bin3974 -> 3974 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/feed.png (renamed from simplepie/demo/for_the_demo/feed.png)bin715 -> 715 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/logo_simplepie_demo.png (renamed from simplepie/demo/for_the_demo/logo_simplepie_demo.png)bin3047 -> 3047 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/lucida-grande-bold.swf (renamed from simplepie/demo/for_the_demo/lucida-grande-bold.swf)bin21159 -> 21159 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/mediaplayer.swf (renamed from simplepie/demo/for_the_demo/mediaplayer.swf)bin32008 -> 32008 bytes
-rwxr-xr-xlibrary/simplepie/demo/for_the_demo/mediaplayer_readme.htm (renamed from simplepie/demo/for_the_demo/mediaplayer_readme.htm)0
-rw-r--r--library/simplepie/demo/for_the_demo/mini_podcast.png (renamed from simplepie/demo/for_the_demo/mini_podcast.png)bin1202 -> 1202 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/place_audio.png (renamed from simplepie/demo/for_the_demo/place_audio.png)bin851 -> 851 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/place_video.png (renamed from simplepie/demo/for_the_demo/place_video.png)bin36713 -> 36713 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/sIFR-print.css (renamed from simplepie/demo/for_the_demo/sIFR-print.css)0
-rw-r--r--library/simplepie/demo/for_the_demo/sIFR-screen.css (renamed from simplepie/demo/for_the_demo/sIFR-screen.css)0
-rw-r--r--library/simplepie/demo/for_the_demo/sifr-config.js (renamed from simplepie/demo/for_the_demo/sifr-config.js)0
-rw-r--r--library/simplepie/demo/for_the_demo/sifr.js (renamed from simplepie/demo/for_the_demo/sifr.js)0
-rw-r--r--library/simplepie/demo/for_the_demo/simplepie.css (renamed from simplepie/demo/for_the_demo/simplepie.css)0
-rw-r--r--library/simplepie/demo/for_the_demo/sleight.js (renamed from simplepie/demo/for_the_demo/sleight.js)0
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png (renamed from simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png)bin39177 -> 39177 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png (renamed from simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png)bin115826 -> 115826 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as (renamed from simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as)0
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt (renamed from simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt)0
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as (renamed from simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as)0
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as (renamed from simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as)0
-rw-r--r--library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla (renamed from simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla)bin47104 -> 47104 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/top_gradient.gif (renamed from simplepie/demo/for_the_demo/top_gradient.gif)bin1378 -> 1378 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/verdana.swf (renamed from simplepie/demo/for_the_demo/verdana.swf)bin28575 -> 28575 bytes
-rw-r--r--library/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf (renamed from simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf)bin76780 -> 76780 bytes
-rw-r--r--library/simplepie/demo/handler_image.php (renamed from simplepie/demo/handler_image.php)0
-rw-r--r--library/simplepie/demo/index.php (renamed from simplepie/demo/index.php)0
-rw-r--r--library/simplepie/demo/minimalistic.php (renamed from simplepie/demo/minimalistic.php)0
-rw-r--r--library/simplepie/demo/multifeeds.php (renamed from simplepie/demo/multifeeds.php)0
-rw-r--r--library/simplepie/demo/test.php (renamed from simplepie/demo/test.php)0
-rw-r--r--library/simplepie/idn/LICENCE (renamed from simplepie/idn/LICENCE)0
-rw-r--r--library/simplepie/idn/ReadMe.txt (renamed from simplepie/idn/ReadMe.txt)0
-rw-r--r--library/simplepie/idn/idna_convert.class.php (renamed from simplepie/idn/idna_convert.class.php)0
-rw-r--r--library/simplepie/idn/npdata.ser (renamed from simplepie/idn/npdata.ser)0
-rw-r--r--library/simplepie/simplepie.inc (renamed from simplepie/simplepie.inc)0
-rw-r--r--library/tinymce/changelog.txt (renamed from tinymce/changelog.txt)0
-rw-r--r--library/tinymce/examples/css/content.css (renamed from tinymce/examples/css/content.css)0
-rw-r--r--library/tinymce/examples/css/word.css (renamed from tinymce/examples/css/word.css)0
-rw-r--r--library/tinymce/examples/custom_formats.html (renamed from tinymce/examples/custom_formats.html)0
-rw-r--r--library/tinymce/examples/full.html (renamed from tinymce/examples/full.html)0
-rw-r--r--library/tinymce/examples/index.html (renamed from tinymce/examples/index.html)0
-rw-r--r--library/tinymce/examples/lists/image_list.js (renamed from tinymce/examples/lists/image_list.js)0
-rw-r--r--library/tinymce/examples/lists/link_list.js (renamed from tinymce/examples/lists/link_list.js)0
-rw-r--r--library/tinymce/examples/lists/media_list.js (renamed from tinymce/examples/lists/media_list.js)0
-rw-r--r--library/tinymce/examples/lists/template_list.js (renamed from tinymce/examples/lists/template_list.js)0
-rw-r--r--library/tinymce/examples/media/logo.jpg (renamed from tinymce/examples/media/logo.jpg)bin2729 -> 2729 bytes
-rw-r--r--library/tinymce/examples/media/logo_over.jpg (renamed from tinymce/examples/media/logo_over.jpg)bin6473 -> 6473 bytes
-rw-r--r--library/tinymce/examples/media/sample.avi (renamed from tinymce/examples/media/sample.avi)bin82944 -> 82944 bytes
-rw-r--r--library/tinymce/examples/media/sample.dcr (renamed from tinymce/examples/media/sample.dcr)bin6774 -> 6774 bytes
-rw-r--r--library/tinymce/examples/media/sample.mov (renamed from tinymce/examples/media/sample.mov)bin55622 -> 55622 bytes
-rw-r--r--library/tinymce/examples/media/sample.ram (renamed from tinymce/examples/media/sample.ram)0
-rw-r--r--library/tinymce/examples/media/sample.rm (renamed from tinymce/examples/media/sample.rm)bin17846 -> 17846 bytes
-rw-r--r--library/tinymce/examples/media/sample.swf (renamed from tinymce/examples/media/sample.swf)bin6118 -> 6118 bytes
-rw-r--r--library/tinymce/examples/menu.html (renamed from tinymce/examples/menu.html)0
-rw-r--r--library/tinymce/examples/simple.html (renamed from tinymce/examples/simple.html)0
-rw-r--r--library/tinymce/examples/skins.html (renamed from tinymce/examples/skins.html)0
-rw-r--r--library/tinymce/examples/templates/layout1.htm (renamed from tinymce/examples/templates/layout1.htm)0
-rw-r--r--library/tinymce/examples/templates/snippet1.htm (renamed from tinymce/examples/templates/snippet1.htm)0
-rw-r--r--library/tinymce/examples/translate.html (renamed from tinymce/examples/translate.html)0
-rw-r--r--library/tinymce/examples/word.html (renamed from tinymce/examples/word.html)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/langs/en.js (renamed from tinymce/jscripts/tiny_mce/langs/en.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/license.txt (renamed from tinymce/jscripts/tiny_mce/license.txt)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm (renamed from tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/image.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif)bin1624 -> 1624 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm (renamed from tinymce/jscripts/tiny_mce/plugins/advlink/link.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js (renamed from tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_cmp.js (renamed from tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js155
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif)bin354 -> 354 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif)bin329 -> 329 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif)bin331 -> 331 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif)bin344 -> 344 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif)bin340 -> 340 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif)bin336 -> 336 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif)bin338 -> 338 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif)bin344 -> 344 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif)bin321 -> 321 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif)bin325 -> 325 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif)bin345 -> 345 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif)bin342 -> 342 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif)bin328 -> 328 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif)bin337 -> 337 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif)bin351 -> 351 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif)bin336 -> 336 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm (renamed from tinymce/jscripts/tiny_mce/plugins/example/dialog.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif (renamed from tinymce/jscripts/tiny_mce/plugins/example/img/example.gif)bin87 -> 87 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js (renamed from tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js (renamed from tinymce/jscripts/tiny_mce/plugins/example/langs/en.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm (renamed from tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif)bin818 -> 818 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif)bin280 -> 280 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif)bin1195 -> 1195 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif)bin915 -> 915 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif)bin911 -> 911 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif)bin769 -> 769 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif)bin92 -> 92 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm (renamed from tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/css/content.css (renamed from tinymce/jscripts/tiny_mce/plugins/media/css/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/css/media.css (renamed from tinymce/jscripts/tiny_mce/plugins/media/css/media.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif)bin241 -> 241 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf)bin11668 -> 11668 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif)bin303 -> 303 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif)bin439 -> 439 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif)bin387 -> 387 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif)bin43 -> 43 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif (renamed from tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif)bin415 -> 415 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js (renamed from tinymce/jscripts/tiny_mce/plugins/media/js/embed.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/js/media.js (renamed from tinymce/jscripts/tiny_mce/plugins/media/js/media.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/media/media.htm (renamed from tinymce/jscripts/tiny_mce/plugins/media/media.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css (renamed from tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif (renamed from tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif)bin325 -> 325 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif (renamed from tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif)bin43 -> 43 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js (renamed from tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js (renamed from tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm (renamed from tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm (renamed from tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/preview/example.html (renamed from tinymce/jscripts/tiny_mce/plugins/preview/example.html)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js (renamed from tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/preview/preview.html (renamed from tinymce/jscripts/tiny_mce/plugins/preview/preview.html)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm (renamed from tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css (renamed from tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif (renamed from tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif)bin46 -> 46 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/css/props.css (renamed from tinymce/jscripts/tiny_mce/plugins/style/css/props.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/js/props.js (renamed from tinymce/jscripts/tiny_mce/plugins/style/js/props.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/style/props.htm (renamed from tinymce/jscripts/tiny_mce/plugins/style/props.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/cell.htm (renamed from tinymce/jscripts/tiny_mce/plugins/table/cell.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css (renamed from tinymce/jscripts/tiny_mce/plugins/table/css/cell.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/css/row.css (renamed from tinymce/jscripts/tiny_mce/plugins/table/css/row.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/css/table.css (renamed from tinymce/jscripts/tiny_mce/plugins/table/css/table.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/js/cell.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/js/row.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/js/row.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/js/table.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/js/table.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm (renamed from tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/row.htm (renamed from tinymce/jscripts/tiny_mce/plugins/table/row.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/table/table.htm (renamed from tinymce/jscripts/tiny_mce/plugins/table/table.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/blank.htm (renamed from tinymce/jscripts/tiny_mce/plugins/template/blank.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/css/template.css (renamed from tinymce/jscripts/tiny_mce/plugins/template/css/template.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/js/template.js (renamed from tinymce/jscripts/tiny_mce/plugins/template/js/template.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/template/template.htm (renamed from tinymce/jscripts/tiny_mce/plugins/template/template.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/about.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/about.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/image.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/image.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg (renamed from tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg)bin3189 -> 3189 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif)bin11827 -> 11827 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/about.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/image.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/link.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js (renamed from tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/link.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/link.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png)bin3274 -> 3274 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif)bin70 -> 70 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif)bin68 -> 68 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif)bin70 -> 70 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif)bin1787 -> 1787 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif)bin1326 -> 1326 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png)bin5859 -> 5859 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png)bin3736 -> 3736 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png)bin5358 -> 5358 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css (renamed from tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm (renamed from tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js (renamed from tinymce/jscripts/tiny_mce/themes/simple/editor_template.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js (renamed from tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif (renamed from tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif)bin1440 -> 1440 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js (renamed from tinymce/jscripts/tiny_mce/themes/simple/langs/en.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css (renamed from tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css (renamed from tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css (renamed from tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png (renamed from tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png)bin5102 -> 5102 bytes
-rw-r--r--library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css (renamed from tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/tiny_mce.js (renamed from tinymce/jscripts/tiny_mce/tiny_mce.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js (renamed from tinymce/jscripts/tiny_mce/tiny_mce_popup.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/tiny_mce_src.js (renamed from tinymce/jscripts/tiny_mce/tiny_mce_src.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/utils/editable_selects.js (renamed from tinymce/jscripts/tiny_mce/utils/editable_selects.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/utils/form_utils.js (renamed from tinymce/jscripts/tiny_mce/utils/form_utils.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/utils/mctabs.js (renamed from tinymce/jscripts/tiny_mce/utils/mctabs.js)0
-rw-r--r--library/tinymce/jscripts/tiny_mce/utils/validate.js (renamed from tinymce/jscripts/tiny_mce/utils/validate.js)0
-rw-r--r--mod/admin.php33
-rw-r--r--mod/attach.php45
-rw-r--r--mod/contacts.php10
-rw-r--r--mod/dfrn_confirm.php2
-rw-r--r--mod/dfrn_notify.php25
-rw-r--r--mod/display.php37
-rw-r--r--mod/events.php9
-rw-r--r--mod/friendika.php2
-rw-r--r--mod/fsuggest.php111
-rw-r--r--mod/group.php16
-rw-r--r--mod/item.php29
-rw-r--r--mod/lostpass.php8
-rw-r--r--mod/match.php9
-rw-r--r--mod/msearch.php5
-rw-r--r--mod/network.php49
-rw-r--r--mod/notifications.php75
-rw-r--r--mod/photo.php36
-rw-r--r--mod/photos.php72
-rw-r--r--mod/ping.php10
-rw-r--r--mod/profile.php43
-rw-r--r--mod/profperm.php17
-rw-r--r--mod/register.php3
-rw-r--r--mod/regmod.php3
-rw-r--r--mod/salmon.php15
-rw-r--r--mod/search.php31
-rw-r--r--mod/starred.php35
-rw-r--r--mod/webfinger.php4
-rw-r--r--mod/xrd.php2
-rw-r--r--update.php60
-rw-r--r--view/admin_users.tpl6
-rw-r--r--view/atom_suggest.tpl11
-rw-r--r--view/contact_edit.tpl1
-rw-r--r--view/contact_head.tpl2
-rw-r--r--view/crophead.tpl10
-rw-r--r--view/default.php1
-rw-r--r--view/event_head.tpl2
-rw-r--r--view/field_richtext.tpl44
-rw-r--r--view/intros.tpl2
-rw-r--r--view/jot-header.tpl2
-rw-r--r--view/msg-header.tpl2
-rw-r--r--view/profed_head.tpl2
-rw-r--r--view/suggestions.tpl20
-rw-r--r--view/theme/darkzero/style.css2
-rw-r--r--view/theme/dispy/jot-header.tpl20
-rw-r--r--view/theme/dispy/style.css9
-rw-r--r--view/theme/duepuntozero/style.css121
-rw-r--r--view/theme/loozah/style.css93
-rw-r--r--view/wall_item.tpl1
-rw-r--r--view/wallwall_item.tpl1
469 files changed, 1668 insertions, 635 deletions
diff --git a/.gitignore b/.gitignore
index 9b3b23a00..41ec42389 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,9 @@
favicon.*
.htconfig.php
\#*
-wip/*
include/jquery-1.4.2.min.js
*.log
*.out
*.version*
-push*
-langup
+favicon.*
home.html
diff --git a/.htaccess b/.htaccess
index 9cd6fa34c..73031b962 100644
--- a/.htaccess
+++ b/.htaccess
@@ -9,12 +9,13 @@ Deny from all
<IfModule mod_rewrite.c>
RewriteEngine on
-# RewriteRule api.* - [E=REMOTE_USER:%{HTTP:Authorization},L]
-
- # Protect repo directory from browsing
+ # Protect repository directory from browsing
RewriteRule "(^|/)\.git" - [F]
# Rewrite current-style URLs of the form 'index.php?q=x'.
+ # Also place auth information into REMOTE_USER for sites running
+ # in CGI mode.
+
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
diff --git a/INSTALL.txt b/INSTALL.txt
index dfc08f129..dd4c747e2 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -113,3 +113,95 @@ $a->config['system']['addon'] = 'js_upload,poormancron';
and save your changes.
+
+
+#####################################################################
+
+ If things don't work...
+
+#####################################################################
+
+
+#####################################################################
+- If you get the message
+ "System is currently unavailable. Please try again later"
+#####################################################################
+
+ Check your database settings. It usually means your database could not
+be opened or accessed. If the database resides on the same machine, check that
+the database server name is "localhost".
+
+#####################################################################
+- 500 Internal Error
+#####################################################################
+
+ This could be the result of one of our Apache directives not being
+supported by your version of Apache. Examine your apache server logs.
+ You might remove the line "Options -Indexes" from the .htaccess file if
+you are using a Windows server as this has been known to cause problems.
+Also check your file permissions. Your website and all contents must generally
+be world-readable.
+
+ It is likely that your web server reported the source of the problem in
+its error log files. Please review these system error logs to determine what
+caused the problem. Often this will need to be resolved with your hosting
+provider or (if self-hosted) your web server configuration.
+
+#####################################################################
+- 400 and 4xx "File not found" errors
+#####################################################################
+
+ First check your file permissions. Your website and all contents must
+generally be world-readable.
+
+ Ensure that mod-rewite is installed and working, and that your
+.htaccess file is being used. To verify the latter, create a file test.out
+containing the word "test" in the top directory of Friendika, make it world
+readable and point your web browser to
+
+http://yoursitenamehere.com/test.out
+
+ This file should be blocked. You should get a permission denied message.
+
+ If you see the word "test" your Apache configuration is not allowing
+your .htaccess file to be used (there are rules in this file to block access
+to any file with .out at the end, as these are typically used for system logs).
+
+ Make certain the .htaccess file exists and is readable by everybody, then
+look for the existence of "AllowOverride None" in the Apache server
+configuration for your site. This will need to be changed to
+"AllowOverride All".
+
+ If you do not see the word "test", your .htaccess is working, but it is
+likely that mod-rewrite is not installed in your web server or is not working.
+
+ On most flavour of Linux,
+
+% a2enmod rewrite
+% /etc/init.d/apache2 restart
+
+ Consult your hosting provider, experts on your particular Linux
+distribution or (if Windows) the provider of your Apache server software if
+you need to change either of these and can not figure out how. There is
+a lot of help available on the web. Google "mod-rewrite" along with the
+name of your operating system distribution or Apache package (if using
+Windows).
+
+
+#####################################################################
+- If you are unable to write the file .htconfig.php during installation
+due to permissions issues:
+#####################################################################
+
+ create an empty file with that name and give it world-write permission.
+For Linux:
+
+% touch .htconfig.php
+% chmod 777 .htconfig.php
+
+Retry the installation. As soon as the database has been created,
+
+******* this is important *********
+
+% chmod 755 .htconfig.php
+
diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php
index 15dffa594..c54d5b5f0 100644
--- a/addon/facebook/facebook.php
+++ b/addon/facebook/facebook.php
@@ -43,6 +43,25 @@
define('FACEBOOK_MAXPOSTLEN', 420);
+
+function facebook_install() {
+ register_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+ register_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets');
+ register_hook('plugin_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
+ register_hook('cron', 'addon/facebook/facebook.php', 'facebook_cron');
+ register_hook('queue_predeliver', 'addon/facebook/facebook.php', 'fb_queue_hook');
+}
+
+
+function facebook_uninstall() {
+ unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+ unregister_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets');
+ unregister_hook('plugin_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
+ unregister_hook('cron', 'addon/facebook/facebook.php', 'facebook_cron');
+ unregister_hook('queue_predeliver', 'addon/facebook/facebook.php', 'fb_queue_hook');
+}
+
+
/* declare the facebook_module function so that /facebook url requests will land here */
function facebook_module() {}
@@ -339,22 +358,6 @@ function facebook_content(&$a) {
return $o;
}
-function facebook_install() {
- register_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
- register_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets');
- register_hook('plugin_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
- register_hook('cron', 'addon/facebook/facebook.php', 'facebook_cron');
- register_hook('queue_predeliver', 'addon/facebook/facebook.php', 'fb_queue_hook');
-}
-
-
-function facebook_uninstall() {
- unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
- unregister_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets');
- unregister_hook('plugin_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
- unregister_hook('cron', 'addon/facebook/facebook.php', 'facebook_cron');
- unregister_hook('queue_predeliver', 'addon/facebook/facebook.php', 'fb_queue_hook');
-}
function facebook_cron($a,$b) {
@@ -373,9 +376,12 @@ function facebook_cron($a,$b) {
logger('facebook_cron');
- set_config('facebook','last_poll', time());
- $r = q("SELECT * FROM `pconfig` WHERE `cat` = 'facebook' AND `k` = 'post' AND `v` = '1' ");
+ // Find the FB users on this site and randomize in case one of them
+ // uses an obscene amount of memory. It may kill this queue run
+ // but hopefully we'll get a few others through on each run.
+
+ $r = q("SELECT * FROM `pconfig` WHERE `cat` = 'facebook' AND `k` = 'post' AND `v` = '1' ORDER BY RAND() ");
if(count($r)) {
foreach($r as $rr) {
// check for new friends once a day
@@ -389,6 +395,9 @@ function facebook_cron($a,$b) {
fb_consume_all($rr['uid']);
}
}
+
+ set_config('facebook','last_poll', time());
+
}
@@ -431,6 +440,10 @@ function facebook_post_hook(&$a,&$b) {
if((local_user()) && (local_user() == $b['uid'])) {
+ // Facebook is not considered a private network
+ if($b['prvnets'] && $b['private'])
+ return;
+
if($b['parent']) {
$r = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($b['parent']),
@@ -817,7 +830,7 @@ function fb_consume_stream($uid,$j,$wall = false) {
$datarray['owner-avatar'] = $self[0]['thumb'];
}
if(isset($entry->application) && isset($entry->application->name) && strlen($entry->application->name))
- $datarray['app'] = $entry->application->name;
+ $datarray['app'] = strip_tags($entry->application->name);
else
$datarray['app'] = 'facebook';
$datarray['author-name'] = $from->name;
diff --git a/addon/oembed/oembed.php b/addon/oembed/oembed.php
index 7e677fd6f..880e4992f 100644
--- a/addon/oembed/oembed.php
+++ b/addon/oembed/oembed.php
@@ -25,9 +25,9 @@ function oembed_uninstall() {
function oembed_settings_post($a,$b){
if(! local_user())
return;
- if (isset($_POST['oembed-submit'])){
- set_pconfig(local_user(), 'oembed', 'use_for_youtube', (isset($_POST['oembed_use_for_youtube'])? intval($_POST['oembed_use_for_youtube']):0));
- notice( t('OEmbed settings updated') . EOL);
+ if (x($_POST,'oembed-submit')){
+ set_pconfig(local_user(), 'oembed', 'use_for_youtube', (x($_POST,'oembed_use_for_youtube')? intval($_POST['oembed_use_for_youtube']):0));
+ info( t('OEmbed settings updated') . EOL);
}
}
@@ -36,21 +36,13 @@ function oembed_settings(&$a,&$o) {
return;
$uofy = intval(get_pconfig(local_user(), 'oembed', 'use_for_youtube' ));
- $o.='
- <div class="settings-block">
- <h3 class="settings-heading">OEmbed</h3>
- <div id="settings-username-wrapper">
- <label for="oembed_use_for_youtube">'
- .t('Use OEmbed for YouTube videos: ')
- .'</label><input type="checkbox" id="oembed_use_for_youtube" name="oembed_use_for_youtube" value="1"'
- . ($uofy==1?'checked="true"':'')
- .' />
- </div>
- <div id="settings-username-end"></div>
- <div class="settings-submit-wrapper">
- <input type="submit" value="'.t('Submit').'" class="settings-submit" name="oembed-submit" />
- </div>
- </div>';
+ $t = file_get_contents( dirname(__file__). "/settings.tpl" );
+ $o .= replace_macros($t, array(
+ '$submit' => t('Submit'),
+ '$title' => "OEmbed",
+ '$useoembed' => array('oembed_use_for_youtube', t('Use OEmbed for YouTube videos'), $uofy, ""),
+ ));
+
}
diff --git a/addon/oembed/settings.tpl b/addon/oembed/settings.tpl
new file mode 100644
index 000000000..5a65ef8e5
--- /dev/null
+++ b/addon/oembed/settings.tpl
@@ -0,0 +1,7 @@
+<div class="settings-block">
+ <h3 class="settings-heading">$title</h3>
+ {{ inc field_checkbox.tpl with $field=$useoembed }}{{ endinc }}
+ <div class="settings-submit-wrapper">
+ <input type="submit" value="$submit" class="settings-submit" name="oembed-submit" />
+ </div>
+</div>
diff --git a/addon/piwik/admin.tpl b/addon/piwik/admin.tpl
new file mode 100644
index 000000000..0edd06210
--- /dev/null
+++ b/addon/piwik/admin.tpl
@@ -0,0 +1,4 @@
+{{ inc field_input.tpl with $field=$baseurl }}{{ endinc }}
+{{ inc field_input.tpl with $field=$siteid }}{{ endinc }}
+{{ inc field_checkbox.tpl with $field=$optout }}{{ endinc }}
+<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
diff --git a/addon/piwik/piwik.php b/addon/piwik/piwik.php
index 032f84f4b..3cc136d29 100644
--- a/addon/piwik/piwik.php
+++ b/addon/piwik/piwik.php
@@ -18,10 +18,10 @@
* Add the following two lines to your .htconfig.php file:
*
* $a->config['piwik']['baseurl'] = 'www.example.com/piwik/';
- * $a->config['piwik']['sideid'] = '1';
+ * $a->config['piwik']['siteid'] = '1';
* $a->config['piwik']['optout'] = true; // set to false to disable
*
- * Change the sideid to the ID that the Piwik tracker for your Friendika
+ * Change the siteid to the ID that the Piwik tracker for your Friendika
* installation has. Alter the baseurl to fit your needs, don't care
* about http/https but beware to put the trailing / at the end of your
* setting.
@@ -54,13 +54,13 @@ function piwik_analytics($a,&$b) {
* Get the configuration variables from the .htconfig file.
*/
$baseurl = get_config('piwik','baseurl');
- $sideod = get_config('piwik','sideid');
+ $siteid = get_config('piwik','siteid');
$optout = get_config('piwik','optout');
/*
- * Add the Piwik code for the side.
+ * Add the Piwik code for the site.
*/
- $b .= "<div id='piwik-code-block'> <!-- Piwik -->\r\n <script type=\"text/javascript\">\r\n var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://".$baseurl."\" : \"http://".$baseurl."\");\r\n document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\"));\r\n </script>\r\n<script type=\"text/javascript\">\r\n try {\r\n var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", 8);\r\n piwikTracker.trackPageView();\r\n piwikTracker.enableLinkTracking();\r\n }\r\n catch( err ) {}\r\n </script>\r\n<noscript><p><img src=\"http://".$baseurl."/piwik.php?idsite=8\" style=\"border:0\" alt=\"\" /></p></noscript>\r\n <!-- End Piwik Tracking Tag --> </div>";
+ $b .= "<div id='piwik-code-block'> <!-- Piwik -->\r\n <script type=\"text/javascript\">\r\n var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://".$baseurl."\" : \"http://".$baseurl."\");\r\n document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\"));\r\n </script>\r\n<script type=\"text/javascript\">\r\n try {\r\n var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", ".$siteid.");\r\n piwikTracker.trackPageView();\r\n piwikTracker.enableLinkTracking();\r\n }\r\n catch( err ) {}\r\n </script>\r\n<noscript><p><img src=\"http://".$baseurl."/piwik.php?idsite=".$siteid."\" style=\"border:0\" alt=\"\" /></p></noscript>\r\n <!-- End Piwik Tracking Tag --> </div>";
/*
* If the optout variable is set to true then display the notice
* otherwise just include the above code into the page.
@@ -70,4 +70,21 @@ function piwik_analytics($a,&$b) {
}
}
-
+function piwik_plugin_admin (&$a, &$o) {
+ $t = file_get_contents( dirname(__file__)."/admin.tpl");
+ $o = replace_macros( $t, array(
+ '$submit' => t('Submit'),
+ '$baseurl' => array('baseurl', t('Piwik Base URL'), get_config('piwik','baseurl' ), ''),
+ '$siteid' => array('siteid', t('Site ID'), get_config('piwik','siteid' ), ''),
+ '$optout' => array('optout', t('Show opt-out cookie link?'), get_config('piwik','optout' ), ''),
+ ));
+}
+function piwik_plugin_admin_post (&$a) {
+ $url = ((x($_POST, 'baseurl')) ? notags(trim($_POST['baseurl'])) : '');
+ $id = ((x($_POST, 'siteid')) ? trim($_POST['siteid']) : '');
+ $optout = ((x($_POST, 'optout')) ? trim($_POST['optout']) : '');
+ set_config('piwik', 'baseurl', $url);
+ set_config('piwik', 'siteid', $id);
+ set_config('piwik', 'optout', $optout);
+ info( t('Settings updated.'). EOL);
+}
diff --git a/addon/statusnet/statusnet.php b/addon/statusnet/statusnet.php
index 85024631c..9357b0ebd 100644
--- a/addon/statusnet/statusnet.php
+++ b/addon/statusnet/statusnet.php
@@ -89,6 +89,9 @@ function statusnet_jot_nets(&$a,&$b) {
function statusnet_settings_post ($a,$post) {
if(! local_user())
return;
+ // don't check statusnet settings if statusnet submit button is not clicked
+ if (!x($_POST,'statusnet-submit')) return;
+
if (isset($_POST['statusnet-disconnect'])) {
/***
* if the statusnet-disconnect checkbox is set, clear the statusnet configuration
@@ -152,28 +155,28 @@ function statusnet_settings_post ($a,$post) {
goaway($a->get_baseurl().'/settings/addon');
} else {
if (isset($_POST['statusnet-pin'])) {
- // if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
- logger('got a StatusNet security code');
+ // if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
+ logger('got a StatusNet security code');
$api = get_pconfig(local_user(), 'statusnet', 'baseapi');
- $ckey = get_pconfig(local_user(), 'statusnet', 'consumerkey' );
- $csecret = get_pconfig(local_user(), 'statusnet', 'consumersecret' );
- // the token and secret for which the PIN was generated were hidden in the settings
- // form as token and token2, we need a new connection to Twitter using these token
- // and secret to request a Access Token with the PIN
- $connection = new StatusNetOAuth($api, $ckey, $csecret, $_POST['statusnet-token'], $_POST['statusnet-token2']);
- $token = $connection->getAccessToken( $_POST['statusnet-pin'] );
- // ok, now that we have the Access Token, save them in the user config
- set_pconfig(local_user(),'statusnet', 'oauthtoken', $token['oauth_token']);
- set_pconfig(local_user(),'statusnet', 'oauthsecret', $token['oauth_token_secret']);
+ $ckey = get_pconfig(local_user(), 'statusnet', 'consumerkey' );
+ $csecret = get_pconfig(local_user(), 'statusnet', 'consumersecret' );
+ // the token and secret for which the PIN was generated were hidden in the settings
+ // form as token and token2, we need a new connection to Twitter using these token
+ // and secret to request a Access Token with the PIN
+ $connection = new StatusNetOAuth($api, $ckey, $csecret, $_POST['statusnet-token'], $_POST['statusnet-token2']);
+ $token = $connection->getAccessToken( $_POST['statusnet-pin'] );
+ // ok, now that we have the Access Token, save them in the user config
+ set_pconfig(local_user(),'statusnet', 'oauthtoken', $token['oauth_token']);
+ set_pconfig(local_user(),'statusnet', 'oauthsecret', $token['oauth_token_secret']);
set_pconfig(local_user(),'statusnet', 'post', 1);
// reload the Addon Settings page, if we don't do it see Bug #42
goaway($a->get_baseurl().'/settings/addon');
- } else {
- // if no PIN is supplied in the POST variables, the user has changed the setting
- // to post a tweet for every new __public__ posting to the wall
- set_pconfig(local_user(),'statusnet','post',intval($_POST['statusnet-enable']));
- set_pconfig(local_user(),'statusnet','post_by_default',intval($_POST['statusnet-default']));
- info( t('StatusNet settings updated.') . EOL);
+ } else {
+ // if no PIN is supplied in the POST variables, the user has changed the setting
+ // to post a tweet for every new __public__ posting to the wall
+ set_pconfig(local_user(),'statusnet','post',intval($_POST['statusnet-enable']));
+ set_pconfig(local_user(),'statusnet','post_by_default',intval($_POST['statusnet-default']));
+ info( t('StatusNet settings updated.') . EOL);
}}}}
}
function statusnet_settings(&$a,&$s) {
@@ -217,7 +220,7 @@ function statusnet_settings(&$a,&$s) {
$s .= '<input type="radio" name="statusnet-preconf-apiurl" value="'. $asn['apiurl'] .'">'. $asn['sitename'] .'<br />';
}
$s .= '<p></p><div class="clear"></div></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="statusnet-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
}
$s .= '<h4>' . t('Provide your own OAuth Credentials') . '</h4>';
$s .= '<p>'. t('No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation.') .'</p>';
@@ -231,7 +234,7 @@ function statusnet_settings(&$a,&$s) {
$s .= '<label id="statusnet-baseapi-label" for="statusnet-baseapi">'. t("Base API Path \x28remember the trailing /\x29") .'</label>';
$s .= '<input id="statusnet-baseapi" type="text" name="statusnet-baseapi" size="35" /><br />';
$s .= '<p></p><div class="clear"></div></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="statusnet-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
} else {
/***
* ok we have a consumer key pair now look into the OAuth stuff
@@ -256,15 +259,15 @@ function statusnet_settings(&$a,&$s) {
$s .= '<input id="statusnet-pin" type="text" name="statusnet-pin" />';
$s .= '<input id="statusnet-token" type="hidden" name="statusnet-token" value="'.$token.'" />';
$s .= '<input id="statusnet-token2" type="hidden" name="statusnet-token2" value="'.$request_token['oauth_token_secret'].'" />';
- $s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
- $s .= '<h4>'.t('Cancel Connection Process').'</h4>';
- $s .= '<div id="statusnet-cancel-wrapper">';
- $s .= '<p>'.t('Current StatusNet API is').': '.$api.'</p>';
- $s .= '<label id="statusnet-cancel-label" for="statusnet-cancel">'. t('Cancel StatusNet Connection') . '</label>';
- $s .= '<input id="statusnet-cancel" type="checkbox" name="statusnet-disconnect" value="1" />';
- $s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '</div><div class="clear"></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<h4>'.t('Cancel Connection Process').'</h4>';
+ $s .= '<div id="statusnet-cancel-wrapper">';
+ $s .= '<p>'.t('Current StatusNet API is').': '.$api.'</p>';
+ $s .= '<label id="statusnet-cancel-label" for="statusnet-cancel">'. t('Cancel StatusNet Connection') . '</label>';
+ $s .= '<input id="statusnet-cancel" type="checkbox" name="statusnet-disconnect" value="1" />';
+ $s .= '</div><div class="clear"></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="statusnet-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
} else {
/***
* we have an OAuth key / secret pair for the user
@@ -286,7 +289,7 @@ function statusnet_settings(&$a,&$s) {
$s .= '<label id="statusnet-disconnect-label" for="statusnet-disconnect">'. t('Clear OAuth configuration') .'</label>';
$s .= '<input id="statusnet-disconnect" type="checkbox" name="statusnet-disconnect" value="1" />';
$s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="statusnet-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
}
}
$s .= '</div><div class="clear"></div></div>';
@@ -303,10 +306,14 @@ function statusnet_post_hook(&$a,&$b) {
if((local_user()) && (local_user() == $b['uid']) && (! $b['private']) && (!$b['parent']) ) {
- load_pconfig(local_user(), 'statusnet');
+ // Status.Net is not considered a private network
+ if($b['prvnets'])
+ return;
+
+ load_pconfig(local_user(), 'statusnet');
- $api = get_pconfig(local_user(), 'statusnet', 'baseapi');
- $ckey = get_pconfig(local_user(), 'statusnet', 'consumerkey' );
+ $api = get_pconfig(local_user(), 'statusnet', 'baseapi');
+ $ckey = get_pconfig(local_user(), 'statusnet', 'consumerkey' );
$csecret = get_pconfig(local_user(), 'statusnet', 'consumersecret' );
$otoken = get_pconfig(local_user(), 'statusnet', 'oauthtoken' );
$osecret = get_pconfig(local_user(), 'statusnet', 'oauthsecret' );
diff --git a/addon/twitter/twitter.php b/addon/twitter/twitter.php
index aeb9cc937..183c71126 100644
--- a/addon/twitter/twitter.php
+++ b/addon/twitter/twitter.php
@@ -76,6 +76,9 @@ function twitter_jot_nets(&$a,&$b) {
function twitter_settings_post ($a,$post) {
if(! local_user())
return;
+ // don't check twitter settings if twitter submit button is not clicked
+ if (!x($_POST,'twitter-submit')) return;
+
if (isset($_POST['twitter-disconnect'])) {
/***
* if the twitter-disconnect checkbox is set, clear the OAuth key/secret pair
@@ -159,7 +162,7 @@ function twitter_settings(&$a,&$s) {
$s .= '<input id="twitter-token" type="hidden" name="twitter-token" value="'.$token.'" />';
$s .= '<input id="twitter-token2" type="hidden" name="twitter-token2" value="'.$request_token['oauth_token_secret'].'" />';
$s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
} else {
/***
* we have an OAuth key / secret pair for the user
@@ -178,7 +181,7 @@ function twitter_settings(&$a,&$s) {
$s .= '<label id="twitter-disconnect-label" for="twitter-disconnect">'. t('Clear OAuth configuration') .'</label>';
$s .= '<input id="twitter-disconnect" type="checkbox" name="twitter-disconnect" value="1" />';
$s .= '</div><div class="clear"></div>';
- $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
+ $s .= '<div class="settings-submit-wrapper" ><input type="submit" name="twitter-submit" class="settings-submit" value="' . t('Submit') . '" /></div>';
}
}
$s .= '</div><div class="clear"></div></div>';
@@ -195,6 +198,11 @@ function twitter_post_hook(&$a,&$b) {
if((local_user()) && (local_user() == $b['uid']) && (! $b['private']) && (! $b['parent']) ) {
+ // Twitter is not considered a private network
+ if($b['prvnets'])
+ return;
+
+
load_pconfig(local_user(), 'twitter');
$ckey = get_config('twitter', 'consumerkey' );
diff --git a/addon/widgets/settings.tpl b/addon/widgets/settings.tpl
new file mode 100644
index 000000000..9d0f21d29
--- /dev/null
+++ b/addon/widgets/settings.tpl
@@ -0,0 +1,19 @@
+<div class="settings-block">
+ <h3 class="settings-heading">$title</h3>
+ <div class='field noedit'>
+ <label>$label</label>
+ <tt>$key</tt>
+ </div>
+
+ <div class="settings-submit-wrapper">
+ <input type="submit" value="$submit" class="settings-submit" name="widgets-submit" />
+ </div>
+
+ <h4>$widgets_h</h4>
+ <ul>
+ {{ for $widgets as $w }}
+ <li><a href="$baseurl/widgets/$w.0/?k=$key&p=1">$w.1</a></li>
+ {{ endfor }}
+ </ul>
+
+</div>
diff --git a/addon/widgets/widgets.php b/addon/widgets/widgets.php
index f5f868222..13c4f93bb 100644
--- a/addon/widgets/widgets.php
+++ b/addon/widgets/widgets.php
@@ -33,34 +33,32 @@ function widgets_settings(&$a,&$o) {
$key = get_pconfig(local_user(), 'widgets', 'key' );
if ($key=='') { $key = mt_rand(); set_pconfig(local_user(), 'widgets', 'key', $key); }
-
- $o .='<h3 class="settings-heading">Widgets</h3>';
-
-
- $o.='
- <div id="settings-username-wrapper">
- '. t('Widgets key: ') .'<strong>'.$key.'</strong>
- </div>
- <div id="settings-username-end"></div>
- <div class="settings-submit-wrapper">
- <input type="submit" value="'.t('Generate new key').'" class="settings-submit" name="widgets-submit">
- </div>';
-
-
- $o.='<h4>Widgets:</h4>';
- $o .= '<ul>';
+
+ $widgets = array();
$d = dir(dirname(__file__));
while(false !== ($f = $d->read())) {
if(substr($f,0,7)=="widget_") {
preg_match("|widget_([^.]+).php|", $f, $m);
$w=$m[1];
require_once($f);
- $o.='<li><a href="'.$a->get_baseurl().'/widgets/'.$w.'/?k='.$key.'&p=1">'. call_user_func($w."_widget_name") .'</a></li>';
+ $widgets[] = array($w, call_user_func($w."_widget_name"));
+
}
}
- $o .= '</ul>';
-
+
+
+ $t = file_get_contents( dirname(__file__). "/settings.tpl" );
+ $o .= replace_macros($t, array(
+ '$submit' => t('Generate new key'),
+ '$baseurl' => $a->get_baseurl(),
+ '$title' => "Widgets",
+ '$label' => t('Widgets key'),
+ '$key' => $key,
+ '$widgets_h' => t('Widgets available'),
+ '$widgets' => $widgets,
+ ));
+
}
function widgets_module() {
diff --git a/boot.php b/boot.php
index c5751da37..855a67dfd 100644
--- a/boot.php
+++ b/boot.php
@@ -4,9 +4,9 @@ set_time_limit(0);
ini_set('pcre.backtrack_limit', 250000);
-define ( 'FRIENDIKA_VERSION', '2.2.1019' );
+define ( 'FRIENDIKA_VERSION', '2.2.1030' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
-define ( 'DB_UPDATE_VERSION', 1066 );
+define ( 'DB_UPDATE_VERSION', 1073 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -56,9 +56,9 @@ define ( 'REGISTER_OPEN', 2 );
* this relationship with contact['name']
*/
-define ( 'REL_VIP', 1);
-define ( 'REL_FAN', 2);
-define ( 'REL_BUD', 3);
+define ( 'REL_VIP', 1); // other person is 'following' us
+define ( 'REL_FAN', 2); // we are 'following' other person
+define ( 'REL_BUD', 3); // mutual relationship
/**
* Hook array order
@@ -296,6 +296,8 @@ class App {
$this->module = str_replace(".", "_", $this->argv[0]);
}
else {
+ $this->argc = 1;
+ $this->argv = array('home');
$this->module = 'home';
}
@@ -498,9 +500,6 @@ function install_plugin($plugin){
if(! function_exists('check_config')) {
function check_config(&$a) {
-
- load_config('system');
-
$build = get_config('system','build');
if(! x($build))
$build = set_config('system','build',DB_UPDATE_VERSION);
@@ -674,7 +673,7 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
-
+ curl_setopt($ch, CURLOPT_USERAGENT, "Friendika");
$curl_time = intval(get_config('system','curl_timeout'));
curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
@@ -703,13 +702,21 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
$s = @curl_exec($ch);
- $http_code = intval(curl_getinfo($ch, CURLINFO_HTTP_CODE));
- $header = substr($s,0,strpos($s,"\r\n\r\n"));
- if(stristr($header,'100') && (strlen($header) < 30)) {
- // 100 Continue has two headers, get the real one
- $s = substr($s,strlen($header)+4);
- $header = substr($s,0,strpos($s,"\r\n\r\n"));
+ $base = $s;
+ $curl_info = curl_getinfo($ch);
+ $http_code = $curl_info['http_code'];
+
+ $header = '';
+
+ // Pull out multiple headers, e.g. proxy and continuation headers
+ // allow for HTTP/2.x without fixing code
+
+ while(preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
+ $chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
+ $header .= $chunk;
+ $base = substr($base,strlen($chunk));
}
+
if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
$matches = array();
preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
@@ -720,16 +727,10 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
return fetch_url($url,$binary,$redirects);
}
}
- $a->set_curl_code($http_code);
-
- $body = substr($s,strlen($header)+4);
- /* one more try to make sure there are no more headers */
+ $a->set_curl_code($http_code);
- if(strpos($body,'HTTP/') === 0) {
- $header = substr($body,0,strpos($body,"\r\n\r\n"));
- $body = substr($body,strlen($header)+4);
- }
+ $body = substr($s,strlen($header));
$a->set_curl_headers($header);
@@ -750,6 +751,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0) {
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
+ curl_setopt($ch, CURLOPT_USERAGENT, "Friendika");
$curl_time = intval(get_config('system','curl_timeout'));
curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
@@ -775,13 +777,21 @@ function post_url($url,$params, $headers = null, &$redirects = 0) {
$s = @curl_exec($ch);
- $http_code = intval(curl_getinfo($ch, CURLINFO_HTTP_CODE));
- $header = substr($s,0,strpos($s,"\r\n\r\n"));
- if(stristr($header,'100') && (strlen($header) < 30)) {
- // 100 Continue has two headers, get the real one
- $s = substr($s,strlen($header)+4);
- $header = substr($s,0,strpos($s,"\r\n\r\n"));
+ $base = $s;
+ $curl_info = curl_getinfo($ch);
+ $http_code = $curl_info['http_code'];
+
+ $header = '';
+
+ // Pull out multiple headers, e.g. proxy and continuation headers
+ // allow for HTTP/2.x without fixing code
+
+ while(preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
+ $chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
+ $header .= $chunk;
+ $base = substr($base,strlen($chunk));
}
+
if($http_code == 301 || $http_code == 302 || $http_code == 303) {
$matches = array();
preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
@@ -793,14 +803,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0) {
}
}
$a->set_curl_code($http_code);
- $body = substr($s,strlen($header)+4);
-
- /* one more try to make sure there are no more headers */
-
- if(strpos($body,'HTTP/') === 0) {
- $header = substr($body,0,strpos($body,"\r\n\r\n"));
- $body = substr($body,strlen($header)+4);
- }
+ $body = substr($s,strlen($header));
$a->set_curl_headers($header);
@@ -1218,7 +1221,11 @@ function load_config($family) {
if(count($r)) {
foreach($r as $rr) {
$k = $rr['k'];
- $a->config[$family][$k] = $rr['v'];
+ if ($rr['cat'] === 'config') {
+ $a->config[$k] = $rr['v'];
+ } else {
+ $a->config[$family][$k] = $rr['v'];
+ }
}
}
}}
@@ -1685,8 +1692,10 @@ function fetch_lrdd_template($host) {
$url1 = 'https://' . $host . '/.well-known/host-meta' ;
$url2 = 'http://' . $host . '/.well-known/host-meta' ;
$links = fetch_xrd_links($url1);
+ logger('fetch_lrdd_template from: ' . $url1);
logger('template (https): ' . print_r($links,true));
if(! count($links)) {
+ logger('fetch_lrdd_template from: ' . $url2);
$links = fetch_xrd_links($url2);
logger('template (http): ' . print_r($links,true));
}
@@ -2015,7 +2024,7 @@ function get_tags($s) {
$s = preg_replace('/\[code\](.*?)\[\/code\]/sm','',$s);
- if(preg_match_all('/([@#][^ \x0D\x0A,:?]+)([ \x0D\x0A,:?]|$)/',$s,$match)) {
+ if(preg_match_all('/([@#][^ \x0D\x0A,:?]+ [^ \x0D\x0A,:?]+)([ \x0D\x0A,:?]|$)/',$s,$match)) {
foreach($match[1] as $mtch) {
if(strstr($mtch,"]")) {
// we might be inside a bbcode color tag - leave it alone
@@ -2028,6 +2037,18 @@ function get_tags($s) {
}
}
+ if(preg_match_all('/([@#][^ \x0D\x0A,:?]+)([ \x0D\x0A,:?]|$)/',$s,$match)) {
+ foreach($match[1] as $mtch) {
+ if(strstr($mtch,"]")) {
+ // we might be inside a bbcode color tag - leave it alone
+ continue;
+ }
+ if(substr($mtch,-1,1) === '.')
+ $ret[] = substr($mtch,0,-1);
+ else
+ $ret[] = $mtch;
+ }
+ }
return $ret;
}}
@@ -2415,7 +2436,7 @@ function profile_sidebar($profile) {
));
- $arr = array('profile' => $profile, 'entry' => $o);
+ $arr = array('profile' => &$profile, 'entry' => &$o);
call_hooks('profile_sidebar', $arr);
@@ -2891,3 +2912,15 @@ function get_plugin_info($plugin){
}
return $info;
}}
+
+if(! function_exists('return_bytes')) {
+function return_bytes ($size_str) {
+ switch (substr ($size_str, -1))
+ {
+ case 'M': case 'm': return (int)$size_str * 1048576;
+ case 'K': case 'k': return (int)$size_str * 1024;
+ case 'G': case 'g': return (int)$size_str * 1073741824;
+ default: return $size_str;
+ }
+}}
+
diff --git a/database.sql b/database.sql
index 284ab0afc..4952e7c62 100644
--- a/database.sql
+++ b/database.sql
@@ -169,9 +169,10 @@ CREATE TABLE IF NOT EXISTS `item` (
`parent-uri` char(255) NOT NULL,
`extid` char(255) NOT NULL,
`thr-parent` char(255) NOT NULL,
- `created` datetime NOT NULL,
- `edited` datetime NOT NULL,
- `changed` datetime NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`owner-name` char(255) NOT NULL,
`owner-link` char(255) NOT NULL,
`owner-avatar` char(255) NOT NULL,
@@ -201,6 +202,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`private` tinyint(1) NOT NULL DEFAULT '0',
`pubmail` tinyint(1) NOT NULL DEFAULT '0',
`visible` tinyint(1) NOT NULL DEFAULT '0',
+ `starred` tinyint(1) NOT NULL DEFAULT '0',
`unseen` tinyint(1) NOT NULL DEFAULT '1',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
`last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
@@ -215,7 +217,9 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `extid` (`extid`),
KEY `created` (`created`),
KEY `edited` (`edited`),
+ KEY `received` (`received`),
KEY `visible` (`visible`),
+ KEY `starred` (`starred`),
KEY `deleted` (`deleted`),
KEY `last-child` (`last-child`),
KEY `unseen` (`unseen`),
@@ -241,7 +245,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
`from-url` char(255) NOT NULL,
`contact-id` char(255) NOT NULL,
`title` char(255) NOT NULL,
- `body` text NOT NULL,
+ `body` mediumtext NOT NULL,
`seen` tinyint(1) NOT NULL,
`replied` tinyint(1) NOT NULL,
`uri` char(255) NOT NULL,
@@ -276,7 +280,12 @@ CREATE TABLE IF NOT EXISTS `photo` (
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`id`)
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `resource-id` (`resource-id`),
+ KEY `album` (`album`),
+ KEY `scale` (`scale`),
+ KEY `profile` (`profile`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
@@ -507,7 +516,8 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`url` CHAR( 255 ) NOT NULL ,
`name` CHAR( 255 ) NOT NULL ,
-`photo` CHAR( 255 ) NOT NULL
+`photo` CHAR( 255 ) NOT NULL ,
+`request` CHAR( 255 ) NOT NULL
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `ffinder` (
@@ -518,6 +528,19 @@ CREATE TABLE IF NOT EXISTS `ffinder` (
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `fsuggest` (
+`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+`uid` INT NOT NULL ,
+`cid` INT NOT NULL ,
+`name` CHAR( 255 ) NOT NULL ,
+`url` CHAR( 255 ) NOT NULL ,
+`request` CHAR( 255 ) NOT NULL,
+`photo` CHAR( 255 ) NOT NULL ,
+`note` TEXT NOT NULL ,
+`created` DATETIME NOT NULL
+) ENGINE = MYISAM DEFAULT CHARSET=utf8;
+
+
CREATE TABLE IF NOT EXISTS `mailacct` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`uid` INT NOT NULL,
diff --git a/favicon.gif b/favicon.gif
deleted file mode 100644
index e69de29bb..000000000
--- a/favicon.gif
+++ /dev/null
diff --git a/favicon.ico b/favicon.ico
deleted file mode 100644
index e69de29bb..000000000
--- a/favicon.ico
+++ /dev/null
diff --git a/images/icons.png b/images/icons.png
index fee7781c8..494555aa6 100644
--- a/images/icons.png
+++ b/images/icons.png
Binary files differ
diff --git a/include/Photo.php b/include/Photo.php
index 707b0de5d..de4c3d9e0 100644
--- a/include/Photo.php
+++ b/include/Photo.php
@@ -230,21 +230,21 @@ function import_profile_photo($photo,$uid,$cid) {
$hash = photo_new_resource();
- $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 4 );
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 );
if($r === false)
$photo_failure = true;
$img->scaleImage(80);
- $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 5 );
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 );
if($r === false)
$photo_failure = true;
$img->scaleImage(48);
- $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 6 );
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 );
if($r === false)
$photo_failure = true;
diff --git a/include/Scrape.php b/include/Scrape.php
index 505d2bf99..698ec9cf0 100644
--- a/include/Scrape.php
+++ b/include/Scrape.php
@@ -423,7 +423,7 @@ function probe_url($url) {
$poll = $tapi . '?user_id=' . $tid;
else
$poll = $tapi . '?screen_name=' . $tid;
- $profile = 'http://twitter.com/!#/' . $tid;
+ $profile = 'http://twitter.com/#!/' . $tid;
}
if(! x($vcard,'fn'))
@@ -442,7 +442,7 @@ function probe_url($url) {
if(x($feedret,'photo'))
$vcard['photo'] = $feedret['photo'];
- require_once('simplepie/simplepie.inc');
+ require_once('library/simplepie/simplepie.inc');
$feed = new SimplePie();
$xml = fetch_url($poll);
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 90fdf9c1c..c3e26082e 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -41,6 +41,115 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
}
+function contact_selector($selname, $selclass, $preselected = false, $options) {
+
+ $a = get_app();
+
+ $mutual = false;
+ $networks = null;
+ $single = false;
+ $exclude = false;
+ $size = 4;
+
+ if(is_array($options)) {
+ if(x($options,'size'))
+ $size = $options['size'];
+
+ if(x($options,'mutual_friends'))
+ $mutual = true;
+ if(x($options,'single'))
+ $single = true;
+ if(x($options,'multiple'))
+ $single = false;
+ if(x($options,'exclude'))
+ $exclude = $options['exclude'];
+
+ if(x($options,'networks')) {
+ switch($options['networks']) {
+ case 'DFRN_ONLY':
+ $networks = array('dfrn');
+ break;
+ case 'PRIVATE':
+ if(is_array($a->user) && $a->user['prvnets'])
+ $networks = array('dfrn','mail','dspr');
+ else
+ $networks = array('dfrn','face','mail', 'dspr');
+ break;
+ case 'TWO_WAY':
+ if(is_array($a->user) && $a->user['prvnets'])
+ $networks = array('dfrn','mail','dspr');
+ else
+ $networks = array('dfrn','face','mail','dspr','stat');
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ $x = array('options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks);
+
+ call_hooks('contact_select_options', $x);
+
+ $o = '';
+
+ $sql_extra = '';
+
+ if($x['mutual']) {
+ $sql_extra .= sprintf(" AND `rel` = %d ", intval(REL_BUD));
+ }
+
+ if(intval($x['exclude']))
+ $sql_extra .= sprintf(" AND `id` != %d ", intval($x['exclude']));
+
+ if(is_array($x['networks']) && count($x['networks'])) {
+ for($y = 0; $y < count($x['networks']) ; $y ++)
+ $x['networks'][$y] = "'" . dbesc($x['networks'][$y]) . "'";
+ $str_nets = implode(',',$x['networks']);
+ $sql_extra .= " AND `network` IN ( $str_nets ) ";
+ }
+
+ if($x['single'])
+ $o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"" . $x['size'] . "\" >\r\n";
+ else
+ $o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"" . $x['size'] . "$\" >\r\n";
+
+ $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
+ WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''
+ $sql_extra
+ ORDER BY `name` ASC ",
+ intval(local_user())
+ );
+
+
+ $arr = array('contact' => $r, 'entry' => $o);
+
+ // e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow'
+
+ call_hooks($a->module . '_pre_' . $selname, $arr);
+
+ if(count($r)) {
+ foreach($r as $rr) {
+ if((is_array($preselected)) && in_array($rr['id'], $preselected))
+ $selected = " selected=\"selected\" ";
+ else
+ $selected = '';
+
+ $trimmed = mb_substr($rr['name'],0,20);
+
+ $o .= "<option value=\"{$rr['id']}\" $selected title=\"{$rr['name']}|{$rr['url']}\" >$trimmed</option>\r\n";
+ }
+
+ }
+
+ $o .= "</select>\r\n";
+
+ call_hooks($a->module . '_post_' . $selname, $o);
+
+ return $o;
+}
+
+
function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false) {
@@ -64,6 +173,8 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
$sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face' ) ";
}
+
+
if($privmail)
$o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"$size\" >\r\n";
else
@@ -104,6 +215,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
return $o;
}
+
function fixacl(&$item) {
$item = intval(str_replace(array('<','>'),array('',''),$item));
}
diff --git a/include/conversation.php b/include/conversation.php
index ff0a7612b..40981d5f4 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -177,6 +177,7 @@ function conversation(&$a, $items, $mode, $update) {
$drop = replace_macros($droptpl,array('$id' => $item['id']));
$lock = '<div class="wall-item-lock"></div>';
+ $star = '';
$body = prepare_body($item,true);
@@ -197,6 +198,7 @@ function conversation(&$a, $items, $mode, $update) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
+ '$star' => $star,
'$drop' => $drop,
'$conv' => '<a href="' . $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'] . '">' . t('View in context') . '</a>'
));
@@ -381,8 +383,8 @@ function conversation(&$a, $items, $mode, $update) {
}
$edpost = (((($profile_owner == local_user()) && ($toplevelpost) && (intval($item['wall']) == 1)) || ($mode === 'notes'))
- ? '<a class="editpost" href="' . $a->get_baseurl() . '/editpost/' . $item['id']
- . '" title="' . t('Edit') . '"><img src="images/pencil.gif" /></a>'
+ ? '<a class="editpost icon pencil" href="' . $a->get_baseurl() . '/editpost/' . $item['id']
+ . '" title="' . t('Edit') . '"></a>'
: '');
@@ -394,6 +396,8 @@ function conversation(&$a, $items, $mode, $update) {
$drop = replace_macros((($dropping)? $droptpl : $fakedrop), array('$id' => $item['id'], '$select' => t('Select'), '$delete' => t('Delete')));
+ $star = (($profile_owner == local_user() && $toplevelpost) ? '<a href="#" id="starred-' . $item['id'] . '" onclick="dostar(' . $item['id'] . '); return false;" class="star-item icon ' . (($item['starred']) ? 'starred' : 'unstarred') . '" title="' . t('toggle star status') . '"></a>' : '');
+
$photo = $item['photo'];
$thumb = $item['thumb'];
@@ -473,6 +477,7 @@ function conversation(&$a, $items, $mode, $update) {
'$owner_name' => $owner_name,
'$plink' => get_plink($item),
'$edpost' => $edpost,
+ '$star' => $star,
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,
diff --git a/include/country.js b/include/country.js
index 701ec19e2..07ab29ba6 100644
--- a/include/country.js
+++ b/include/country.js
@@ -17,7 +17,7 @@ var gArCountryInfo;
var gArStateInfo;
// NOTE:
// Some editors may exhibit problems viewing 2803 characters...
-var sCountryString = "|Afghanistan|Albania|Algeria|American Samoa|Angola|Anguilla|Antartica|Antigua and Barbuda|Argentina|Armenia|Aruba|Ashmore and Cartier Island|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belgium|Belize|Benin|Bermuda|Bhutan|Bolivia|Bosnia and Herzegovina|Botswana|Brazil|British Virgin Islands|Brunei|Bulgaria|Burkina Faso|Burma|Burundi|Cambodia|Cameroon|Canada|Cape Verde|Cayman Islands|Central African Republic|Chad|Chile|China|Christmas Island|Clipperton Island|Cocos (Keeling) Islands|Colombia|Comoros|Congo, Democratic Republic of the|Congo, Republic of the|Cook Islands|Costa Rica|Cote d'Ivoire|Croatia|Cuba|Cyprus|Czeck Republic|Denmark|Djibouti|Dominica|Dominican Republic|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|Europa Island|Falkland Islands (Islas Malvinas)|Faroe Islands|Fiji|Finland|France|French Guiana|French Polynesia|French Southern and Antarctic Lands|Gabon|Gambia, The|Gaza Strip|Georgia|Germany|Ghana|Gibraltar|Glorioso Islands|Greece|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guernsey|Guinea|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Holy See (Vatican City)|Honduras|Hong Kong|Howland Island|Hungary|Iceland|India|Indonesia|Iran|Iraq|Ireland|Ireland, Northern|Israel|Italy|Jamaica|Jan Mayen|Japan|Jarvis Island|Jersey|Johnston Atoll|Jordan|Juan de Nova Island|Kazakhstan|Kenya|Kiribati|Korea, North|Korea, South|Kuwait|Kyrgyzstan|Laos|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macau|Macedonia, Former Yugoslav Republic of|Madagascar|Malawi|Malaysia|Maldives|Mali|Malta|Man, Isle of|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia, Federated States of|Midway Islands|Moldova|Monaco|Mongolia|Montserrat|Morocco|Mozambique|Namibia|Nauru|Nepal|Netherlands|Netherlands Antilles|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Pakistan|Palau|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcaim Islands|Poland|Portugal|Puerto Rico|Qatar|Reunion|Romainia|Russia|Rwanda|Saint Helena|Saint Kitts and Nevis|Saint Lucia|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Scotland|Senegal|Seychelles|Sierra Leone|Singapore|Slovakia|Slovenia|Solomon Islands|Somalia|South Africa|South Georgia and South Sandwich Islands|Spain|Spratly Islands|Sri Lanka|Sudan|Suriname|Svalbard|Swaziland|Sweden|Switzerland|Syria|Taiwan|Tajikistan|Tanzania|Thailand|Tobago|Toga|Tokelau|Tonga|Trinidad|Tunisia|Turkey|Turkmenistan|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom|Uruguay|USA|Uzbekistan|Vanuatu|Venezuela|Vietnam|Virgin Islands|Wales|Wallis and Futuna|West Bank|Western Sahara|Yemen|Yugoslavia|Zambia|Zimbabwe";
+var sCountryString = "|Afghanistan|Albania|Algeria|American Samoa|Angola|Anguilla|Antartica|Antigua and Barbuda|Argentina|Armenia|Aruba|Ashmore and Cartier Island|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belgium|Belize|Benin|Bermuda|Bhutan|Bolivia|Bosnia and Herzegovina|Botswana|Brazil|British Virgin Islands|Brunei|Bulgaria|Burkina Faso|Burma|Burundi|Cambodia|Cameroon|Canada|Cape Verde|Cayman Islands|Central African Republic|Chad|Chile|China|Christmas Island|Clipperton Island|Cocos (Keeling) Islands|Colombia|Comoros|Congo, Democratic Republic of the|Congo, Republic of the|Cook Islands|Costa Rica|Cote d'Ivoire|Croatia|Cuba|Cyprus|Czech Republic|Denmark|Djibouti|Dominica|Dominican Republic|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|Europa Island|Falkland Islands (Islas Malvinas)|Faroe Islands|Fiji|Finland|France|French Guiana|French Polynesia|French Southern and Antarctic Lands|Gabon|Gambia, The|Gaza Strip|Georgia|Germany|Ghana|Gibraltar|Glorioso Islands|Greece|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guernsey|Guinea|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Holy See (Vatican City)|Honduras|Hong Kong|Howland Island|Hungary|Iceland|India|Indonesia|Iran|Iraq|Ireland|Ireland, Northern|Israel|Italy|Jamaica|Jan Mayen|Japan|Jarvis Island|Jersey|Johnston Atoll|Jordan|Juan de Nova Island|Kazakhstan|Kenya|Kiribati|Korea, North|Korea, South|Kuwait|Kyrgyzstan|Laos|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macau|Macedonia, Former Yugoslav Republic of|Madagascar|Malawi|Malaysia|Maldives|Mali|Malta|Man, Isle of|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia, Federated States of|Midway Islands|Moldova|Monaco|Mongolia|Montserrat|Morocco|Mozambique|Namibia|Nauru|Nepal|Netherlands|Netherlands Antilles|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Pakistan|Palau|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcaim Islands|Poland|Portugal|Puerto Rico|Qatar|Reunion|Romainia|Russia|Rwanda|Saint Helena|Saint Kitts and Nevis|Saint Lucia|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Scotland|Senegal|Seychelles|Sierra Leone|Singapore|Slovakia|Slovenia|Solomon Islands|Somalia|South Africa|South Georgia and South Sandwich Islands|Spain|Spratly Islands|Sri Lanka|Sudan|Suriname|Svalbard|Swaziland|Sweden|Switzerland|Syria|Taiwan|Tajikistan|Tanzania|Thailand|Tobago|Toga|Tokelau|Tonga|Trinidad|Tunisia|Turkey|Turkmenistan|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom|Uruguay|USA|Uzbekistan|Vanuatu|Venezuela|Vietnam|Virgin Islands|Wales|Wallis and Futuna|West Bank|Western Sahara|Yemen|Yugoslavia|Zambia|Zimbabwe";
var aStates = new Array();
aStates[0]="";
diff --git a/include/datetime.php b/include/datetime.php
index a5b388e76..a056eaa60 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -65,9 +65,9 @@ if(! function_exists('datetime_convert')) {
function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d H:i:s") {
// Slight hackish adjustment so that 'zero' datetime actually returns what is intended
- // otherwise we end up with -0001-11-30 ...
+ // otherwise we end up with -0001-11-30 ...
// add 32 days so that we at least get year 00, and then hack around the fact that
- // months and days always start with 1.
+ // months and days always start with 1.
if(substr($s,0,10) == '0000-00-00') {
$d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
@@ -176,6 +176,11 @@ function relative_date($posted_date) {
$localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date);
$abs = strtotime($localtime);
+
+ if (is_null($posted_date) || $posted_date === '0000-00-00 00:00:00' || $abs === False) {
+ return t('never');
+ }
+
$etime = time() - $abs;
if ($etime < 1) {
@@ -183,12 +188,12 @@ function relative_date($posted_date) {
}
$a = array( 12 * 30 * 24 * 60 * 60 => array( t('year'), t('years')),
- 30 * 24 * 60 * 60 => array( t('month'), t('months')),
- 7 * 24 * 60 * 60 => array( t('week'), t('weeks')),
- 24 * 60 * 60 => array( t('day'), t('days')),
- 60 * 60 => array( t('hour'), t('hours')),
- 60 => array( t('minute'), t('minutes')),
- 1 => array( t('second'), t('seconds'))
+ 30 * 24 * 60 * 60 => array( t('month'), t('months')),
+ 7 * 24 * 60 * 60 => array( t('week'), t('weeks')),
+ 24 * 60 * 60 => array( t('day'), t('days')),
+ 60 * 60 => array( t('hour'), t('hours')),
+ 60 => array( t('minute'), t('minutes')),
+ 1 => array( t('second'), t('seconds'))
);
foreach ($a as $secs => $str) {
diff --git a/include/directory.php b/include/directory.php
index 2c9daa5ea..cae78adb4 100644
--- a/include/directory.php
+++ b/include/directory.php
@@ -2,18 +2,22 @@
require_once("boot.php");
function directory_run($argv, $argc){
- global $a, $db;
+ global $a, $db;
- if(is_null($a)){
- $a = new App;
- }
+ if(is_null($a)) {
+ $a = new App;
+ }
- if(is_null($db)){
- @include(".htconfig.php");
- require_once("dba.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
- };
+ if(is_null($db)) {
+ @include(".htconfig.php");
+ require_once("dba.php");
+ $db = new dba($db_host, $db_user, $db_pass, $db_data);
+ unset($db_host, $db_user, $db_pass, $db_data);
+ };
+
+ load_config('config');
+ load_config('system');
+
if($argc != 2)
return;
diff --git a/include/event.php b/include/event.php
index 8078a9a5e..aab195d24 100644
--- a/include/event.php
+++ b/include/event.php
@@ -8,7 +8,7 @@ function format_event_html($ev) {
if(! ((is_array($ev)) && count($ev)))
return '';
- $bd_format = t('l F d, Y \@ g A') ; // Friday January 18, 2011 @ 8 AM
+ $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
$o = '<div class="vevent">' . "\r\n";
@@ -212,7 +212,29 @@ function event_store($arr) {
$contact = $c[0];
+ // Existing event being modified
+
if($arr['id']) {
+
+ // has the event actually changed?
+
+ $r = q("SELECT * FROM `event` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($arr['id']),
+ intval($arr['uid'])
+ );
+ if((! count($r)) || ($r[0]['edited'] === $arr['edited'])) {
+
+ // Nothing has changed. Grab the item id to return.
+
+ $r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1",
+ intval($arr['id']),
+ intval($arr['uid'])
+ );
+ return((count($r)) ? $r[0]['id'] : 0);
+ }
+
+ // The event changed. Update it.
+
$r = q("UPDATE `event` SET
`edited` = '%s',
`start` = '%s',
@@ -260,7 +282,7 @@ function event_store($arr) {
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
dbesc($arr['deny_gid']),
- dbesc(datetime_convert()),
+ dbesc($arr['edited']),
intval($r[0]['id']),
intval($arr['uid'])
);
@@ -272,6 +294,8 @@ function event_store($arr) {
}
else {
+ // New event. Store it.
+
$r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`,
`adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
diff --git a/include/expire.php b/include/expire.php
index 3c30e01c1..64dbe2536 100644
--- a/include/expire.php
+++ b/include/expire.php
@@ -16,12 +16,16 @@ function expire_run($argv, $argc){
unset($db_host, $db_user, $db_pass, $db_data);
};
- require_once('session.php');
- require_once('datetime.php');
- require_once('simplepie/simplepie.inc');
+ require_once('include/session.php');
+ require_once('include/datetime.php');
+ require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/Contact.php');
+ load_config('config');
+ load_config('system');
+
+
$a->set_baseurl(get_config('system','url'));
diff --git a/include/group.php b/include/group.php
index 804d0c58f..e16c900d9 100644
--- a/include/group.php
+++ b/include/group.php
@@ -136,7 +136,7 @@ function group_public_members($gid) {
-function group_side($every="contacts",$each="group",$edit = false) {
+function group_side($every="contacts",$each="group",$edit = false, $group_id = 0) {
$o = '';
@@ -145,19 +145,15 @@ function group_side($every="contacts",$each="group",$edit = false) {
$createtext = t('Create a new group');
$linktext= t('Everybody');
-
+ $selected = (($group_id == 0) ? ' class="group-selected" ' : '');
$o .= <<< EOT
<div id="group-sidebar">
<h3>Groups</h3>
-<div id="sidebar-new-group">
-<a href="group/new">$createtext</a>
-</div>
-
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
- <li class="sidebar-group-li" ><a href="$every" >$linktext</a></li>
+ <li class="sidebar-group-li" ><a href="$every" $selected >$linktext</a></li>
EOT;
@@ -165,10 +161,21 @@ EOT;
intval($_SESSION['uid'])
);
if(count($r)) {
- foreach($r as $rr)
- $o .= ' <li class="sidebar-group-li">' . (($edit) ? "<a href=\"group/{$rr['id']}\" title=\"" . t('Edit') . "\" ><img src=\"images/spencil.gif\" alt=\"" . t('Edit') . "\"></a> " : "") . "<a href=\"$each/{$rr['id']}\">{$rr['name']}</a></li>\r\n";
+ foreach($r as $rr) {
+ $selected = (($group_id == $rr['id']) ? ' class="group-selected" ' : '');
+ $o .= ' <li class="sidebar-group-li">' . (($edit) ? "<a href=\"group/{$rr['id']}\" title=\"" . t('Edit') . "\" ><img src=\"images/spencil.gif\" alt=\"" . t('Edit') . "\"></a> " : "") . "<a href=\"$each/{$rr['id']}\" $selected >{$rr['name']}</a></li>\r\n";
+ }
}
- $o .= " </ul>\r\n </div>\r\n</div>";
+ $o .= " </ul>\r\n </div>";
+
+ $o .= <<< EOT
+
+ <div id="sidebar-new-group">
+ <a href="group/new">$createtext</a>
+ </div>
+</div>
+
+EOT;
return $o;
}
diff --git a/include/hostxrd.php b/include/hostxrd.php
index 987175c33..7040f927d 100644
--- a/include/hostxrd.php
+++ b/include/hostxrd.php
@@ -2,6 +2,7 @@
function hostxrd($baseurl) {
+ header('Access-Control-Allow-Origin: *');
header("Content-type: text/xml");
$tpl = file_get_contents('view/xrd_host.tpl');
echo str_replace('$domain',$baseurl,$tpl);
diff --git a/include/items.php b/include/items.php
index 5bcdaef99..9cafaea62 100644
--- a/include/items.php
+++ b/include/items.php
@@ -338,7 +338,7 @@ function get_atom_elements($feed,$item) {
$apps = $item->get_item_tags(NAMESPACE_STATUSNET,'notice_info');
if($apps && $apps[0]['attribs']['']['source']) {
- $res['app'] = $apps[0]['attribs']['']['source'];
+ $res['app'] = strip_tags(unxmlify($apps[0]['attribs']['']['source']));
if($res['app'] === 'web')
$res['app'] = 'OStatus';
}
@@ -669,6 +669,7 @@ function item_store($arr,$force_parent = false) {
$arr['owner-avatar'] = ((x($arr,'owner-avatar')) ? notags(trim($arr['owner-avatar'])) : '');
$arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
$arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert());
+ $arr['received'] = datetime_convert();
$arr['changed'] = datetime_convert();
$arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
$arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
@@ -994,7 +995,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $secure_feed = false) {
- require_once('simplepie/simplepie.inc');
+ require_once('library/simplepie/simplepie.inc');
$feed = new SimplePie();
$feed->set_raw_data($xml);
@@ -1071,13 +1072,13 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $secure_fee
$img->scaleImageSquare(175);
$hash = $resource_id;
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 4);
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 4);
$img->scaleImage(80);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 5);
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 5);
$img->scaleImage(48);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 6);
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 6);
$a = get_app();
@@ -1346,6 +1347,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $secure_fee
if(x($ev,'desc') && x($ev,'start')) {
$ev['uid'] = $importer['uid'];
$ev['uri'] = $item_id;
+ $ev['edited'] = $datarray['edited'];
if(is_array($contact))
$ev['cid'] = $contact['id'];
@@ -1447,11 +1449,11 @@ function new_follower($importer,$contact,$datarray,$item) {
}
else {
- // create contact record - set to readonly
+ // create contact record
$r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `name`, `nick`, `photo`, `network`, `rel`,
`blocked`, `readonly`, `pending`, `writable` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 1, 1, 1 ) ",
+ VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1 ) ",
intval($importer['uid']),
dbesc(datetime_convert()),
dbesc($url),
diff --git a/include/main.js b/include/main.js
index 5b9dae461..26c78b277 100644
--- a/include/main.js
+++ b/include/main.js
@@ -47,11 +47,7 @@
if(mail == 0) { mail = ''; $('#mail-update').hide() } else { $('#mail-update').show() }
$('#mail-update').html(mail);
var intro = $(data).find('intro').text();
- var register = $(data).find('register').text();
- if(intro == 0) { intro = ''; }
- if(register != 0 && intro != '') { intro = intro+'/'+register; }
- if(register != 0 && intro == '') { intro = '0/'+register; }
- if (intro == '') { $('#notify-update').hide() } else { $('#notify-update').show() }
+ if(intro == 0) { intro = ''; $('#notify-update').hide() } else { $('#notify-update').show() }
$('#notify-update').html(intro);
});
@@ -178,6 +174,21 @@
liking = 1;
}
+ function dostar(ident) {
+ $('#like-rotator-' + ident.toString()).show();
+ $.get('starred/' + ident.toString(), function(data) {
+ if(data.match(/1/)) {
+ $('#starred-' + ident.toString()).addClass('starred');
+ $('#starred-' + ident.toString()).removeClass('unstarred');
+ }
+ else {
+ $('#starred-' + ident.toString()).addClass('unstarred');
+ $('#starred-' + ident.toString()).removeClass('starred');
+ }
+ $('#like-rotator-' + ident.toString()).hide();
+ });
+ }
+
function getPosition(e) {
var cursor = {x:0, y:0};
if ( e.pageX || e.pageY ) {
diff --git a/include/notifier.php b/include/notifier.php
index 5de6eafd1..9c194d962 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -20,6 +20,9 @@ function notifier_run($argv, $argc){
require_once('include/items.php');
require_once('include/bbcode.php');
+ load_config('config');
+ load_config('system');
+
load_hooks();
if($argc < 3)
@@ -71,6 +74,16 @@ function notifier_run($argv, $argc){
if(! count($items))
return;
}
+ elseif($cmd === 'suggest') {
+ $suggest = q("SELECT * FROM `fsuggest` WHERE `id` = %d LIMIT 1",
+ intval($item_id)
+ );
+ if(! count($suggest))
+ return;
+ $uid = $suggest[0]['uid'];
+ $recipients[] = $suggest[0]['cid'];
+ $item = $suggest[0];
+ }
else {
// find ancestors
@@ -106,7 +119,8 @@ function notifier_run($argv, $argc){
$top_level = true;
}
- $r = q("SELECT `contact`.*, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags`
+ $r = q("SELECT `contact`.*, `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`,
+ `user`.`page-flags`, `user`.`prvnets`
FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid`
WHERE `contact`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
intval($uid)
@@ -125,7 +139,7 @@ function notifier_run($argv, $argc){
// fill this in with a single salmon slap if applicable
$slap = '';
- if($cmd != 'mail') {
+ if($cmd != 'mail' && $cmd != 'suggest') {
require_once('include/group.php');
@@ -224,6 +238,8 @@ function notifier_run($argv, $argc){
if($cmd === 'mail') {
$notify_hub = false; // mail is not public
+ $body = fix_private_photos($item['body'],$owner['uid']);
+
$atom .= replace_macros($mail_template, array(
'$name' => xmlify($owner['name']),
'$profile_page' => xmlify($owner['url']),
@@ -231,10 +247,30 @@ function notifier_run($argv, $argc){
'$item_id' => xmlify($item['uri']),
'$subject' => xmlify($item['title']),
'$created' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
- '$content' => xmlify($item['body']),
+ '$content' => xmlify($body),
'$parent_id' => xmlify($item['parent-uri'])
));
}
+ elseif($cmd === 'suggest') {
+ $notify_hub = false; // suggestions are not public
+
+ $sugg_template = get_markup_template('atom_suggest.tpl');
+
+ $atom .= replace_macros($sugg_template, array(
+ '$name' => xmlify($item['name']),
+ '$url' => xmlify($item['url']),
+ '$photo' => xmlify($item['photo']),
+ '$request' => xmlify($item['request']),
+ '$note' => xmlify($item['note'])
+ ));
+
+ // We don't need this any more
+
+ q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1",
+ intval($item['id'])
+ );
+
+ }
else {
if($followup) {
foreach($items as $item) { // there is only one item
@@ -329,7 +365,8 @@ function notifier_run($argv, $argc){
}
break;
case 'stat':
-
+ if($owner['prvnets'])
+ break;
if($followup && $contact['notify']) {
logger('notifier: slapdelivery: ' . $contact['name']);
$deliver_status = slapper($owner,$contact['notify'],$slap);
@@ -373,6 +410,7 @@ function notifier_run($argv, $argc){
}
}
break;
+
case 'mail':
// WARNING: does not currently convert to RFC2047 header encodings, etc.
@@ -447,9 +485,9 @@ function notifier_run($argv, $argc){
mail($addr, $subject, $message, $headers);
}
break;
- case 'dspr':
case 'feed':
case 'face':
+ case 'dspr':
default:
break;
}
diff --git a/include/poller.php b/include/poller.php
index 7490bfa81..569eb59d1 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -2,6 +2,7 @@
require_once("boot.php");
+
function poller_run($argv, $argc){
global $a, $db;
@@ -17,13 +18,16 @@ function poller_run($argv, $argc){
};
- require_once('session.php');
- require_once('datetime.php');
- require_once('simplepie/simplepie.inc');
+ require_once('include/session.php');
+ require_once('include/datetime.php');
+ require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/Contact.php');
require_once('include/email.php');
+ load_config('config');
+ load_config('system');
+
$a->set_baseurl(get_config('system','url'));
load_hooks();
@@ -44,18 +48,26 @@ function poller_run($argv, $argc){
proc_run('php','include/expire.php');
}
-
// clear old cache
q("DELETE FROM `cache` WHERE `updated` < '%s'",
dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
$manual_id = 0;
+ $generation = 0;
$hub_update = false;
$force = false;
+ $restart = false;
if(($argc > 1) && ($argv[1] == 'force'))
$force = true;
+ if(($argc > 1) && ($argv[1] == 'restart')) {
+ $restart = true;
+ $generation = intval($argv[2]);
+ if(! $generation)
+ killme();
+ }
+
if(($argc > 1) && intval($argv[1])) {
$manual_id = intval($argv[1]);
$force = true;
@@ -67,7 +79,8 @@ function poller_run($argv, $argc){
$d = datetime_convert();
- call_hooks('cron', $d);
+ if(! $restart)
+ call_hooks('cron', $d);
$contacts = q("SELECT `id` FROM `contact`
@@ -151,6 +164,22 @@ function poller_run($argv, $argc){
continue;
}
+ // Check to see if we are running out of memory - if so spawn a new process and kill this one
+
+ $avail_memory = return_bytes(ini_get('memory_limit'));
+ $memused = memory_get_peak_usage(true);
+ if(intval($avail_memory)) {
+ if(($memused / $avail_memory) > 0.95) {
+ if($generation + 1 > 10) {
+ logger('poller: maximum number of spawns exceeded. Terminating.');
+ killme();
+ }
+ logger('poller: memory exceeded. ' . $memused . ' bytes used. Spawning new poll.');
+ proc_run('php', 'include/poller.php', 'restart', (string) $generation + 1);
+ killme();
+ }
+ }
+
$importer_uid = $contact['uid'];
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
@@ -281,13 +310,22 @@ function poller_run($argv, $argc){
// Upgrading DB fields from an older Friendika version
// Will only do this once per notify-enabled OStatus contact
+ // or if relationship changes
+
+ $stat_writeable = ((($contact['notify']) && ($contact['rel'] == REL_VIP || $contact['rel'] == REL_BUD)) ? 1 : 0);
- if(($contact['notify']) && (! $contact['writable'])) {
- q("UPDATE `contact` SET `writable` = 1 WHERE `id` = %d LIMIT 1",
+ if($stat_writeable != $contact['writable']) {
+ q("UPDATE `contact` SET `writable` = %d WHERE `id` = %d LIMIT 1",
+ intval($stat_writeable),
intval($contact['id'])
);
}
+ // Are we allowed to import from this person?
+
+ if($contact['rel'] == REL_VIP || $contact['blocked'] || $contact['readonly'])
+ continue;
+
$xml = fetch_url($contact['poll']);
}
elseif($contact['network'] === NETWORK_MAIL) {
diff --git a/include/queue.php b/include/queue.php
index cbda196da..fb65d5c25 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -22,6 +22,9 @@ function queue_run($argv, $argc){
require_once('include/items.php');
require_once('include/bbcode.php');
+ load_config('config');
+ load_config('system');
+
$a->set_baseurl(get_config('system','url'));
load_hooks();
diff --git a/include/salmon.php b/include/salmon.php
index 74da98c93..c1af1a852 100644
--- a/include/salmon.php
+++ b/include/salmon.php
@@ -145,9 +145,9 @@ EOT;
// Setup RSA stuff to PKCS#1 sign the data
- set_include_path(get_include_path() . PATH_SEPARATOR . 'phpsec');
+ set_include_path(get_include_path() . PATH_SEPARATOR . 'library' . PATH_SEPARATOR . 'phpsec');
- require_once('phpsec/Crypt/RSA.php');
+ require_once('library/phpsec/Crypt/RSA.php');
$rsa = new CRYPT_RSA();
$rsa->signatureMode = CRYPT_RSA_SIGNATURE_PKCS1;
diff --git a/include/security.php b/include/security.php
index c74a9b4a3..789e47db2 100644
--- a/include/security.php
+++ b/include/security.php
@@ -44,3 +44,74 @@ function can_write_wall(&$a,$owner) {
return false;
}
+
+
+function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
+
+ $local_user = local_user();
+ $remote_user = remote_user();
+
+ /**
+ * Construct permissions
+ *
+ * default permissions - anonymous user
+ */
+
+ $sql = " AND allow_cid = ''
+ AND allow_gid = ''
+ AND deny_cid = ''
+ AND deny_gid = ''
+ ";
+
+ /**
+ * Profile owner - everything is visible
+ */
+
+ if(($local_user) && ($local_user == $owner_id)) {
+ $sql = '';
+ }
+
+ /**
+ * Authenticated visitor. Unless pre-verified,
+ * check that the contact belongs to this $owner_id
+ * and load the groups the visitor belongs to.
+ * If pre-verified, the caller is expected to have already
+ * done this and passed the groups into this function.
+ */
+
+ elseif($remote_user) {
+
+ if(! $remote_verified) {
+ $r = q("SELECT id FROM contact WHERE id = %d AND uid = %d AND blocked = 0 LIMIT 1",
+ intval($remote_user),
+ intval($owner_id)
+ );
+ if(count($r)) {
+ $remote_verified = true;
+ $groups = init_groups_visitor($remote_user);
+ }
+ }
+ if($remote_verified) {
+
+ $gs = '<<>>'; // should be impossible to match
+
+ if(is_array($groups) && count($groups)) {
+ foreach($groups as $g)
+ $gs .= '|<' . intval($g) . '>';
+ }
+
+ $sql = sprintf(
+ " AND ( allow_cid = '' OR allow_cid REGEXP '<%d>' )
+ AND ( deny_cid = '' OR NOT deny_cid REGEXP '<%d>' )
+ AND ( allow_gid = '' OR allow_gid REGEXP '%s' )
+ AND ( deny_gid = '' OR NOT deny_gid REGEXP '%s')
+ ",
+ intval($remote_user),
+ intval($remote_user),
+ dbesc($gs),
+ dbesc($gs)
+ );
+ }
+ }
+ return $sql;
+} \ No newline at end of file
diff --git a/index.php b/index.php
index 9bca1527b..2e24c5b01 100644
--- a/index.php
+++ b/index.php
@@ -44,18 +44,19 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
unset($db_host, $db_user, $db_pass, $db_data);
-/**
- * Load configs from db. Overwrite configs from .htconfig.php
- */
-$r = q("SELECT * FROM `config` WHERE `cat` IN ('system', 'config')");
-foreach ($r as $c) {
- if ($c['cat']=='config') {
- $a->config[$c['k']] = $c['v'];
- } else {
- $a->config[$c['cat']][$c['k']] = $c['v'];
- }
+if(! $install) {
+
+ /**
+ * Load configs from db. Overwrite configs from .htconfig.php
+ */
+
+ load_config('config');
+ load_config('system');
+
+ require_once("session.php");
+ load_hooks();
+ call_hooks('init_1');
}
-unset($r);
/**
@@ -70,14 +71,6 @@ unset($r);
*
*/
-if(! $install) {
- require_once("session.php");
- load_hooks();
- call_hooks('init_1');
-}
-
-
-
require_once("datetime.php");
$a->timezone = (($default_timezone) ? $default_timezone : 'UTC');
diff --git a/cropper/cropper.css b/library/cropper/cropper.css
index c2e759818..c2e759818 100644
--- a/cropper/cropper.css
+++ b/library/cropper/cropper.css
diff --git a/cropper/cropper.html b/library/cropper/cropper.html
index 236235247..236235247 100644
--- a/cropper/cropper.html
+++ b/library/cropper/cropper.html
diff --git a/cropper/cropper.js b/library/cropper/cropper.js
index 486a92ad9..486a92ad9 100644
--- a/cropper/cropper.js
+++ b/library/cropper/cropper.js
diff --git a/cropper/cropper.uncompressed.js b/library/cropper/cropper.uncompressed.js
index 66185546e..66185546e 100644
--- a/cropper/cropper.uncompressed.js
+++ b/library/cropper/cropper.uncompressed.js
diff --git a/cropper/lib/builder.js b/library/cropper/lib/builder.js
index 5b15ba939..5b15ba939 100644
--- a/cropper/lib/builder.js
+++ b/library/cropper/lib/builder.js
diff --git a/cropper/lib/controls.js b/library/cropper/lib/controls.js
index de0261ed5..de0261ed5 100644
--- a/cropper/lib/controls.js
+++ b/library/cropper/lib/controls.js
diff --git a/cropper/lib/dragdrop.js b/library/cropper/lib/dragdrop.js
index be2a30f53..be2a30f53 100644
--- a/cropper/lib/dragdrop.js
+++ b/library/cropper/lib/dragdrop.js
diff --git a/cropper/lib/effects.js b/library/cropper/lib/effects.js
index 0864323ec..0864323ec 100644
--- a/cropper/lib/effects.js
+++ b/library/cropper/lib/effects.js
diff --git a/cropper/lib/prototype.js b/library/cropper/lib/prototype.js
index 0caf9cd7f..0caf9cd7f 100644
--- a/cropper/lib/prototype.js
+++ b/library/cropper/lib/prototype.js
diff --git a/cropper/lib/scriptaculous.js b/library/cropper/lib/scriptaculous.js
index f61fc57f7..f61fc57f7 100644
--- a/cropper/lib/scriptaculous.js
+++ b/library/cropper/lib/scriptaculous.js
diff --git a/cropper/lib/slider.js b/library/cropper/lib/slider.js
index c0f1fc01b..c0f1fc01b 100644
--- a/cropper/lib/slider.js
+++ b/library/cropper/lib/slider.js
diff --git a/cropper/lib/unittest.js b/library/cropper/lib/unittest.js
index d2c2d8171..d2c2d8171 100644
--- a/cropper/lib/unittest.js
+++ b/library/cropper/lib/unittest.js
diff --git a/cropper/licence.txt b/library/cropper/licence.txt
index b59e02917..b59e02917 100644
--- a/cropper/licence.txt
+++ b/library/cropper/licence.txt
diff --git a/cropper/marqueeHoriz.gif b/library/cropper/marqueeHoriz.gif
index 25317e573..25317e573 100644
--- a/cropper/marqueeHoriz.gif
+++ b/library/cropper/marqueeHoriz.gif
Binary files differ
diff --git a/cropper/marqueeVert.gif b/library/cropper/marqueeVert.gif
index 354070bb4..354070bb4 100644
--- a/cropper/marqueeVert.gif
+++ b/library/cropper/marqueeVert.gif
Binary files differ
diff --git a/cropper/tests/castle.jpg b/library/cropper/tests/castle.jpg
index e40b7e4cb..e40b7e4cb 100644
--- a/cropper/tests/castle.jpg
+++ b/library/cropper/tests/castle.jpg
Binary files differ
diff --git a/cropper/tests/castleMed.jpg b/library/cropper/tests/castleMed.jpg
index c35a6f554..c35a6f554 100644
--- a/cropper/tests/castleMed.jpg
+++ b/library/cropper/tests/castleMed.jpg
Binary files differ
diff --git a/cropper/tests/example-Basic.htm b/library/cropper/tests/example-Basic.htm
index 391c2ecdb..391c2ecdb 100644
--- a/cropper/tests/example-Basic.htm
+++ b/library/cropper/tests/example-Basic.htm
diff --git a/cropper/tests/example-CSS-Absolute.htm b/library/cropper/tests/example-CSS-Absolute.htm
index 17e4c489d..17e4c489d 100644
--- a/cropper/tests/example-CSS-Absolute.htm
+++ b/library/cropper/tests/example-CSS-Absolute.htm
diff --git a/cropper/tests/example-CSS-Float.htm b/library/cropper/tests/example-CSS-Float.htm
index 5066553fe..5066553fe 100644
--- a/cropper/tests/example-CSS-Float.htm
+++ b/library/cropper/tests/example-CSS-Float.htm
diff --git a/cropper/tests/example-CSS-Relative.htm b/library/cropper/tests/example-CSS-Relative.htm
index 5894fe1f9..5894fe1f9 100644
--- a/cropper/tests/example-CSS-Relative.htm
+++ b/library/cropper/tests/example-CSS-Relative.htm
diff --git a/cropper/tests/example-CoordsOnLoad.htm b/library/cropper/tests/example-CoordsOnLoad.htm
index 254a23472..254a23472 100644
--- a/cropper/tests/example-CoordsOnLoad.htm
+++ b/library/cropper/tests/example-CoordsOnLoad.htm
diff --git a/cropper/tests/example-CoordsOnLoadWithRatio.htm b/library/cropper/tests/example-CoordsOnLoadWithRatio.htm
index 3a696360a..3a696360a 100644
--- a/cropper/tests/example-CoordsOnLoadWithRatio.htm
+++ b/library/cropper/tests/example-CoordsOnLoadWithRatio.htm
diff --git a/cropper/tests/example-Dimensions.htm b/library/cropper/tests/example-Dimensions.htm
index f54f99683..f54f99683 100644
--- a/cropper/tests/example-Dimensions.htm
+++ b/library/cropper/tests/example-Dimensions.htm
diff --git a/cropper/tests/example-DynamicImage.htm b/library/cropper/tests/example-DynamicImage.htm
index 898363489..898363489 100644
--- a/cropper/tests/example-DynamicImage.htm
+++ b/library/cropper/tests/example-DynamicImage.htm
diff --git a/cropper/tests/example-FixedRatio.htm b/library/cropper/tests/example-FixedRatio.htm
index 973bedda9..973bedda9 100644
--- a/cropper/tests/example-FixedRatio.htm
+++ b/library/cropper/tests/example-FixedRatio.htm
diff --git a/cropper/tests/example-MinimumDimensions.htm b/library/cropper/tests/example-MinimumDimensions.htm
index 3ae93c8e1..3ae93c8e1 100644
--- a/cropper/tests/example-MinimumDimensions.htm
+++ b/library/cropper/tests/example-MinimumDimensions.htm
diff --git a/cropper/tests/example-MinimumWidth.htm b/library/cropper/tests/example-MinimumWidth.htm
index b0576b87f..b0576b87f 100644
--- a/cropper/tests/example-MinimumWidth.htm
+++ b/library/cropper/tests/example-MinimumWidth.htm
diff --git a/cropper/tests/example-Preview.htm b/library/cropper/tests/example-Preview.htm
index 701670c91..701670c91 100644
--- a/cropper/tests/example-Preview.htm
+++ b/library/cropper/tests/example-Preview.htm
diff --git a/cropper/tests/poppy.jpg b/library/cropper/tests/poppy.jpg
index 1f6498584..1f6498584 100644
--- a/cropper/tests/poppy.jpg
+++ b/library/cropper/tests/poppy.jpg
Binary files differ
diff --git a/cropper/tests/staticHTMLStructure.htm b/library/cropper/tests/staticHTMLStructure.htm
index ddb99278e..ddb99278e 100644
--- a/cropper/tests/staticHTMLStructure.htm
+++ b/library/cropper/tests/staticHTMLStructure.htm
diff --git a/phpsec/Crypt/AES.php b/library/phpsec/Crypt/AES.php
index 681800a81..681800a81 100644
--- a/phpsec/Crypt/AES.php
+++ b/library/phpsec/Crypt/AES.php
diff --git a/phpsec/Crypt/DES.php b/library/phpsec/Crypt/DES.php
index 431ad539b..431ad539b 100644
--- a/phpsec/Crypt/DES.php
+++ b/library/phpsec/Crypt/DES.php
diff --git a/phpsec/Crypt/Hash.php b/library/phpsec/Crypt/Hash.php
index ef3a85802..ef3a85802 100644
--- a/phpsec/Crypt/Hash.php
+++ b/library/phpsec/Crypt/Hash.php
diff --git a/phpsec/Crypt/RC4.php b/library/phpsec/Crypt/RC4.php
index 6f82b2413..6f82b2413 100644
--- a/phpsec/Crypt/RC4.php
+++ b/library/phpsec/Crypt/RC4.php
diff --git a/phpsec/Crypt/RSA.php b/library/phpsec/Crypt/RSA.php
index 1c562082b..1c562082b 100644
--- a/phpsec/Crypt/RSA.php
+++ b/library/phpsec/Crypt/RSA.php
diff --git a/phpsec/Crypt/Random.php b/library/phpsec/Crypt/Random.php
index a91c4d3c5..a91c4d3c5 100644
--- a/phpsec/Crypt/Random.php
+++ b/library/phpsec/Crypt/Random.php
diff --git a/phpsec/Crypt/Rijndael.php b/library/phpsec/Crypt/Rijndael.php
index f141f3762..f141f3762 100644
--- a/phpsec/Crypt/Rijndael.php
+++ b/library/phpsec/Crypt/Rijndael.php
diff --git a/phpsec/Crypt/TripleDES.php b/library/phpsec/Crypt/TripleDES.php
index 4d0dbbca0..4d0dbbca0 100644
--- a/phpsec/Crypt/TripleDES.php
+++ b/library/phpsec/Crypt/TripleDES.php
diff --git a/phpsec/Math/BigInteger.php b/library/phpsec/Math/BigInteger.php
index 5b3a4fc8b..5b3a4fc8b 100644
--- a/phpsec/Math/BigInteger.php
+++ b/library/phpsec/Math/BigInteger.php
diff --git a/phpsec/Net/SFTP.php b/library/phpsec/Net/SFTP.php
index 06812ada3..06812ada3 100644
--- a/phpsec/Net/SFTP.php
+++ b/library/phpsec/Net/SFTP.php
diff --git a/phpsec/Net/SSH1.php b/library/phpsec/Net/SSH1.php
index 6986a8450..6986a8450 100644
--- a/phpsec/Net/SSH1.php
+++ b/library/phpsec/Net/SSH1.php
diff --git a/phpsec/Net/SSH2.php b/library/phpsec/Net/SSH2.php
index aa9f6dbe5..aa9f6dbe5 100644
--- a/phpsec/Net/SSH2.php
+++ b/library/phpsec/Net/SSH2.php
diff --git a/phpsec/PHP/Compat/Function/array_fill.php b/library/phpsec/PHP/Compat/Function/array_fill.php
index e02bfa14d..e02bfa14d 100644
--- a/phpsec/PHP/Compat/Function/array_fill.php
+++ b/library/phpsec/PHP/Compat/Function/array_fill.php
diff --git a/phpsec/PHP/Compat/Function/bcpowmod.php b/library/phpsec/PHP/Compat/Function/bcpowmod.php
index 6ec1b1840..6ec1b1840 100644
--- a/phpsec/PHP/Compat/Function/bcpowmod.php
+++ b/library/phpsec/PHP/Compat/Function/bcpowmod.php
diff --git a/phpsec/PHP/Compat/Function/str_split.php b/library/phpsec/PHP/Compat/Function/str_split.php
index 8e38bdb89..8e38bdb89 100644
--- a/phpsec/PHP/Compat/Function/str_split.php
+++ b/library/phpsec/PHP/Compat/Function/str_split.php
diff --git a/phpsec/crypt.html b/library/phpsec/crypt.html
index 6720cf789..6720cf789 100644
--- a/phpsec/crypt.html
+++ b/library/phpsec/crypt.html
diff --git a/phpsec/docbook.css b/library/phpsec/docbook.css
index 4f67aa4cd..4f67aa4cd 100644
--- a/phpsec/docbook.css
+++ b/library/phpsec/docbook.css
diff --git a/phpsec/index.html b/library/phpsec/index.html
index 6dda0f369..6dda0f369 100644
--- a/phpsec/index.html
+++ b/library/phpsec/index.html
diff --git a/phpsec/intro.html b/library/phpsec/intro.html
index 406b22fc5..406b22fc5 100644
--- a/phpsec/intro.html
+++ b/library/phpsec/intro.html
diff --git a/phpsec/math.html b/library/phpsec/math.html
index 4e5a14a54..4e5a14a54 100644
--- a/phpsec/math.html
+++ b/library/phpsec/math.html
diff --git a/phpsec/misc_crypt.html b/library/phpsec/misc_crypt.html
index 9751ddac8..9751ddac8 100644
--- a/phpsec/misc_crypt.html
+++ b/library/phpsec/misc_crypt.html
diff --git a/phpsec/net.html b/library/phpsec/net.html
index 2752b826d..2752b826d 100644
--- a/phpsec/net.html
+++ b/library/phpsec/net.html
diff --git a/phpsec/sym_crypt.html b/library/phpsec/sym_crypt.html
index 956506290..956506290 100644
--- a/phpsec/sym_crypt.html
+++ b/library/phpsec/sym_crypt.html
diff --git a/simplepie/LICENSE.txt b/library/simplepie/LICENSE.txt
index a822a4bd9..a822a4bd9 100644
--- a/simplepie/LICENSE.txt
+++ b/library/simplepie/LICENSE.txt
diff --git a/simplepie/README.markdown b/library/simplepie/README.markdown
index e5ca021ce..e5ca021ce 100644
--- a/simplepie/README.markdown
+++ b/library/simplepie/README.markdown
diff --git a/simplepie/compatibility_test/COMPATIBILITY README.txt b/library/simplepie/compatibility_test/COMPATIBILITY README.txt
index 5b2498992..5b2498992 100644
--- a/simplepie/compatibility_test/COMPATIBILITY README.txt
+++ b/library/simplepie/compatibility_test/COMPATIBILITY README.txt
diff --git a/simplepie/compatibility_test/sp_compatibility_test.php b/library/simplepie/compatibility_test/sp_compatibility_test.php
index a7a7f5fde..a7a7f5fde 100644
--- a/simplepie/compatibility_test/sp_compatibility_test.php
+++ b/library/simplepie/compatibility_test/sp_compatibility_test.php
diff --git a/simplepie/create.php b/library/simplepie/create.php
index 908ed182b..908ed182b 100644
--- a/simplepie/create.php
+++ b/library/simplepie/create.php
diff --git a/simplepie/db.sql b/library/simplepie/db.sql
index 13f504c21..13f504c21 100644
--- a/simplepie/db.sql
+++ b/library/simplepie/db.sql
diff --git a/simplepie/demo/cli_test.php b/library/simplepie/demo/cli_test.php
index ec933c5ad..ec933c5ad 100755
--- a/simplepie/demo/cli_test.php
+++ b/library/simplepie/demo/cli_test.php
diff --git a/simplepie/demo/for_the_demo/alternate_favicon.png b/library/simplepie/demo/for_the_demo/alternate_favicon.png
index 063fb2805..063fb2805 100644
--- a/simplepie/demo/for_the_demo/alternate_favicon.png
+++ b/library/simplepie/demo/for_the_demo/alternate_favicon.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/background_blockquote.png b/library/simplepie/demo/for_the_demo/background_blockquote.png
index 8267e23a2..8267e23a2 100644
--- a/simplepie/demo/for_the_demo/background_blockquote.png
+++ b/library/simplepie/demo/for_the_demo/background_blockquote.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/background_menuitem.gif b/library/simplepie/demo/for_the_demo/background_menuitem.gif
index fa765d670..fa765d670 100644
--- a/simplepie/demo/for_the_demo/background_menuitem.gif
+++ b/library/simplepie/demo/for_the_demo/background_menuitem.gif
Binary files differ
diff --git a/simplepie/demo/for_the_demo/background_menuitem_off.gif b/library/simplepie/demo/for_the_demo/background_menuitem_off.gif
index 236cf406d..236cf406d 100644
--- a/simplepie/demo/for_the_demo/background_menuitem_off.gif
+++ b/library/simplepie/demo/for_the_demo/background_menuitem_off.gif
Binary files differ
diff --git a/simplepie/demo/for_the_demo/background_menuitem_shadow.gif b/library/simplepie/demo/for_the_demo/background_menuitem_shadow.gif
index 95cfb820d..95cfb820d 100644
--- a/simplepie/demo/for_the_demo/background_menuitem_shadow.gif
+++ b/library/simplepie/demo/for_the_demo/background_menuitem_shadow.gif
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/alternate.png b/library/simplepie/demo/for_the_demo/favicons/alternate.png
index 063fb2805..063fb2805 100644
--- a/simplepie/demo/for_the_demo/favicons/alternate.png
+++ b/library/simplepie/demo/for_the_demo/favicons/alternate.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/blinklist.png b/library/simplepie/demo/for_the_demo/favicons/blinklist.png
index 53200b3c6..53200b3c6 100644
--- a/simplepie/demo/for_the_demo/favicons/blinklist.png
+++ b/library/simplepie/demo/for_the_demo/favicons/blinklist.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/blogmarks.png b/library/simplepie/demo/for_the_demo/favicons/blogmarks.png
index c5372614a..c5372614a 100644
--- a/simplepie/demo/for_the_demo/favicons/blogmarks.png
+++ b/library/simplepie/demo/for_the_demo/favicons/blogmarks.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/delicious.png b/library/simplepie/demo/for_the_demo/favicons/delicious.png
index 2e6021d26..2e6021d26 100644
--- a/simplepie/demo/for_the_demo/favicons/delicious.png
+++ b/library/simplepie/demo/for_the_demo/favicons/delicious.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/digg.png b/library/simplepie/demo/for_the_demo/favicons/digg.png
index 3aa96770e..3aa96770e 100644
--- a/simplepie/demo/for_the_demo/favicons/digg.png
+++ b/library/simplepie/demo/for_the_demo/favicons/digg.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/magnolia.png b/library/simplepie/demo/for_the_demo/favicons/magnolia.png
index da519f5ab..da519f5ab 100644
--- a/simplepie/demo/for_the_demo/favicons/magnolia.png
+++ b/library/simplepie/demo/for_the_demo/favicons/magnolia.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/myweb2.png b/library/simplepie/demo/for_the_demo/favicons/myweb2.png
index 2a12968d5..2a12968d5 100644
--- a/simplepie/demo/for_the_demo/favicons/myweb2.png
+++ b/library/simplepie/demo/for_the_demo/favicons/myweb2.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/newsvine.png b/library/simplepie/demo/for_the_demo/favicons/newsvine.png
index 5cdbb31c6..5cdbb31c6 100644
--- a/simplepie/demo/for_the_demo/favicons/newsvine.png
+++ b/library/simplepie/demo/for_the_demo/favicons/newsvine.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/reddit.png b/library/simplepie/demo/for_the_demo/favicons/reddit.png
index 65c38867c..65c38867c 100644
--- a/simplepie/demo/for_the_demo/favicons/reddit.png
+++ b/library/simplepie/demo/for_the_demo/favicons/reddit.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/segnalo.png b/library/simplepie/demo/for_the_demo/favicons/segnalo.png
index 748149b37..748149b37 100644
--- a/simplepie/demo/for_the_demo/favicons/segnalo.png
+++ b/library/simplepie/demo/for_the_demo/favicons/segnalo.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/simpy.png b/library/simplepie/demo/for_the_demo/favicons/simpy.png
index 30b23c1a5..30b23c1a5 100644
--- a/simplepie/demo/for_the_demo/favicons/simpy.png
+++ b/library/simplepie/demo/for_the_demo/favicons/simpy.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/spurl.png b/library/simplepie/demo/for_the_demo/favicons/spurl.png
index f5be3963d..f5be3963d 100644
--- a/simplepie/demo/for_the_demo/favicons/spurl.png
+++ b/library/simplepie/demo/for_the_demo/favicons/spurl.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/technorati.png b/library/simplepie/demo/for_the_demo/favicons/technorati.png
index 0f19e824e..0f19e824e 100644
--- a/simplepie/demo/for_the_demo/favicons/technorati.png
+++ b/library/simplepie/demo/for_the_demo/favicons/technorati.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/favicons/wists.png b/library/simplepie/demo/for_the_demo/favicons/wists.png
index 2e2d294d1..2e2d294d1 100644
--- a/simplepie/demo/for_the_demo/favicons/wists.png
+++ b/library/simplepie/demo/for_the_demo/favicons/wists.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/feed.png b/library/simplepie/demo/for_the_demo/feed.png
index e23c50c85..e23c50c85 100644
--- a/simplepie/demo/for_the_demo/feed.png
+++ b/library/simplepie/demo/for_the_demo/feed.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/logo_simplepie_demo.png b/library/simplepie/demo/for_the_demo/logo_simplepie_demo.png
index eda2d868b..eda2d868b 100644
--- a/simplepie/demo/for_the_demo/logo_simplepie_demo.png
+++ b/library/simplepie/demo/for_the_demo/logo_simplepie_demo.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/lucida-grande-bold.swf b/library/simplepie/demo/for_the_demo/lucida-grande-bold.swf
index 0a41e15eb..0a41e15eb 100644
--- a/simplepie/demo/for_the_demo/lucida-grande-bold.swf
+++ b/library/simplepie/demo/for_the_demo/lucida-grande-bold.swf
Binary files differ
diff --git a/simplepie/demo/for_the_demo/mediaplayer.swf b/library/simplepie/demo/for_the_demo/mediaplayer.swf
index bf78fd919..bf78fd919 100644
--- a/simplepie/demo/for_the_demo/mediaplayer.swf
+++ b/library/simplepie/demo/for_the_demo/mediaplayer.swf
Binary files differ
diff --git a/simplepie/demo/for_the_demo/mediaplayer_readme.htm b/library/simplepie/demo/for_the_demo/mediaplayer_readme.htm
index 56e12c309..56e12c309 100755
--- a/simplepie/demo/for_the_demo/mediaplayer_readme.htm
+++ b/library/simplepie/demo/for_the_demo/mediaplayer_readme.htm
diff --git a/simplepie/demo/for_the_demo/mini_podcast.png b/library/simplepie/demo/for_the_demo/mini_podcast.png
index fd6faf2a3..fd6faf2a3 100644
--- a/simplepie/demo/for_the_demo/mini_podcast.png
+++ b/library/simplepie/demo/for_the_demo/mini_podcast.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/place_audio.png b/library/simplepie/demo/for_the_demo/place_audio.png
index 560ea0039..560ea0039 100644
--- a/simplepie/demo/for_the_demo/place_audio.png
+++ b/library/simplepie/demo/for_the_demo/place_audio.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/place_video.png b/library/simplepie/demo/for_the_demo/place_video.png
index be5ec8219..be5ec8219 100644
--- a/simplepie/demo/for_the_demo/place_video.png
+++ b/library/simplepie/demo/for_the_demo/place_video.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/sIFR-print.css b/library/simplepie/demo/for_the_demo/sIFR-print.css
index ec89b1961..ec89b1961 100644
--- a/simplepie/demo/for_the_demo/sIFR-print.css
+++ b/library/simplepie/demo/for_the_demo/sIFR-print.css
diff --git a/simplepie/demo/for_the_demo/sIFR-screen.css b/library/simplepie/demo/for_the_demo/sIFR-screen.css
index 778e09d2b..778e09d2b 100644
--- a/simplepie/demo/for_the_demo/sIFR-screen.css
+++ b/library/simplepie/demo/for_the_demo/sIFR-screen.css
diff --git a/simplepie/demo/for_the_demo/sifr-config.js b/library/simplepie/demo/for_the_demo/sifr-config.js
index e7066b361..e7066b361 100644
--- a/simplepie/demo/for_the_demo/sifr-config.js
+++ b/library/simplepie/demo/for_the_demo/sifr-config.js
diff --git a/simplepie/demo/for_the_demo/sifr.js b/library/simplepie/demo/for_the_demo/sifr.js
index 0a8b1b6dc..0a8b1b6dc 100644
--- a/simplepie/demo/for_the_demo/sifr.js
+++ b/library/simplepie/demo/for_the_demo/sifr.js
diff --git a/simplepie/demo/for_the_demo/simplepie.css b/library/simplepie/demo/for_the_demo/simplepie.css
index 3753cb96d..3753cb96d 100644
--- a/simplepie/demo/for_the_demo/simplepie.css
+++ b/library/simplepie/demo/for_the_demo/simplepie.css
diff --git a/simplepie/demo/for_the_demo/sleight.js b/library/simplepie/demo/for_the_demo/sleight.js
index 4b5058e9a..4b5058e9a 100644
--- a/simplepie/demo/for_the_demo/sleight.js
+++ b/library/simplepie/demo/for_the_demo/sleight.js
diff --git a/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png b/library/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png
index 2bfd87d0c..2bfd87d0c 100644
--- a/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png
+++ b/library/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png b/library/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png
index d0629769c..d0629769c 100644
--- a/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png
+++ b/library/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png
Binary files differ
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
index 6a98ca552..6a98ca552 100644
--- a/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
+++ b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
index 2b9d32d20..2b9d32d20 100644
--- a/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
+++ b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
index 4d371954b..4d371954b 100644
--- a/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
+++ b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
index 4902e003f..4902e003f 100644
--- a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
+++ b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla
index 2aa3f647f..2aa3f647f 100644
--- a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla
+++ b/library/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla
Binary files differ
diff --git a/simplepie/demo/for_the_demo/top_gradient.gif b/library/simplepie/demo/for_the_demo/top_gradient.gif
index f77bd38f9..f77bd38f9 100644
--- a/simplepie/demo/for_the_demo/top_gradient.gif
+++ b/library/simplepie/demo/for_the_demo/top_gradient.gif
Binary files differ
diff --git a/simplepie/demo/for_the_demo/verdana.swf b/library/simplepie/demo/for_the_demo/verdana.swf
index baf035047..baf035047 100644
--- a/simplepie/demo/for_the_demo/verdana.swf
+++ b/library/simplepie/demo/for_the_demo/verdana.swf
Binary files differ
diff --git a/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf b/library/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf
index c812a79dc..c812a79dc 100644
--- a/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf
+++ b/library/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf
Binary files differ
diff --git a/simplepie/demo/handler_image.php b/library/simplepie/demo/handler_image.php
index 49c3ec89b..49c3ec89b 100644
--- a/simplepie/demo/handler_image.php
+++ b/library/simplepie/demo/handler_image.php
diff --git a/simplepie/demo/index.php b/library/simplepie/demo/index.php
index 1481ba917..1481ba917 100644
--- a/simplepie/demo/index.php
+++ b/library/simplepie/demo/index.php
diff --git a/simplepie/demo/minimalistic.php b/library/simplepie/demo/minimalistic.php
index 56509c00c..56509c00c 100644
--- a/simplepie/demo/minimalistic.php
+++ b/library/simplepie/demo/minimalistic.php
diff --git a/simplepie/demo/multifeeds.php b/library/simplepie/demo/multifeeds.php
index b23d792a2..b23d792a2 100644
--- a/simplepie/demo/multifeeds.php
+++ b/library/simplepie/demo/multifeeds.php
diff --git a/simplepie/demo/test.php b/library/simplepie/demo/test.php
index 5b9943abb..5b9943abb 100644
--- a/simplepie/demo/test.php
+++ b/library/simplepie/demo/test.php
diff --git a/simplepie/idn/LICENCE b/library/simplepie/idn/LICENCE
index 25a1d22df..25a1d22df 100644
--- a/simplepie/idn/LICENCE
+++ b/library/simplepie/idn/LICENCE
diff --git a/simplepie/idn/ReadMe.txt b/library/simplepie/idn/ReadMe.txt
index 7ca8c7e6d..7ca8c7e6d 100644
--- a/simplepie/idn/ReadMe.txt
+++ b/library/simplepie/idn/ReadMe.txt
diff --git a/simplepie/idn/idna_convert.class.php b/library/simplepie/idn/idna_convert.class.php
index ed2bae26d..ed2bae26d 100644
--- a/simplepie/idn/idna_convert.class.php
+++ b/library/simplepie/idn/idna_convert.class.php
diff --git a/simplepie/idn/npdata.ser b/library/simplepie/idn/npdata.ser
index d7ce6d03f..d7ce6d03f 100644
--- a/simplepie/idn/npdata.ser
+++ b/library/simplepie/idn/npdata.ser
diff --git a/simplepie/simplepie.inc b/library/simplepie/simplepie.inc
index c3ba02b7d..c3ba02b7d 100644
--- a/simplepie/simplepie.inc
+++ b/library/simplepie/simplepie.inc
diff --git a/tinymce/changelog.txt b/library/tinymce/changelog.txt
index bcd3f294c..bcd3f294c 100644
--- a/tinymce/changelog.txt
+++ b/library/tinymce/changelog.txt
diff --git a/tinymce/examples/css/content.css b/library/tinymce/examples/css/content.css
index a76c38a2f..a76c38a2f 100644
--- a/tinymce/examples/css/content.css
+++ b/library/tinymce/examples/css/content.css
diff --git a/tinymce/examples/css/word.css b/library/tinymce/examples/css/word.css
index 049a39fbd..049a39fbd 100644
--- a/tinymce/examples/css/word.css
+++ b/library/tinymce/examples/css/word.css
diff --git a/tinymce/examples/custom_formats.html b/library/tinymce/examples/custom_formats.html
index 7c475b19b..7c475b19b 100644
--- a/tinymce/examples/custom_formats.html
+++ b/library/tinymce/examples/custom_formats.html
diff --git a/tinymce/examples/full.html b/library/tinymce/examples/full.html
index 0b24b6e48..0b24b6e48 100644
--- a/tinymce/examples/full.html
+++ b/library/tinymce/examples/full.html
diff --git a/tinymce/examples/index.html b/library/tinymce/examples/index.html
index 6ebfbea57..6ebfbea57 100644
--- a/tinymce/examples/index.html
+++ b/library/tinymce/examples/index.html
diff --git a/tinymce/examples/lists/image_list.js b/library/tinymce/examples/lists/image_list.js
index 7ba049a24..7ba049a24 100644
--- a/tinymce/examples/lists/image_list.js
+++ b/library/tinymce/examples/lists/image_list.js
diff --git a/tinymce/examples/lists/link_list.js b/library/tinymce/examples/lists/link_list.js
index 0d464331f..0d464331f 100644
--- a/tinymce/examples/lists/link_list.js
+++ b/library/tinymce/examples/lists/link_list.js
diff --git a/tinymce/examples/lists/media_list.js b/library/tinymce/examples/lists/media_list.js
index 3a3836cc5..3a3836cc5 100644
--- a/tinymce/examples/lists/media_list.js
+++ b/library/tinymce/examples/lists/media_list.js
diff --git a/tinymce/examples/lists/template_list.js b/library/tinymce/examples/lists/template_list.js
index e06d35788..e06d35788 100644
--- a/tinymce/examples/lists/template_list.js
+++ b/library/tinymce/examples/lists/template_list.js
diff --git a/tinymce/examples/media/logo.jpg b/library/tinymce/examples/media/logo.jpg
index ad535d671..ad535d671 100644
--- a/tinymce/examples/media/logo.jpg
+++ b/library/tinymce/examples/media/logo.jpg
Binary files differ
diff --git a/tinymce/examples/media/logo_over.jpg b/library/tinymce/examples/media/logo_over.jpg
index 79fcd884a..79fcd884a 100644
--- a/tinymce/examples/media/logo_over.jpg
+++ b/library/tinymce/examples/media/logo_over.jpg
Binary files differ
diff --git a/tinymce/examples/media/sample.avi b/library/tinymce/examples/media/sample.avi
index 238bb688a..238bb688a 100644
--- a/tinymce/examples/media/sample.avi
+++ b/library/tinymce/examples/media/sample.avi
Binary files differ
diff --git a/tinymce/examples/media/sample.dcr b/library/tinymce/examples/media/sample.dcr
index 353b3ce67..353b3ce67 100644
--- a/tinymce/examples/media/sample.dcr
+++ b/library/tinymce/examples/media/sample.dcr
Binary files differ
diff --git a/tinymce/examples/media/sample.mov b/library/tinymce/examples/media/sample.mov
index 9c0a0932c..9c0a0932c 100644
--- a/tinymce/examples/media/sample.mov
+++ b/library/tinymce/examples/media/sample.mov
Binary files differ
diff --git a/tinymce/examples/media/sample.ram b/library/tinymce/examples/media/sample.ram
index e2ce04cf7..e2ce04cf7 100644
--- a/tinymce/examples/media/sample.ram
+++ b/library/tinymce/examples/media/sample.ram
diff --git a/tinymce/examples/media/sample.rm b/library/tinymce/examples/media/sample.rm
index 8947706e0..8947706e0 100644
--- a/tinymce/examples/media/sample.rm
+++ b/library/tinymce/examples/media/sample.rm
Binary files differ
diff --git a/tinymce/examples/media/sample.swf b/library/tinymce/examples/media/sample.swf
index 9f5fc4ac5..9f5fc4ac5 100644
--- a/tinymce/examples/media/sample.swf
+++ b/library/tinymce/examples/media/sample.swf
Binary files differ
diff --git a/tinymce/examples/menu.html b/library/tinymce/examples/menu.html
index a65c3104f..a65c3104f 100644
--- a/tinymce/examples/menu.html
+++ b/library/tinymce/examples/menu.html
diff --git a/tinymce/examples/simple.html b/library/tinymce/examples/simple.html
index c37839890..c37839890 100644
--- a/tinymce/examples/simple.html
+++ b/library/tinymce/examples/simple.html
diff --git a/tinymce/examples/skins.html b/library/tinymce/examples/skins.html
index a39817221..a39817221 100644
--- a/tinymce/examples/skins.html
+++ b/library/tinymce/examples/skins.html
diff --git a/tinymce/examples/templates/layout1.htm b/library/tinymce/examples/templates/layout1.htm
index a38df3e68..a38df3e68 100644
--- a/tinymce/examples/templates/layout1.htm
+++ b/library/tinymce/examples/templates/layout1.htm
diff --git a/tinymce/examples/templates/snippet1.htm b/library/tinymce/examples/templates/snippet1.htm
index b2520beaf..b2520beaf 100644
--- a/tinymce/examples/templates/snippet1.htm
+++ b/library/tinymce/examples/templates/snippet1.htm
diff --git a/tinymce/examples/translate.html b/library/tinymce/examples/translate.html
index bdd8ac54a..bdd8ac54a 100644
--- a/tinymce/examples/translate.html
+++ b/library/tinymce/examples/translate.html
diff --git a/tinymce/examples/word.html b/library/tinymce/examples/word.html
index f778f983c..f778f983c 100644
--- a/tinymce/examples/word.html
+++ b/library/tinymce/examples/word.html
diff --git a/tinymce/jscripts/tiny_mce/langs/en.js b/library/tinymce/jscripts/tiny_mce/langs/en.js
index ea4a1b0e1..ea4a1b0e1 100644
--- a/tinymce/jscripts/tiny_mce/langs/en.js
+++ b/library/tinymce/jscripts/tiny_mce/langs/en.js
diff --git a/tinymce/jscripts/tiny_mce/license.txt b/library/tinymce/jscripts/tiny_mce/license.txt
index 60d6d4c8f..60d6d4c8f 100644
--- a/tinymce/jscripts/tiny_mce/license.txt
+++ b/library/tinymce/jscripts/tiny_mce/license.txt
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/library/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css
index 0e2283498..0e2283498 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js
index 4d3b062de..4d3b062de 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js
index 0c652d330..0c652d330 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js b/library/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js
index b6cbd66c7..b6cbd66c7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js
index 873bfd8d3..873bfd8d3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm b/library/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm
index fc37b2aec..fc37b2aec 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css b/library/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css
index 0a6251a69..0a6251a69 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js
index 4c7a9c3a8..4c7a9c3a8 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js
index 2625dd213..2625dd213 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm b/library/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm
index 79cff3f19..79cff3f19 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif b/library/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif
index 53bf6890b..53bf6890b 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js b/library/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js
index 3bda86a2d..3bda86a2d 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js
index f493d196f..f493d196f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/library/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css
index 14364316a..14364316a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js
index 983fe5a9c..983fe5a9c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js
index 14e46a762..14e46a762 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/library/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js
index b78e82f76..b78e82f76 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js
index c71ffbd0f..c71ffbd0f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm b/library/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
index 876669c6b..876669c6b 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js
index 02d16971a..02d16971a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js
index a61887a92..a61887a92 100644
--- a/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js
index 1676b154a..1676b154a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js
index c260b7a24..c260b7a24 100644
--- a/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js
index b33ebfb7c..b33ebfb7c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js
index d8cc1120f..d8cc1120f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js b/library/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js
index fce6bd3e1..fce6bd3e1 100644
--- a/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js
index db676cd90..db676cd90 100644
--- a/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_cmp.js
index b0926c92a..b0926c92a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_cmp.js
diff --git a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js
new file mode 100644
index 000000000..db676cd90
--- /dev/null
+++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js
@@ -0,0 +1,155 @@
+/**
+ * editor_plugin_src.js
+ *
+ * Copyright 2009, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://tinymce.moxiecode.com/license
+ * Contributing: http://tinymce.moxiecode.com/contributing
+ */
+
+/* Macgirvin Aug-2010 changed from punbb to dfrn dialect */
+
+(function() {
+ tinymce.create('tinymce.plugins.BBCodePlugin', {
+ init : function(ed, url) {
+ var t = this, dialect = ed.getParam('bbcode_dialect', 'dfrn').toLowerCase();
+
+ ed.onBeforeSetContent.add(function(ed, o) {
+ o.content = t['_' + dialect + '_bbcode2html'](o.content);
+ });
+
+ ed.onPostProcess.add(function(ed, o) {
+ if (o.set)
+ o.content = t['_' + dialect + '_bbcode2html'](o.content);
+
+ if (o.get)
+ o.content = t['_' + dialect + '_html2bbcode'](o.content);
+ });
+ },
+
+ getInfo : function() {
+ return {
+ longname : 'BBCode Plugin',
+ author : 'Moxiecode Systems AB',
+ authorurl : 'http://tinymce.moxiecode.com',
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
+ };
+ },
+
+ // Private methods
+
+ // HTML -> BBCode in DFRN dialect
+ _dfrn_html2bbcode : function(s) {
+ s = tinymce.trim(s);
+
+ function rep(re, str) {
+ s = s.replace(re, str);
+ };
+
+
+
+
+ /* oembed */
+ function _h2b_cb(match) {
+ text = bin2hex(match);
+ function s_h2b(data) {
+ match = data;
+ }
+ $.ajax({
+ url: 'oembed/h2b?text=' + text,
+ async: false,
+ success: s_h2b,
+ dataType: 'html'
+ });
+ return match;
+ }
+ s = s.replace(/<span class=\"oembed(.*?)<\/span>/gi, _h2b_cb);
+ /* /oembed */
+
+
+ // example: <strong> to [b]
+ rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");
+ rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");
+ rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");
+ rep(/<font>(.*?)<\/font>/gi,"$1");
+ rep(/<img.*?width=\"(.*?)\".*?height=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$1x$2]$3[/img]");
+ rep(/<img.*?height=\"(.*?)\".*?width=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$2x$1]$3[/img]");
+ rep(/<img.*?src=\"(.*?)\".*?height=\"(.*?)\".*?width=\"(.*?)\".*?\/>/gi,"[img=$3x$2]$1[/img]");
+ rep(/<img.*?src=\"(.*?)\".*?width=\"(.*?)\".*?height=\"(.*?)\".*?\/>/gi,"[img=$2x$3]$1[/img]");
+ rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
+ rep(/<code>(.*?)<\/code>/gi,"[code]$1[/code]");
+ rep(/<\/(strong|b)>/gi,"[/b]");
+ rep(/<(strong|b)>/gi,"[b]");
+ rep(/<\/(em|i)>/gi,"[/i]");
+ rep(/<(em|i)>/gi,"[i]");
+ rep(/<\/u>/gi,"[/u]");
+ rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");
+ rep(/<u>/gi,"[u]");
+ rep(/<blockquote[^>]*>/gi,"[quote]");
+ rep(/<\/blockquote>/gi,"[/quote]");
+ rep(/<br \/>/gi,"\n\n");
+ rep(/<br\/>/gi,"\n\n");
+ rep(/<br>/gi,"\n");
+ rep(/<p>/gi,"");
+ rep(/<\/p>/gi,"\n");
+ rep(/&nbsp;/gi," ");
+ rep(/&quot;/gi,"\"");
+ rep(/&lt;/gi,"<");
+ rep(/&gt;/gi,">");
+ rep(/&amp;/gi,"&");
+
+ return s;
+ },
+
+ // BBCode -> HTML from DFRN dialect
+ _dfrn_bbcode2html : function(s) {
+ s = tinymce.trim(s);
+
+ function rep(re, str) {
+ s = s.replace(re, str);
+ };
+
+ // example: [b] to <strong>
+ rep(/\n/gi,"<br />");
+ rep(/\[b\]/gi,"<strong>");
+ rep(/\[\/b\]/gi,"</strong>");
+ rep(/\[i\]/gi,"<em>");
+ rep(/\[\/i\]/gi,"</em>");
+ rep(/\[u\]/gi,"<u>");
+ rep(/\[\/u\]/gi,"</u>");
+ rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
+ rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
+ rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
+ rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
+ rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<span style=\"color: $1;\">$2</span>");
+ rep(/\[size=(.*?)\](.*?)\[\/size\]/gi,"<span style=\"font-size: $1;\">$2</span>");
+ rep(/\[code\](.*?)\[\/code\]/gi,"<code>$1</code>");
+ rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<blockquote>$1</blockquote>");
+
+ /* oembed */
+ function _b2h_cb(match, url) {
+ url = bin2hex(url);
+ function s_b2h(data) {
+ match = data;
+ }
+ $.ajax({
+ url: 'oembed/b2h?url=' + url,
+ async: false,
+ success: s_b2h,
+ dataType: 'html'
+ });
+ return match;
+ }
+ s = s.replace(/\[embed\](.*?)\[\/embed\]/gi, _b2h_cb);
+
+ /* /oembed */
+
+ return s;
+ }
+ });
+
+ // Register plugin
+ tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin);
+})(); \ No newline at end of file
diff --git a/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js
index 9749e5164..9749e5164 100644
--- a/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
index 13813a64e..13813a64e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js
index bce8e7399..bce8e7399 100644
--- a/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
index 4444959bf..4444959bf 100644
--- a/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js
index dbdd8ffb5..dbdd8ffb5 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js
index 71d541697..71d541697 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm b/library/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm
index 55a1d72fa..55a1d72fa 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif
index ba90cc36f..ba90cc36f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif
index 74d897a4f..74d897a4f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif
index 963a96b8a..963a96b8a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif
index 16f68cc1e..16f68cc1e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif
index 716f55e16..716f55e16 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif
index 334d49e0e..334d49e0e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif
index 4efd549ed..4efd549ed 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif
index 1606c119e..1606c119e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif
index ca2451e10..ca2451e10 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif
index b33d3cca1..b33d3cca1 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif
index e6a9e60d5..e6a9e60d5 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif
index cb99cdd91..cb99cdd91 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif
index 2075dc160..2075dc160 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif
index bef7e2573..bef7e2573 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif
index 9faf1aff8..9faf1aff8 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif
index 648e6e879..648e6e879 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js b/library/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js
index c54936709..c54936709 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js
index 3b57ad9e3..3b57ad9e3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm b/library/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm
index 50b2b3445..50b2b3445 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js
index ec1f81ea4..ec1f81ea4 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js
index 9a0e7da15..9a0e7da15 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif b/library/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif
index 1ab5da446..1ab5da446 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js b/library/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js
index fa8341132..fa8341132 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js b/library/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js
index e0784f80f..e0784f80f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js
index ebcf948da..ebcf948da 100644
--- a/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css
index 7a3334f08..7a3334f08 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js
index aeaa66979..aeaa66979 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
index a2c9df898..a2c9df898 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm
index c32afaf2d..c32afaf2d 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js
index a1bb719a3..a1bb719a3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js
index f5801b8b3..f5801b8b3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js
index 4437bd266..4437bd266 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
index 0efd9bbe5..0efd9bbe5 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
index 4c4f27e48..4c4f27e48 100644
--- a/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js
index e9cba106c..e9cba106c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js
index 1b2bb9846..1b2bb9846 100644
--- a/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js
index 07ea477b7..07ea477b7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
index e991683de..e991683de 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
index 94abd0876..94abd0876 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
index e671094cb..e671094cb 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
index 6baf64ad3..6baf64ad3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
index 497307a85..497307a85 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
index c894b2e83..c894b2e83 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
index c2a2ad454..c2a2ad454 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
index 43a735f22..43a735f22 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css
index 5e6fd7d3c..5e6fd7d3c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm
index f9ec64219..f9ec64219 100644
--- a/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
index 938ce6b17..938ce6b17 100644
--- a/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
index 181c791ec..181c791ec 100644
--- a/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js
index f88a6dd28..f88a6dd28 100644
--- a/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js
index d5aa86548..d5aa86548 100644
--- a/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js
index 29d43c524..29d43c524 100644
--- a/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js
index e852da15e..e852da15e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/css/content.css b/library/tinymce/jscripts/tiny_mce/plugins/media/css/content.css
index 1bf6a7586..1bf6a7586 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/css/content.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/css/content.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/css/media.css b/library/tinymce/jscripts/tiny_mce/plugins/media/css/media.css
index 2d087944d..2d087944d 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/css/media.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/css/media.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js
index 4bbe367e3..4bbe367e3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js
index fc84e5b6c..fc84e5b6c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif
index cb192e6ce..cb192e6ce 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf b/library/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf
index 042c2ab96..042c2ab96 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif
index 3b0499145..3b0499145 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif
index fdfe0b9ac..fdfe0b9ac 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif
index 5f235dfc7..5f235dfc7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif
index 388486517..388486517 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif b/library/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif
index ab50f2d88..ab50f2d88 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js b/library/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js
index f8dc81052..f8dc81052 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/js/media.js b/library/tinymce/jscripts/tiny_mce/plugins/media/js/media.js
index 86cfa9856..86cfa9856 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/js/media.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/js/media.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js
index 6d0a996f7..6d0a996f7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/media/media.htm b/library/tinymce/jscripts/tiny_mce/plugins/media/media.htm
index 73a903f7c..73a903f7c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/media/media.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/media/media.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js
index f2dbbff2b..f2dbbff2b 100644
--- a/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
index e3b078bfa..e3b078bfa 100644
--- a/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js
index 9945cd858..9945cd858 100644
--- a/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
index 656c971b8..656c971b8 100644
--- a/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css
index c949d58cc..c949d58cc 100644
--- a/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js
index a212f6963..a212f6963 100644
--- a/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js
index 4e1eb0a7a..4e1eb0a7a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif
index acdf4085f..acdf4085f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif
index 388486517..388486517 100644
--- a/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js
index 3e7b2504f..3e7b2504f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js
index 4c3bf6542..4c3bf6542 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js b/library/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js
index c524f9eb0..c524f9eb0 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js b/library/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js
index a52731c36..a52731c36 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js
index eeac77896..eeac77896 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm b/library/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm
index b65594547..b65594547 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm b/library/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm
index 0f6bb4121..0f6bb4121 100644
--- a/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js
index 507909c5f..507909c5f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js
index 80f00f0d9..80f00f0d9 100644
--- a/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/preview/example.html b/library/tinymce/jscripts/tiny_mce/plugins/preview/example.html
index b2c3d90ce..b2c3d90ce 100644
--- a/tinymce/jscripts/tiny_mce/plugins/preview/example.html
+++ b/library/tinymce/jscripts/tiny_mce/plugins/preview/example.html
diff --git a/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js b/library/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js
index f8dc81052..f8dc81052 100644
--- a/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/preview/preview.html b/library/tinymce/jscripts/tiny_mce/plugins/preview/preview.html
index 67e7b142f..67e7b142f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/preview/preview.html
+++ b/library/tinymce/jscripts/tiny_mce/plugins/preview/preview.html
diff --git a/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js
index b5b3a55ed..b5b3a55ed 100644
--- a/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js
index 3933fe656..3933fe656 100644
--- a/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js
index 8e9399667..8e9399667 100644
--- a/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
index f5a3de8f5..f5a3de8f5 100644
--- a/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css
index ecdf58c7b..ecdf58c7b 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js
index cd9c985b7..cd9c985b7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
index 1433a06a4..1433a06a4 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
index c0a624329..c0a624329 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js
index 370959afa..370959afa 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm
index d0424cfc9..d0424cfc9 100644
--- a/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css
index 24efa0217..24efa0217 100644
--- a/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js
index a9ec3b9cf..a9ec3b9cf 100644
--- a/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js
index d8680baf2..d8680baf2 100644
--- a/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif
index 7d0a4dbca..7d0a4dbca 100644
--- a/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif
+++ b/library/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/css/props.css b/library/tinymce/jscripts/tiny_mce/plugins/style/css/props.css
index eb1f26496..eb1f26496 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/css/props.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/css/props.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js
index cab2153c4..cab2153c4 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js
index 5f7755f18..5f7755f18 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/js/props.js b/library/tinymce/jscripts/tiny_mce/plugins/style/js/props.js
index a8dd93dec..a8dd93dec 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/js/props.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/js/props.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js
index 5026313e2..5026313e2 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/style/props.htm b/library/tinymce/jscripts/tiny_mce/plugins/style/props.htm
index 549ed0408..549ed0408 100644
--- a/tinymce/jscripts/tiny_mce/plugins/style/props.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/style/props.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js
index 27d244022..27d244022 100644
--- a/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js
index c2be2f40a..c2be2f40a 100644
--- a/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/cell.htm b/library/tinymce/jscripts/tiny_mce/plugins/table/cell.htm
index d243e1d83..d243e1d83 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/cell.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/cell.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css b/library/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css
index a067ecdfe..a067ecdfe 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/css/row.css b/library/tinymce/jscripts/tiny_mce/plugins/table/css/row.css
index 1f7755daf..1f7755daf 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/css/row.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/css/row.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/css/table.css b/library/tinymce/jscripts/tiny_mce/plugins/table/css/table.css
index d11c3f69c..d11c3f69c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/css/table.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/css/table.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js
index 266d7d537..266d7d537 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js
index c2f307f04..c2f307f04 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js b/library/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js
index b5fc1fda3..b5fc1fda3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js b/library/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js
index 7ee4bf040..7ee4bf040 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/js/row.js b/library/tinymce/jscripts/tiny_mce/plugins/table/js/row.js
index 70d95b672..70d95b672 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/js/row.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/js/row.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/js/table.js b/library/tinymce/jscripts/tiny_mce/plugins/table/js/table.js
index d1b42c2af..d1b42c2af 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/js/table.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/js/table.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js
index 000332a35..000332a35 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm b/library/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm
index 9736ed8c0..9736ed8c0 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/library/tinymce/jscripts/tiny_mce/plugins/table/row.htm
index 092e6c827..092e6c827 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/row.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/row.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/library/tinymce/jscripts/tiny_mce/plugins/table/table.htm
index f26903922..f26903922 100644
--- a/tinymce/jscripts/tiny_mce/plugins/table/table.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/table/table.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/blank.htm b/library/tinymce/jscripts/tiny_mce/plugins/template/blank.htm
index ecde53fae..ecde53fae 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/blank.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/blank.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/css/template.css b/library/tinymce/jscripts/tiny_mce/plugins/template/css/template.css
index 2d23a4938..2d23a4938 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/css/template.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/css/template.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js
index ebe3c27d7..ebe3c27d7 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js
index 9cac26991..9cac26991 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/js/template.js b/library/tinymce/jscripts/tiny_mce/plugins/template/js/template.js
index 24045d731..24045d731 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/js/template.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/js/template.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js
index 2471c3fa0..2471c3fa0 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/template/template.htm b/library/tinymce/jscripts/tiny_mce/plugins/template/template.htm
index b2182e632..b2182e632 100644
--- a/tinymce/jscripts/tiny_mce/plugins/template/template.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/template/template.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js
index 53d31c44f..53d31c44f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js
index 0a5275fe2..0a5275fe2 100644
--- a/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js
index a099e6a8c..a099e6a8c 100644
--- a/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js
index 5cb92fa0f..5cb92fa0f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm
index 3aeac0deb..3aeac0deb 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm
index 31ee7b70f..31ee7b70f 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm
index 17054da3e..17054da3e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm
index d0a3e3a8e..d0a3e3a8e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css
index 9a6a235c3..9a6a235c3 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css
index e67114dba..e67114dba 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm
index 8b07fa842..8b07fa842 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
index e5195265e..e5195265e 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
index 9b51b8368..9b51b8368 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm
index 6c5470cfc..6c5470cfc 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js
index 4b51a2572..4b51a2572 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js
index 6ec2f8871..6ec2f8871 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js
index d62a219e6..d62a219e6 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js
index 009b71546..009b71546 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js
index 9e5d8c571..9e5d8c571 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js
index 5b494a566..5b494a566 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js
index 3774f0a18..3774f0a18 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js
diff --git a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js
index 45b6b267b..45b6b267b 100644
--- a/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/about.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/about.htm
index 267f837eb..267f837eb 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/about.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/about.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm
index 2bc63fcfd..2bc63fcfd 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm
index 3991b8141..3991b8141 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm
index 096e7550c..096e7550c 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js
index dc6197746..dc6197746 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js
index 279ca359c..279ca359c 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/image.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/image.htm
index f30d67064..f30d67064 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/image.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/image.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg b/library/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg
index b4c542d10..b4c542d10 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif
index c6a75fc13..c6a75fc13 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js
index 5cee9ed86..5cee9ed86 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js
index 7fe781055..7fe781055 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js
index 8c5aea172..8c5aea172 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js
index fd9700f22..fd9700f22 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js
index 6423d9080..6423d9080 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js
index f67a5bc82..f67a5bc82 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js
index 279328614..279328614 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
index 502b00817..502b00817 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js b/library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js
index ea5a6dae2..ea5a6dae2 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/link.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/link.htm
index 7565b9ae8..7565b9ae8 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/link.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/link.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css
index 444063a82..444063a82 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css
index f01222650..f01222650 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png
index 7dd58418b..7dd58418b 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif
index 2eafd7954..2eafd7954 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif
index 85e31dfb2..85e31dfb2 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif
index adfdddccd..adfdddccd 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif
index 5bb90fd6a..5bb90fd6a 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif
index ce4be6355..ce4be6355 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css
index 5f1f96448..5f1f96448 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css
index 3cea5ff1c..3cea5ff1c 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css
index e3af1396e..e3af1396e 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png
index 12cfb419b..12cfb419b 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png
index 8996c7493..8996c7493 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png
index bd5d2550c..bd5d2550c 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css
index a6253976a..a6253976a 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css
index 153f0c38a..153f0c38a 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css
index 7fe3b45e1..7fe3b45e1 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm b/library/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm
index 5957bbd17..5957bbd17 100644
--- a/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm
+++ b/library/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js b/library/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js
index ed89abc06..ed89abc06 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js b/library/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js
index 4b862d49d..4b862d49d 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif b/library/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif
index 16af141ff..16af141ff 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js b/library/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js
index 9f08f102f..9f08f102f 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css
index 2506c807c..2506c807c 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css
index 076fe84e3..076fe84e3 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css
index 595809fa6..595809fa6 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png
index 527e3495a..527e3495a 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png
Binary files differ
diff --git a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css
index cf6c35d10..cf6c35d10 100644
--- a/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css
+++ b/library/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css
diff --git a/tinymce/jscripts/tiny_mce/tiny_mce.js b/library/tinymce/jscripts/tiny_mce/tiny_mce.js
index e9eb3ac2f..e9eb3ac2f 100644
--- a/tinymce/jscripts/tiny_mce/tiny_mce.js
+++ b/library/tinymce/jscripts/tiny_mce/tiny_mce.js
diff --git a/tinymce/jscripts/tiny_mce/tiny_mce_popup.js b/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js
index 3ef3acb1f..3ef3acb1f 100644
--- a/tinymce/jscripts/tiny_mce/tiny_mce_popup.js
+++ b/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js
diff --git a/tinymce/jscripts/tiny_mce/tiny_mce_src.js b/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js
index 9db8d18fe..9db8d18fe 100644
--- a/tinymce/jscripts/tiny_mce/tiny_mce_src.js
+++ b/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js
diff --git a/tinymce/jscripts/tiny_mce/utils/editable_selects.js b/library/tinymce/jscripts/tiny_mce/utils/editable_selects.js
index fd943c0f8..fd943c0f8 100644
--- a/tinymce/jscripts/tiny_mce/utils/editable_selects.js
+++ b/library/tinymce/jscripts/tiny_mce/utils/editable_selects.js
diff --git a/tinymce/jscripts/tiny_mce/utils/form_utils.js b/library/tinymce/jscripts/tiny_mce/utils/form_utils.js
index 2617a26ed..2617a26ed 100644
--- a/tinymce/jscripts/tiny_mce/utils/form_utils.js
+++ b/library/tinymce/jscripts/tiny_mce/utils/form_utils.js
diff --git a/tinymce/jscripts/tiny_mce/utils/mctabs.js b/library/tinymce/jscripts/tiny_mce/utils/mctabs.js
index 825d4c143..825d4c143 100644
--- a/tinymce/jscripts/tiny_mce/utils/mctabs.js
+++ b/library/tinymce/jscripts/tiny_mce/utils/mctabs.js
diff --git a/tinymce/jscripts/tiny_mce/utils/validate.js b/library/tinymce/jscripts/tiny_mce/utils/validate.js
index a6fcf9701..a6fcf9701 100644
--- a/tinymce/jscripts/tiny_mce/utils/validate.js
+++ b/library/tinymce/jscripts/tiny_mce/utils/validate.js
diff --git a/mod/admin.php b/mod/admin.php
index 920adf05d..8f0b2c93d 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -327,11 +327,8 @@ function admin_page_site(&$a) {
* Users admin page
*/
function admin_page_users_post(&$a){
- $users=array(); $pending=array();
- foreach($_POST as $k=>$v){
- if (substr($k,0,5)=="user_") $users[] = substr($k,5,strlen($k)-5);
- if (substr($k,0,8)=="pending_") $users[] = substr($k,8,strlen($k)-8);
- }
+ $pending = ( x(£_POST, 'pending') ? $_POST['pending'] : Array() );
+ $users = ( x($_POST, 'user') ? $_POST['user'] : Array() );
if (x($_POST,'page_users_block')){
foreach($users as $uid){
@@ -350,13 +347,13 @@ function admin_page_users_post(&$a){
}
if (x($_POST,'page_users_approve')){
- require_once("include/regmod.php");
+ require_once("mod/regmod.php");
foreach($pending as $hash){
user_allow($hash);
}
}
if (x($_POST,'page_users_deny')){
- require_once("include/regmod.php");
+ require_once("mod/regmod.php");
foreach($pending as $hash){
user_deny($hash);
}
@@ -409,22 +406,22 @@ function admin_page_users(&$a){
$a->set_pager_itemspage(100);
}
- $users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro` , `lastitem`.`lastitem_date`
- FROM (
- SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid`
+ $users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro`, `lastitem`.`lastitem_date`
+ FROM
+ (SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid`
FROM `item`
WHERE `item`.`type` = 'wall'
- GROUP BY `item`.`uid`
- ) AS `lastitem` , `user`
- LEFT JOIN `contact` ON `user`.`uid` = `contact`.`uid`
- WHERE `user`.`verified` =1
- AND `contact`.`self` =1
- AND `lastitem`.`uid` = `user`.`uid`
+ GROUP BY `item`.`uid`) AS `lastitem`
+ RIGHT OUTER JOIN `user` ON `user`.`uid` = `lastitem`.`uid`,
+ `contact`
+ WHERE
+ `user`.`uid` = `contact`.`uid`
+ AND `user`.`verified` =1
+ AND `contact`.`self` =1
ORDER BY `contact`.`name` LIMIT %d, %d
",
intval($a->pager['start']),
intval($a->pager['itemspage'])
-
);
function _setup_users($e){
@@ -459,7 +456,7 @@ function admin_page_users(&$a){
'$unblock' => t('Unblock'),
'$h_users' => t('Users'),
- '$th_users' => array( t('Name'), t('Email'), t('Register date'), t('Last login'), t('Last item'), t('Account') ),
+ '$th_users' => array( t('Name'), t('Email'), t('Register date'), t('Last login'), t('Last item'), t('Account') ),
'$confirm_delete_multi' => t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
diff --git a/mod/attach.php b/mod/attach.php
index 3953d3aa1..ae6540201 100644
--- a/mod/attach.php
+++ b/mod/attach.php
@@ -1,5 +1,7 @@
<?php
+require_once('include/security.php');
+
function attach_init(&$a) {
if($a->argc != 2) {
@@ -9,6 +11,8 @@ function attach_init(&$a) {
$item_id = intval($a->argv[1]);
+ // Check for existence, which will also provide us the owner uid
+
$r = q("SELECT * FROM `attach` WHERE `id` = %d LIMIT 1",
intval($item_id)
);
@@ -17,39 +21,7 @@ function attach_init(&$a) {
return;
}
- $owner = $r[0]['uid'];
-
- $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
-
- if(local_user() && ($owner == $_SESSION['uid'])) {
-
- // Owner can always see his/her photos
- $sql_extra = '';
-
- }
- elseif(remote_user()) {
-
- // authenticated visitor - here lie dragons
-
- $groups = init_groups_visitor($_SESSION['visitor_id']);
- $gs = '<<>>'; // should be impossible to match
- if(count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . intval($g) . '>';
- }
-
- $sql_extra = sprintf(
- " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s') ",
-
- intval($_SESSION['visitor_id']),
- intval($_SESSION['visitor_id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ $sql_extra = permissions_sql($r[0]['uid']);
// Now we'll see if we can access the attachment
@@ -57,17 +29,14 @@ function attach_init(&$a) {
dbesc($item_id)
);
- if(count($r)) {
- $data = $r[0]['data'];
- }
- else {
+ if(! count($r)) {
notice( t('Permission denied.') . EOL);
return;
}
header('Content-type: ' . $r[0]['filetype']);
header('Content-disposition: attachment; filename=' . $r[0]['filename']);
- echo $data;
+ echo $r[0]['data'];
killme();
// NOTREACHED
} \ No newline at end of file
diff --git a/mod/contacts.php b/mod/contacts.php
index e7a800500..7a97b53d2 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -11,8 +11,9 @@ function contacts_init(&$a) {
if($a->config['register_policy'] != REGISTER_CLOSED)
$a->page['aside'] .= '<div class="side-link" id="side-invite-link" ><a href="invite" >' . t("Invite Friends") . '</a></div>';
- if(strlen(get_config('system','directory_submit_url')))
- $a->page['aside'] .= '<div class="side-link" id="side-match-link"><a href="match" >' . t('Find People With Shared Interests') . '</a></div>';
+
+ $a->page['aside'] .= '<div class="side-link" id="side-match-link"><a href="match" >'
+ . t('Find People With Shared Interests') . '</a></div>';
$tpl = get_markup_template('follow.tpl');
$a->page['aside'] .= replace_macros($tpl,array(
@@ -268,6 +269,10 @@ function contacts_content(&$a) {
if($r[0]['last-update'] !== '0000-00-00 00:00:00')
$last_update .= ' ' . (($r[0]['last-update'] == $r[0]['success_update']) ? t("\x28Update was successful\x29") : t("\x28Update was not successful\x29"));
+ $lblsuggest = (($r[0]['network'] === NETWORK_DFRN)
+ ? '<div id="contact-suggest-wrapper"><a href="fsuggest/' . $r[0]['id'] . '" id="contact-suggest">' . t('Suggest friends') . '</a></div>' : '');
+
+
$o .= replace_macros($tpl,array(
'$header' => t('Contact Editor'),
'$submit' => t('Submit'),
@@ -284,6 +289,7 @@ function contacts_content(&$a) {
'$altcrepair' => t('Repair contact URL settings'),
'$lblcrepair' => t("Repair contact URL settings \x28WARNING: Advanced\x29"),
'$lblrecent' => t('View conversations'),
+ '$lblsuggest' => $lblsuggest,
'$grps' => $grps,
'$delete' => t('Delete contact'),
'$poll_interval' => contact_poll_interval($r[0]['priority']),
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index 7c11b78d5..e2094b1f3 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -507,7 +507,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$local_uid = $r[0]['uid'];
- if(! strstr($my_prvkey,'BEGIN RSA PRIVATE KEY')) {
+ if(! strstr($my_prvkey,'PRIVATE KEY')) {
$message = t('Our site encryption key is apparently messed up.');
xml_status(3,$message);
}
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index f6d1f2be5..64b5ec479 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -1,6 +1,6 @@
<?php
-require_once('simplepie/simplepie.inc');
+require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/event.php');
@@ -165,13 +165,14 @@ function dfrn_notify_post(&$a) {
$fsugg['name'] = notags(unxmlify($base['name'][0]['data']));
$fsugg['photo'] = notags(unxmlify($base['photo'][0]['data']));
$fsugg['url'] = notags(unxmlify($base['url'][0]['data']));
+ $fsugg['request'] = notags(unxmlify($base['request'][0]['data']));
$fsugg['body'] = escape_tags(unxmlify($base['note'][0]['data']));
// Does our member already have a friend matching this description?
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `url` = '%s' AND `uid` = %d LIMIT 1",
dbesc($fsugg['name']),
- dbesc($fsuff['url']),
+ dbesc($fsugg['url']),
intval($fsugg['uid'])
);
if(count($r))
@@ -180,24 +181,25 @@ function dfrn_notify_post(&$a) {
// Do we already have an fcontact record for this person?
$fid = 0;
- $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `photo` = '%s' LIMIT 1",
+ $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
dbesc($fsugg['url']),
- dbesc($fsuff['name']),
- dbesc($fsugg['photo'])
+ dbesc($fsugg['name']),
+ dbesc($fsugg['request'])
);
if(count($r)) {
$fid = $r[0]['id'];
}
if(! $fid)
- $r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo` ) VALUES ( '%s', '%s', '%s' ) ",
- dbesc($fsuff['name']),
+ $r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo`,`request` ) VALUES ( '%s', '%s', '%s', '%s' ) ",
+ dbesc($fsugg['name']),
dbesc($fsugg['url']),
- dbesc($fsugg['photo'])
+ dbesc($fsugg['photo']),
+ dbesc($fsugg['request'])
);
- $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `photo` = '%s' LIMIT 1",
+ $r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
dbesc($fsugg['url']),
- dbesc($fsuff['name']),
- dbesc($fsugg['photo'])
+ dbesc($fsugg['name']),
+ dbesc($fsugg['request'])
);
if(count($r)) {
$fid = $r[0]['id'];
@@ -676,6 +678,7 @@ function dfrn_notify_post(&$a) {
$ev['cid'] = $importer['id'];
$ev['uid'] = $importer['uid'];
$ev['uri'] = $item_id;
+ $ev['edited'] = $datarray['edited'];
$r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
diff --git a/mod/display.php b/mod/display.php
index fdb93e480..305a21825 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -59,42 +59,7 @@ function display_content(&$a) {
if(count($r))
$a->page_contact = $r[0];
- $sql_extra = "
- AND `allow_cid` = ''
- AND `allow_gid` = ''
- AND `deny_cid` = ''
- AND `deny_gid` = ''
- ";
-
-
- // Profile owner - everything is visible
-
- if(local_user() && (local_user() == $a->profile['uid'])) {
- $sql_extra = '';
- }
-
- // authenticated visitor - here lie dragons
- // If $remotecontact is true, we know that not only is this a remotely authenticated
- // person, but that it is *our* contact, which is important in multi-user mode.
-
- elseif($remote_contact) {
- $gs = '<<>>'; // should be impossible to match
- if(count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . intval($g) . '>';
- }
- $sql_extra = sprintf(
- " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s') ",
-
- intval($_SESSION['visitor_id']),
- intval($_SESSION['visitor_id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ $sql_extra = permissions_sql($a->profile['uid'],$remote_contact,$groups);
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
diff --git a/mod/events.php b/mod/events.php
index 642da3cb7..b0b54601f 100644
--- a/mod/events.php
+++ b/mod/events.php
@@ -183,7 +183,8 @@ function events_content(&$a) {
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
- $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink` FROM `event` LEFT JOIN `item` ON `item`.`event-id` = `event`.`id`
+ $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
+ `item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event` LEFT JOIN `item` ON `item`.`event-id` = `event`.`id`
WHERE `event`.`uid` = %d
AND (( `adjust` = 0 AND `start` >= '%s' AND `start` <= '%s' )
OR ( `adjust` = 1 AND `start` >= '%s' AND `start` <= '%s' )) ",
@@ -218,10 +219,6 @@ function events_content(&$a) {
-
-
-
-
$last_date = '';
$fmt = t('l, F j');
@@ -235,7 +232,7 @@ function events_content(&$a) {
$o .= '<hr /><a name="link-' . $j . '" ><div class="event-list-date">' . $d . '</div></a>';
$last_date = $d;
$o .= format_event_html($rr);
- $o .= '<a href="' . $a->get_baseurl() . '/events/event/' . $rr['id'] . '" title="' . t('Edit event') . '" class="edit-event-link icon pencil"></a>';
+ $o .= ((! $rr['cid']) ? '<a href="' . $a->get_baseurl() . '/events/event/' . $rr['id'] . '" title="' . t('Edit event') . '" class="edit-event-link icon pencil"></a>' : '');
if($rr['plink'])
$o .= '<a href="' . $rr['plink'] . '" title="' . t('link to source') . '" target="external-link" class="plink-event-link icon remote-link"></a></div>';
diff --git a/mod/friendika.php b/mod/friendika.php
index 7762bfbb5..8c034c4ac 100644
--- a/mod/friendika.php
+++ b/mod/friendika.php
@@ -21,7 +21,7 @@ function friendika_init(&$a) {
'register_policy' => $register_policy[$a->config['register_policy']],
'admin' => $admin,
'site_name' => $a->config['sitename'],
-
+ 'info' => ((x($a->config,'info')) ? $a->config['info'] : '')
);
echo json_encode($data);
diff --git a/mod/fsuggest.php b/mod/fsuggest.php
new file mode 100644
index 000000000..9ef8f4c55
--- /dev/null
+++ b/mod/fsuggest.php
@@ -0,0 +1,111 @@
+<?php
+
+
+function fsuggest_post(&$a) {
+
+ if(! local_user()) {
+ return;
+ }
+
+ if($a->argc != 2)
+ return;
+
+ $contact_id = intval($a->argv[1]);
+
+ $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($contact_id),
+ intval(local_user())
+ );
+ if(! count($r)) {
+ notice( t('Contact not found.') . EOL);
+ return;
+ }
+ $contact = $r[0];
+
+ $new_contact = intval($_POST['suggest']);
+
+ $hash = random_string();
+
+ $note = escape_tags(trim($_POST['note']));
+
+ if($new_contact) {
+ $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($new_contact),
+ intval(local_user())
+ );
+ if(count($r)) {
+
+ $x = q("INSERT INTO `fsuggest` ( `uid`,`cid`,`name`,`url`,`request`,`photo`,`note`,`created`)
+ VALUES ( %d, %d, '%s','%s','%s','%s','%s','%s')",
+ intval(local_user()),
+ intval($contact_id),
+ dbesc($r[0]['name']),
+ dbesc($r[0]['url']),
+ dbesc($r[0]['request']),
+ dbesc($r[0]['photo']),
+ dbesc($hash),
+ dbesc(datetime_convert())
+ );
+ $r = q("SELECT `id` FROM `fsuggest` WHERE `note` = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($hash),
+ intval(local_user())
+ );
+ if(count($r)) {
+ $fsuggest_id = $r[0]['id'];
+ q("UPDATE `fsuggest` SET `note` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ dbesc($note),
+ intval($fsuggest_id),
+ intval(local_user())
+ );
+ proc_run('php', 'include/notifier.php', 'suggest' , $fsuggest_id);
+ }
+
+ info( t('Friend suggestion sent.') . EOL);
+ }
+
+ }
+
+
+}
+
+
+
+function fsuggest_content(&$a) {
+
+ require_once('include/acl_selectors.php');
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ if($a->argc != 2)
+ return;
+
+ $contact_id = intval($a->argv[1]);
+
+ $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($contact_id),
+ intval(local_user())
+ );
+ if(! count($r)) {
+ notice( t('Contact not found.') . EOL);
+ return;
+ }
+ $contact = $r[0];
+
+ $o = '<h3>' . t('Suggest Friends') . '</h3>';
+
+ $o .= '<div id="fsuggest-desc" >' . sprintf( t('Suggest a friend for %s'), $contact['name']) . '</div>';
+
+ $o .= '<form id="fsuggest-form" action="fsuggest/' . $contact_id . '" method="post" >';
+
+ $o .= contact_selector('suggest','suggest-select', false,
+ array('size' => 4, 'exclude' => $contact_id, 'networks' => 'DFRN_ONLY', 'single' => true));
+
+
+ $o .= '<div id="fsuggest-submit-wrapper"><input id="fsuggest-submit" type="submit" name="submit" value="' . t('Submit') . '" /></div>';
+ $o .= '</form>';
+
+ return $o;
+} \ No newline at end of file
diff --git a/mod/group.php b/mod/group.php
index 2d7ea8c11..981796f67 100644
--- a/mod/group.php
+++ b/mod/group.php
@@ -7,7 +7,7 @@ function validate_members(&$item) {
function group_init(&$a) {
if(local_user()) {
require_once('include/group.php');
- $a->page['aside'] = group_side();
+ $a->page['aside'] = group_side('contacts','group',false,(($a->argc > 1) ? intval($a->argv[1]) : 0));
}
}
@@ -68,6 +68,14 @@ function group_content(&$a) {
return;
}
+ // Switch to text mod interface if we have more than 'n' contacts or group members
+
+ $switchtotext = get_pconfig(local_user(),'system','groupedit_image_limit');
+ if($switchtotext === false)
+ $switchtotext = get_config('system','groupedit_image_limit');
+ if($switchtotext === false)
+ $switchtotext = 400;
+
if(($a->argc == 2) && ($a->argv[1] === 'new')) {
$tpl = get_markup_template('group_new.tpl');
$o .= replace_macros($tpl,array(
@@ -170,10 +178,11 @@ function group_content(&$a) {
$o .= '<div id="group-members">';
$o .= '<h3>' . t('Members') . '</h3>';
+ $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
foreach($members as $member) {
if($member['url']) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
- $o .= micropro($member,true,'mpgroup');
+ $o .= micropro($member,true,'mpgroup', $textmode);
}
else
group_rmv_member(local_user(),$group['name'],$member['id']);
@@ -189,10 +198,11 @@ function group_content(&$a) {
);
if(count($r)) {
+ $textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
if(! in_array($member['id'],$preselected)) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
- $o .= micropro($member,true,'mpall');
+ $o .= micropro($member,true,'mpall', $textmode);
}
}
}
diff --git a/mod/item.php b/mod/item.php
index 84fe237b3..8a4f8293c 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -61,7 +61,7 @@ function item_post(&$a) {
$profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0);
$post_id = ((x($_POST['post_id'])) ? intval($_POST['post_id']) : 0);
- $app = ((x($_POST['source'])) ? notags($_POST['source']) : '');
+ $app = ((x($_POST['source'])) ? strip_tags($_POST['source']) : '');
if(! can_write_wall($a,$profile_uid)) {
notice( t('Permission denied.') . EOL) ;
@@ -244,6 +244,10 @@ function item_post(&$a) {
}
+ /**
+ * Next link in any attachment references we find in the post.
+ */
+
$match = false;
if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",$body,$match)) {
@@ -265,10 +269,6 @@ function item_post(&$a) {
}
}
-
-
-
-
/**
* Fold multi-line [code] sequences
*/
@@ -285,13 +285,21 @@ function item_post(&$a) {
$tags = get_tags($body);
- if(($parent_contact) && ($parent_contact['network'] === 'stat') && ($parent_contact['nick']) && (! in_array('@' . $parent_contact['nick'],$tags))) {
+ /**
+ * add a statusnet style reply tag if the original post was from there
+ * and we are replying, and there isn't one already
+ */
+
+ if(($parent_contact) && ($parent_contact['network'] === 'stat')
+ && ($parent_contact['nick']) && (! in_array('@' . $parent_contact['nick'],$tags))) {
$body = '@' . $parent_contact['nick'] . ' ' . $body;
$tags[] = '@' . $parent_contact['nick'];
}
if(count($tags)) {
foreach($tags as $tag) {
+ if(isset($profile))
+ unset($profile);
if(strpos($tag,'#') === 0) {
if(strpos($tag,'[url='))
continue;
@@ -325,7 +333,7 @@ function item_post(&$a) {
else {
$newname = $name;
$alias = '';
- if(strstr($name,'_')) {
+ if(strstr($name,'_') || strstr($name,' ')) {
$newname = str_replace('_',' ',$name);
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
dbesc($newname),
@@ -419,6 +427,7 @@ function item_post(&$a) {
$datarray['author-avatar'] = $author['thumb'];
$datarray['created'] = datetime_convert();
$datarray['edited'] = datetime_convert();
+ $datarray['received'] = datetime_convert();
$datarray['changed'] = datetime_convert();
$datarray['uri'] = $uri;
$datarray['title'] = $title;
@@ -445,6 +454,7 @@ function item_post(&$a) {
$datarray['parent'] = $parent;
$datarray['self'] = $self;
+ $datarray['prvnets'] = $user['prvnets'];
if($orig_post)
$datarray['edit'] = true;
@@ -472,9 +482,9 @@ function item_post(&$a) {
$r = q("INSERT INTO `item` (`uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
- `author-name`, `author-link`, `author-avatar`, `created`, `edited`, `changed`, `uri`, `title`, `body`, `app`, `location`, `coord`,
+ `author-name`, `author-link`, `author-avatar`, `created`, `edited`, `received`, `changed`, `uri`, `title`, `body`, `app`, `location`, `coord`,
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach` )
- VALUES( %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )",
+ VALUES( %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )",
intval($datarray['uid']),
dbesc($datarray['type']),
intval($datarray['wall']),
@@ -488,6 +498,7 @@ function item_post(&$a) {
dbesc($datarray['author-avatar']),
dbesc($datarray['created']),
dbesc($datarray['edited']),
+ dbesc($datarray['received']),
dbesc($datarray['changed']),
dbesc($datarray['uri']),
dbesc($datarray['title']),
diff --git a/mod/lostpass.php b/mod/lostpass.php
index e0bf6eed7..3453a0db4 100644
--- a/mod/lostpass.php
+++ b/mod/lostpass.php
@@ -7,12 +7,16 @@ function lostpass_post(&$a) {
if(! $email)
goaway($a->get_baseurl());
- $r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' ) LIMIT 1",
+ $r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' ) AND `verified` = 1 AND `blocked` = 0 LIMIT 1",
dbesc($email),
dbesc($email)
);
- if(! count($r))
+
+ if(! count($r)) {
+ notice( t('No valid account found.') . EOL);
goaway($a->get_baseurl());
+ }
+
$uid = $r[0]['uid'];
$username = $r[0]['username'];
diff --git a/mod/match.php b/mod/match.php
index 2d6456b54..5dd80fe3e 100644
--- a/mod/match.php
+++ b/mod/match.php
@@ -15,7 +15,7 @@ function match_content(&$a) {
if(! count($r))
return;
if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) {
- notice('No keywords to match. Please add keywords to your default profile.');
+ notice( t('No keywords to match. Please add keywords to your default profile.') . EOL);
return;
}
@@ -27,7 +27,10 @@ function match_content(&$a) {
if($a->pager['page'] != 1)
$params['p'] = $a->pager['page'];
- $x = post_url('http://dir.friendika.com/msearch', $params);
+ if(strlen(get_config('system','directory_submit_url')))
+ $x = post_url('http://dir.friendika.com/msearch', $params);
+ else
+ $x = post_url($a->get_baseurl() . '/msearch', $params);
$j = json_decode($x);
@@ -40,7 +43,7 @@ function match_content(&$a) {
foreach($j->results as $jj) {
$o .= '<div class="profile-match-wrapper"><div class="profile-match-photo">';
- $o .= '<a href="' . $jj->url . '">' . '<img src="' . $jj->photo . '" alt="' . $jj->name . '" title="' . $jj->name . '[' . $jj->url . ']' . '" /></a></div>';
+ $o .= '<a href="' . $jj->url . '">' . '<img src="' . $jj->photo . '" alt="' . $jj->name . '" title="' . $jj->name . '[' . $jj->tags . ']' . '" /></a></div>';
$o .= '<div class="profile-match-break"></div>';
$o .= '<div class="profile-match-name"><a href="' . $jj->url . '" title="' . $jj->name . '[' . $jj->url .']' . '">' . $jj->name . '</a></div>';
$o .= '<div class="profile-match-end"></div></div>';
diff --git a/mod/msearch.php b/mod/msearch.php
index dc9496295..7d9bbe9e7 100644
--- a/mod/msearch.php
+++ b/mod/msearch.php
@@ -16,7 +16,7 @@ function msearch_post(&$a) {
if(count($r))
$total = $r[0]['total'];
- $r = q("SELECT `username`, `nickname`, `user`.`uid` FROM `user` LEFT JOIN `profile` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `hidewall` = 0 AND MATCH `pub_keywords` AGAINST ('%s') LIMIT %d , %d ",
+ $r = q("SELECT `pub_keywords`, `username`, `nickname`, `user`.`uid` FROM `user` LEFT JOIN `profile` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `hidewall` = 0 AND MATCH `pub_keywords` AGAINST ('%s') LIMIT %d , %d ",
dbesc($search),
intval($startrec),
intval($perpage)
@@ -28,7 +28,8 @@ function msearch_post(&$a) {
$results[] = array(
'name' => $rr['name'],
'url' => $a->get_baseurl() . '/profile/' . $rr['nickname'],
- 'photo' => $a->get_baseurl() . '/photo/avatar/' . $rr['uid'] . 'jpg'
+ 'photo' => $a->get_baseurl() . '/photo/avatar/' . $rr['uid'] . 'jpg',
+ 'tags' => str_replace(array(',',' '),array(' ',' '),$rr['pub_keywords'])
);
}
diff --git a/mod/network.php b/mod/network.php
index 75775ba50..28e540283 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -7,13 +7,14 @@ function network_init(&$a) {
return;
}
-
+ $group_id = (($a->argc > 1 && intval($a->argv[1])) ? intval($a->argv[1]) : 0);
+
require_once('include/group.php');
if(! x($a->page,'aside'))
$a->page['aside'] = '';
$search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
- $srchurl = '/network' . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '');
+ $srchurl = '/network' . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '') . ((x($_GET,'star')) ? '?star=' . $_GET['star'] : '');
$a->page['aside'] .= search($search,'netsearch-box',$srchurl);
@@ -21,15 +22,33 @@ function network_init(&$a) {
$a->page['aside'] .= '<div id="network-new-link">';
-
+ $a->page['aside'] .= '<div id="network-view-link">';
if(($a->argc > 1 && $a->argv[1] === 'new') || ($a->argc > 2 && $a->argv[2] === 'new') || x($_GET,'search'))
- $a->page['aside'] .= '<a href="' . $a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '') . '">' . t('Normal View') . '</a>';
- else
- $a->page['aside'] .= '<a href="' . $a->get_baseurl() . '/' . $a->cmd . '/new' . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '">' . t('New Item View') . '</a>';
+ $a->page['aside'] .= '<a href="' . $a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '') . '">' . t('View Conversations') . '</a></div>';
+ else {
+ $a->page['aside'] .= '<a href="' . $a->get_baseurl() . '/' . $a->cmd . '/new' . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '">' . t('View New Items') . '</a></div>';
+
+ if(x($_GET,'star'))
+ $a->page['aside'] .= '<div id="network-star-link">'
+ . '<a class="network-star" href="' . $a->get_baseurl() . '/' . $a->cmd
+ . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '">'
+ . t('View Any Items') . '</a>'
+ . '<span class="network-star icon starred"></span>'
+ . '<span class="network-star icon unstarred"></span>'
+ . '<div class="clear"></div></div>';
+ else
+ $a->page['aside'] .= '<div id="network-star-link">'
+ . '<a class="network-star" href="' . $a->get_baseurl() . '/' . $a->cmd
+ . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '&star=1" >'
+ . t('View Starred Items') . '</a>'
+ . '<span class="network-star icon starred"></span>'
+ . '<div class="clear"></div></div>';
+
+ }
$a->page['aside'] .= '</div>';
- $a->page['aside'] .= group_side('network','network',true);
+ $a->page['aside'] .= group_side('network','network',true,$group_id);
}
@@ -50,6 +69,7 @@ function network_content(&$a, $update = 0) {
require_once('include/acl_selectors.php');
$cid = ((x($_GET['cid'])) ? intval($_GET['cid']) : 0);
+ $star = ((x($_GET['star'])) ? intval($_GET['star']) : 0);
if(($a->argc > 2) && $a->argv[2] === 'new')
$nouveau = true;
@@ -108,6 +128,7 @@ function network_content(&$a, $update = 0) {
. "; var netargs = '" . substr($a->cmd,8)
. ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '')
. ((x($_GET,'search')) ? '?search=' . $_GET['search'] : '')
+ . ((x($_GET,'star')) ? '?star=' . $_GET['star'] : '')
. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
@@ -116,7 +137,7 @@ function network_content(&$a, $update = 0) {
// level which items you've seen and which you haven't. If you're looking
// at the top level network page just mark everything seen.
- if((! $group) && (! $cid)) {
+ if((! $group) && (! $cid) && (! $star)) {
$r = q("UPDATE `item` SET `unseen` = 0
WHERE `unseen` = 1 AND `uid` = %d",
intval($_SESSION['uid'])
@@ -127,7 +148,9 @@ function network_content(&$a, $update = 0) {
// that belongs to you, hence you can see all of it. We will filter by group if
// desired.
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) ";
+ $star_sql = (($star) ? " AND `starred` = 1 " : '');
+
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql ) ";
if($group) {
$r = q("SELECT `name`, `id` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@@ -151,7 +174,8 @@ function network_content(&$a, $update = 0) {
info( t('Group is empty'));
}
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' )) ";
+
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' )) ";
$o = '<h2>' . t('Group: ') . $r[0]['name'] . '</h2>' . $o;
}
elseif($cid) {
@@ -161,7 +185,7 @@ function network_content(&$a, $update = 0) {
intval($cid)
);
if(count($r)) {
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` AND `contact-id` IN ( " . intval($cid) . " )) ";
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql AND `contact-id` IN ( " . intval($cid) . " )) ";
$o = '<h2>' . t('Contact: ') . $r[0]['name'] . '</h2>' . $o;
if($r[0]['network'] !== NETWORK_MAIL && $r[0]['network'] !== NETWORK_DFRN && $r[0]['network'] !== NETWORK_FACEBOOK && $r[0]['writable'] && (! get_pconfig(local_user(),'system','nowarn_insecure'))) {
notice( t('Private messages to this person are at risk of public disclosure.') . EOL);
@@ -183,6 +207,7 @@ function network_content(&$a, $update = 0) {
if(x($_GET,'search'))
$sql_extra .= " AND `item`.`body` REGEXP '" . dbesc(escape_tags($_GET['search'])) . "' ";
+
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
@@ -212,7 +237,7 @@ function network_content(&$a, $update = 0) {
AND `contact`.`id` = `item`.`contact-id`
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
$sql_extra
- ORDER BY `item`.`created` DESC LIMIT %d ,%d ",
+ ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
intval($_SESSION['uid']),
intval($a->pager['start']),
intval($a->pager['itemspage'])
diff --git a/mod/notifications.php b/mod/notifications.php
index a3339199e..c6f073058 100644
--- a/mod/notifications.php
+++ b/mod/notifications.php
@@ -13,11 +13,9 @@ function notifications_post(&$a) {
if($request_id) {
- $r = q("SELECT * FROM `intro`
- WHERE `id` = %d
- AND `uid` = %d LIMIT 1",
- intval($request_id),
- intval(local_user())
+ $r = q("SELECT * FROM `intro` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($request_id),
+ intval(local_user())
);
if(count($r)) {
@@ -28,14 +26,22 @@ function notifications_post(&$a) {
notice( t('Invalid request identifier.') . EOL);
return;
}
+
+ // If it is a friend suggestion, the contact is not a new friend but an existing friend
+ // that should not be deleted.
+
+ $fid = $r[0]['fid'];
+
if($_POST['submit'] == t('Discard')) {
$r = q("DELETE FROM `intro` WHERE `id` = %d LIMIT 1",
intval($intro_id)
);
- $r = q("DELETE FROM `contact` WHERE `id` = %d AND `uid` = %d AND `self` = 0 LIMIT 1",
- intval($contact_id),
- intval(local_user())
- );
+ if(! $fid) {
+ $r = q("DELETE FROM `contact` WHERE `id` = %d AND `uid` = %d AND `self` = 0 LIMIT 1",
+ intval($contact_id),
+ intval(local_user())
+ );
+ }
return;
}
if($_POST['submit'] == t('Ignore')) {
@@ -81,18 +87,41 @@ function notifications_content(&$a) {
$a->set_pager_itemspage(20);
}
- $r = q("SELECT `intro`.`id` AS `intro_id`, `intro`.*, `contact`.*
- FROM `intro` LEFT JOIN `contact` ON `intro`.`contact-id` = `contact`.`id`
+ $r = q("SELECT `intro`.`id` AS `intro_id`, `intro`.*, `contact`.*, `fcontact`.`name` AS `fname`,`fcontact`.`url` AS `furl`,`fcontact`.`photo` AS `fphoto`,`fcontact`.`request` AS `frequest`
+ FROM `intro` LEFT JOIN `contact` ON `contact`.`id` = `intro`.`contact-id` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
WHERE `intro`.`uid` = %d $sql_extra AND `intro`.`blocked` = 0 ",
intval($_SESSION['uid']));
if(($r !== false) && (count($r))) {
-
+ $sugg = get_markup_template('suggestions.tpl');
$tpl = get_markup_template("intros.tpl");
foreach($r as $rr) {
+ if($rr['fid']) {
+
+ $return_addr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
+ $o .= replace_macros($sugg,array(
+ '$str_notifytype' => t('Notification type: '),
+ '$notify_type' => t('Friend Suggestion'),
+ '$intro_id' => $rr['intro_id'],
+ '$madeby' => sprintf( t('suggested by %s'),$rr['name']),
+ '$contact_id' => $rr['contact-id'],
+ '$photo' => ((x($rr,'fphoto')) ? $rr['fphoto'] : "images/default-profile.jpg"),
+ '$fullname' => $rr['fname'],
+ '$url' => $rr['furl'],
+ '$knowyou' => $knowyou,
+ '$approve' => t('Approve'),
+ '$note' => $rr['note'],
+ '$request' => $rr['frequest'] . '?addr=' . $return_addr,
+ '$ignore' => t('Ignore'),
+ '$discard' => t('Discard')
+
+ ));
+
+ continue;
+ }
$friend_selected = (($rr['network'] !== 'stat') ? ' checked="checked" ' : ' disabled ');
$fan_selected = (($rr['network'] === 'stat') ? ' checked="checked" disabled ' : '');
$dfrn_tpl = get_markup_template('netfriend.tpl');
@@ -138,28 +167,6 @@ function notifications_content(&$a) {
else
info( t('No notifications.') . EOL);
- if ($a->config['register_policy'] == REGISTER_APPROVE &&
- $a->config['admin_email'] === $a->user['email']){
- $o .= '<h1>' . t('User registrations waiting for confirm') . '</h1>' . "\r\n";
-
- $r = q("SELECT `register`.*, `contact`.`name`, `user`.`email`
- FROM `register`
- LEFT JOIN `contact` ON `register`.`uid` = `contact`.`uid`
- LEFT JOIN `user` ON `register`.`uid` = `user`.`uid`;");
- if(($r !== false) && (count($r))) {
- $o .= '<ul>';
- foreach($r as $rr) {
- $o .= '<li>' . sprintf('%s (%s) : ', $rr['name'],$rr['email'])
- . '<a href="regmod/allow/' . $rr['hash'] .'">' . t('Approve')
- . '</a> - <a href="regmod/deny/' . $rr['hash'] . '">' . t('Deny') . '</a></li>' . "\r\n";
- }
- $o .= "</ul>";
- }
- else
- info( t('No registrations.') . EOL);
-
- }
-
$o .= paginate($a);
return $o;
}
diff --git a/mod/photo.php b/mod/photo.php
index 3bea7e72d..9809aa418 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -1,5 +1,7 @@
<?php
+require_once('include/security.php');
+
function photo_init(&$a) {
switch($a->argc) {
@@ -73,39 +75,7 @@ function photo_init(&$a) {
);
if(count($r)) {
- $owner = $r[0]['uid'];
-
- $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
-
- if(local_user() && ($owner == $_SESSION['uid'])) {
-
- // Owner can always see his/her photos
- $sql_extra = '';
-
- }
- elseif(remote_user()) {
-
- // authenticated visitor - here lie dragons
-
- $groups = init_groups_visitor($_SESSION['visitor_id']);
- $gs = '<<>>'; // should be impossible to match
- if(count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . intval($g) . '>';
- }
-
- $sql_extra = sprintf(
- " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s') ",
-
- intval($_SESSION['visitor_id']),
- intval($_SESSION['visitor_id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ $sql_extra = permissions_sql($r[0]['uid']);
// Now we'll see if we can access the photo
diff --git a/mod/photos.php b/mod/photos.php
index bbdb8b7e9..3e0ec5802 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -3,6 +3,7 @@ require_once('include/Photo.php');
require_once('include/items.php');
require_once('include/acl_selectors.php');
require_once('include/bbcode.php');
+require_once('include/security.php');
function photos_init(&$a) {
@@ -23,7 +24,9 @@ function photos_init(&$a) {
$a->data['user'] = $r[0];
- $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d",
+ $sql_extra = permissions_sql($a->data['user']['uid']);
+
+ $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d $sql_extra ",
intval($a->data['user']['uid'])
);
@@ -35,7 +38,11 @@ function photos_init(&$a) {
$o .= '<ul>';
foreach($albums as $album) {
- if((! strlen($album['album'])) || ($album['album'] == t('Contact Photos')))
+
+ // don't show contact photos. We once trasnlated this name, but then you could still access it under
+ // a different language setting. Now we store the name in English and check in English (and translated for legacy albums).
+
+ if((! strlen($album['album'])) || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue;
$o .= '<li>' . '<a href="photos/' . $a->argv[1] . '/album/' . bin2hex($album['album']) . '" />' . $album['album'] . '</a></li>';
}
@@ -133,7 +140,7 @@ function photos_post(&$a) {
if(($a->argc > 3) && ($a->argv[2] === 'album')) {
$album = hex2bin($a->argv[3]);
- if($album == t('Profile Photos') || $album == t('Contact Photos')) {
+ if($album === t('Profile Photos') || $album === 'Contact Photos' || $album === t('Contact Photos')) {
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
return; // NOTREACHED
}
@@ -376,6 +383,8 @@ function photos_post(&$a) {
if(count($tags)) {
foreach($tags as $tag) {
+ if(isset($profile))
+ unset($profile);
if(strpos($tag,'@') === 0) {
$name = substr($tag,1);
if((strpos($name,'@')) || (strpos($name,'http://'))) {
@@ -397,7 +406,7 @@ function photos_post(&$a) {
}
else {
$newname = $name;
- if(strstr($name,'_')) {
+ if(strstr($name,'_') || strstr($name,' ')) {
$newname = str_replace('_',' ',$name);
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
dbesc($newname),
@@ -590,6 +599,9 @@ function photos_post(&$a) {
$filesize = intval($_FILES['userfile']['size']);
}
+
+ logger('photos: upload: received file: ' . $filename . ' as ' . $src . ' ' . $filesize . ' bytes', LOGGER_DEBUG);
+
$maximagesize = get_config('system','maximagesize');
if(($maximagesize) && ($filesize > $maximagesize)) {
@@ -600,6 +612,14 @@ function photos_post(&$a) {
return;
}
+ if(! $filesize) {
+ notice( t('Image file is empty.') . EOL);
+ @unlink($src);
+ $foo = 0;
+ call_hooks('photo_post_end',$foo);
+ return;
+ }
+
logger('mod/photos.php: photos_post(): loading the contents of ' . $src , 'LOGGER_DEBUG');
$imagedata = @file_get_contents($src);
@@ -755,8 +775,6 @@ function photos_content(&$a) {
$owner_uid = $a->data['user']['uid'];
-
-
$community_page = (($a->data['user']['page-flags'] == PAGE_COMMUNITY) ? true : false);
if((local_user()) && (local_user() == $owner_uid))
@@ -807,34 +825,7 @@ function photos_content(&$a) {
return;
}
- // default permissions - anonymous user
-
- $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
-
- // Profile owner - everything is visible
-
- if(local_user() && (local_user() == $owner_uid)) {
- $sql_extra = '';
- }
- elseif(remote_user()) {
- // authenticated visitor - here lie dragons
- $gs = '<<>>'; // should be impossible to match
- if(count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . intval($g) . '>';
- }
- $sql_extra = sprintf(
- " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s') ",
-
- intval(remote_user()),
- intval(remote_user()),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ $sql_extra = permissions_sql($owner_uid,$remote_contact,$groups);
$o = "";
@@ -867,7 +858,7 @@ function photos_content(&$a) {
$albumselect .= '<option value="" selected="selected" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>';
if(count($a->data['albums'])) {
foreach($a->data['albums'] as $album) {
- if(($album['album'] === '') || ($album['album'] == t('Contact Photos')))
+ if(($album['album'] === '') || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue;
$albumselect .= '<option value="' . $album['album'] . '">' . $album['album'] . '</option>';
}
@@ -936,7 +927,7 @@ function photos_content(&$a) {
$o .= '<h3>' . $album . '</h3>';
if($cmd === 'edit') {
- if(($album != t('Profile Photos')) && ($album != t('Contact Photos'))) {
+ if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) {
if($can_post) {
$edit_tpl = get_markup_template('album_edit.tpl');
$o .= replace_macros($edit_tpl,array(
@@ -951,7 +942,7 @@ function photos_content(&$a) {
}
}
else {
- if(($album != t('Profile Photos')) && ($album != t('Contact Photos'))) {
+ if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) {
if($can_post) {
$o .= '<div id="album-edit-link"><a href="'. $a->get_baseurl() . '/photos/'
. $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/edit' . '">'
@@ -1119,6 +1110,7 @@ function photos_content(&$a) {
}
$tags=Null;
+
if(count($linked_items) && strlen($link_item['tag'])) {
$arr = explode(',',$link_item['tag']);
// parse tags and add links
@@ -1337,9 +1329,10 @@ function photos_content(&$a) {
// Default - show recent photos with upload link (if applicable)
//$o = '';
- $r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s'
+ $r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
$sql_extra GROUP BY `resource-id`",
intval($a->data['user']['uid']),
+ dbesc('Contact Photos'),
dbesc( t('Contact Photos'))
);
if(count($r)) {
@@ -1348,9 +1341,10 @@ function photos_content(&$a) {
}
$r = q("SELECT `resource-id`, `id`, `filename`, `album`, max(`scale`) AS `scale` FROM `photo`
- WHERE `uid` = %d AND `album` != '%s'
+ WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
$sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d",
intval($a->data['user']['uid']),
+ dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
intval($a->pager['start']),
intval($a->pager['itemspage'])
diff --git a/mod/ping.php b/mod/ping.php
index 6e8618bbd..7c31f00c9 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -25,14 +25,6 @@ function ping_init(&$a) {
);
$intro = $r[0]['total'];
- if (($a->config['register_policy'] == REGISTER_APPROVE) && (is_site_admin())) {
- $r = q("SELECT COUNT(*) AS `total` FROM `register`");
- $register = $r[0]['total'];
- } else {
- $register = "0";
- }
-
-
$myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ;
$r = q("SELECT COUNT(*) AS `total` FROM `mail`
WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ",
@@ -43,7 +35,7 @@ function ping_init(&$a) {
$mail = $r[0]['total'];
header("Content-type: text/xml");
- echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n<result><register>$register</register><intro>$intro</intro><mail>$mail</mail><net>$network</net><home>$home</home></result>\r\n";
+ echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n<result><intro>$intro</intro><mail>$mail</mail><net>$network</net><home>$home</home></result>\r\n";
killme();
}
diff --git a/mod/profile.php b/mod/profile.php
index f2dd7f4df..e9b144ffd 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -164,48 +164,19 @@ function profile_content(&$a, $update = 0) {
}
}
- // Construct permissions
-
- // default permissions - anonymous user
-
- $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '' ";
-
- // Profile owner - everything is visible
-
if($is_owner) {
- $sql_extra = '';
-
- // Oh - while we're here... reset the Unseen messages
-
$r = q("UPDATE `item` SET `unseen` = 0
WHERE `wall` = 1 AND `unseen` = 1 AND `uid` = %d",
- intval($_SESSION['uid'])
+ intval(local_user())
);
-
}
- // authenticated visitor - here lie dragons
- // If $remotecontact is true, we know that not only is this a remotely authenticated
- // person, but that it is *our* contact, which is important in multi-user mode.
-
- elseif($remote_contact) {
- $gs = '<<>>'; // should be impossible to match
- if(count($groups)) {
- foreach($groups as $g)
- $gs .= '|<' . intval($g) . '>';
- }
- $sql_extra = sprintf(
- " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s') ",
-
- intval($_SESSION['visitor_id']),
- intval($_SESSION['visitor_id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
+ /**
+ * Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
+ */
+
+ $sql_extra = permissions_sql($a->profile['profile_uid'],$remote_contact,$groups);
+
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
diff --git a/mod/profperm.php b/mod/profperm.php
index e70992a2b..33479cad1 100644
--- a/mod/profperm.php
+++ b/mod/profperm.php
@@ -26,6 +26,15 @@ function profperm_content(&$a) {
return;
}
+ // Switch to text mod interface if we have more than 'n' contacts or group members
+
+ $switchtotext = get_pconfig(local_user(),'system','groupedit_image_limit');
+ if($switchtotext === false)
+ $switchtotext = get_config('system','groupedit_image_limit');
+ if($switchtotext === false)
+ $switchtotext = 400;
+
+
if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
$r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1",
@@ -103,10 +112,13 @@ function profperm_content(&$a) {
$o .= '<div id="prof-members">';
$o .= '<h3>' . t('Visible To') . '</h3>';
+
+ $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
+
foreach($members as $member) {
if($member['url']) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
- $o .= micropro($member,true,'mpprof');
+ $o .= micropro($member,true,'mpprof', $textmode);
}
}
$o .= '</div><div id="prof-members-end"></div>';
@@ -120,10 +132,11 @@ function profperm_content(&$a) {
);
if(count($r)) {
+ $textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
if(! in_array($member['id'],$ingroup)) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
- $o .= micropro($member,true,'mpprof');
+ $o .= micropro($member,true,'mpprof',$textmode);
}
}
}
diff --git a/mod/register.php b/mod/register.php
index 78dc75f77..7aaf74792 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -71,6 +71,8 @@ function register_post(&$a) {
$err = '';
+ // collapse multiple spaces in name
+ $username = preg_replace('/ +/',' ',$username);
if(mb_strlen($username) > 48)
$err .= t('Please use a shorter name.') . EOL;
@@ -93,6 +95,7 @@ function register_post(&$a) {
$err .= t("That doesn't appear to be your full \x28First Last\x29 name.") . EOL;
}
+
if(! allowed_email($email))
$err .= t('Your email domain is not among those allowed on this site.') . EOL;
diff --git a/mod/regmod.php b/mod/regmod.php
index 8e6a577d4..76ea4062e 100644
--- a/mod/regmod.php
+++ b/mod/regmod.php
@@ -1,6 +1,9 @@
<?php
function user_allow($hash) {
+
+ $a = get_app();
+
$register = q("SELECT * FROM `register` WHERE `hash` = '%s' LIMIT 1",
dbesc($hash)
);
diff --git a/mod/salmon.php b/mod/salmon.php
index c2f76aa0a..721eae437 100644
--- a/mod/salmon.php
+++ b/mod/salmon.php
@@ -1,14 +1,11 @@
<?php
-// TODO:
-// add relevant contacts so they can use this
-
// There is a lot of debug stuff in here because this is quite a
// complicated process to try and sort out.
require_once('include/salmon.php');
-require_once('simplepie/simplepie.inc');
+require_once('library/simplepie/simplepie.inc');
function salmon_return($val) {
@@ -133,9 +130,9 @@ function salmon_post(&$a) {
// Setup RSA stuff to verify the signature
- set_include_path(get_include_path() . PATH_SEPARATOR . 'phpsec');
+ set_include_path(get_include_path() . PATH_SEPARATOR . 'library' . PATH_SEPARATOR . 'phpsec');
- require_once('phpsec/Crypt/RSA.php');
+ require_once('library/phpsec/Crypt/RSA.php');
$key_info = explode('.',$key);
@@ -186,7 +183,11 @@ function salmon_post(&$a) {
if(! count($r)) {
logger('mod-salmon: Author unknown to us.');
}
- if((count($r)) && ($r[0]['readonly'])) {
+
+ // is this a follower? Or have we ignored the person?
+ // If so we can not accept this post.
+
+ if((count($r)) && (($r[0]['readonly']) || ($r[0]['rel'] == REL_VIP) || ($r[0]['blocked']))) {
logger('mod-salmon: Ignoring this author.');
salmon_return(202);
// NOTREACHED
diff --git a/mod/search.php b/mod/search.php
index 9c82b38e8..c20d1274e 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -35,13 +35,9 @@ function search_content(&$a) {
if(! $search)
return $o;
-
- $sql_extra = "
- AND `item`.`allow_cid` = ''
- AND `item`.`allow_gid` = ''
- AND `item`.`deny_cid` = ''
- AND `item`.`deny_gid` = ''
- ";
+ // Here is the way permissions work in the search module...
+ // Only public wall posts can be shown
+ // OR your own posts if you are a logged in member
$s_bool = "AND MATCH (`item`.`body`) AGAINST ( '%s' IN BOOLEAN MODE )";
$s_regx = "AND `item`.`body` REGEXP '%s' ";
@@ -52,12 +48,12 @@ function search_content(&$a) {
$search_alg = $s_regx;
$r = q("SELECT COUNT(*) AS `total`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `profile` ON `profile`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0
- AND ( `wall` = 1 OR `contact`.`uid` = %d )
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $search_alg
- $sql_extra ",
+ AND (( `wall` = 1 AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `profile`.`hidewall` = 0)
+ OR `item`.`uid` = %d )
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `profile`.`is-default` = 1
+ $search_alg ",
intval(local_user()),
dbesc($search)
);
@@ -74,14 +70,15 @@ function search_content(&$a) {
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
- `user`.`nickname`
+ `user`.`nickname`, `profile`.`hidewall`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
+ LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
+ LEFT JOIN `profile` ON `profile`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0
- AND ( `wall` = 1 OR `contact`.`uid` = %d )
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND (( `wall` = 1 AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `profile`.`hidewall` = 0 )
+ OR `item`.`uid` = %d )
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `profile`.`is-default` = 1
$search_alg
- $sql_extra
ORDER BY `parent` DESC ",
intval(local_user()),
dbesc($search)
diff --git a/mod/starred.php b/mod/starred.php
new file mode 100644
index 000000000..035b81e76
--- /dev/null
+++ b/mod/starred.php
@@ -0,0 +1,35 @@
+<?php
+
+
+function starred_init(&$a) {
+
+ $starred = 0;
+
+ if(! local_user())
+ killme();
+ if($a->argc > 1)
+ $message_id = intval($a->argv[1]);
+ if(! $message_id)
+ killme();
+
+ $r = q("SELECT starred FROM item WHERE uid = %d AND id = %d LIMIT 1",
+ intval(local_user()),
+ intval($message_id)
+ );
+ if(! count($r))
+ killme();
+
+ if(! intval($r[0]['starred']))
+ $starred = 1;
+
+ $r = q("UPDATE item SET starred = %d WHERE uid = %d and id = %d LIMIT 1",
+ intval($starred),
+ intval(local_user()),
+ intval($message_id)
+ );
+
+ // the json doesn't really matter, it will either be 0 or 1
+
+ echo json_encode($starred);
+ killme();
+}
diff --git a/mod/webfinger.php b/mod/webfinger.php
index dd6d72a13..f6d6026b4 100644
--- a/mod/webfinger.php
+++ b/mod/webfinger.php
@@ -13,12 +13,14 @@ function webfinger_content(&$a) {
$o .= '<br /><br />';
if(x($_GET,'addr')) {
- $addr = $_GET['addr'];
+ $addr = trim($_GET['addr']);
if(strpos($addr,'@' !== false))
$res = webfinger($addr);
else
$res = lrdd($addr);
+ $o .= '<pre>';
$o .= str_replace("\n",'<br />',print_r($res,true));
+ $o .= '</pre>';
}
return $o;
} \ No newline at end of file
diff --git a/mod/xrd.php b/mod/xrd.php
index 8ac6ff7cf..de0c20ea5 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -24,7 +24,7 @@ function xrd_content(&$a) {
$salmon_key = salmon_key($r[0]['spubkey']);
-
+ header('Access-Control-Allow-Origin: *');
header("Content-type: text/xml");
$tpl = file_get_contents('view/xrd_person.tpl');
diff --git a/update.php b/update.php
index 8edd2aa92..08f1e6854 100644
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1066 );
+define( 'UPDATE_VERSION' , 1073 );
/**
*
@@ -15,7 +15,7 @@ define( 'UPDATE_VERSION' , 1066 );
*
* At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change
* to the database schema or one which requires an upgrade path from the existing application,
- * the DB_UPDATE_VERSION is incremented.
+ * the DB_UPDATE_VERSION and the UPDATE_VERSION at the top of this file are incremented.
*
* The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up
* and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function
@@ -529,3 +529,59 @@ function update_1065() {
q("ALTER TABLE `intro` ADD `fid` INT NOT NULL DEFAULT '0' AFTER `uid`");
}
+function update_1066() {
+ $r = q("ALTER TABLE `item` ADD `received` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `edited` ");
+ if($r)
+ q("ALTER TABLE `item` ADD INDEX ( `received` ) ");
+
+ $r = q("UPDATE `item` SET `received` = `edited` WHERE 1");
+}
+
+function update_1067() {
+ q("ALTER TABLE `ffinder` ADD `type` CHAR( 16 ) NOT NULL AFTER `id` ,
+ ADD `note` TEXT NOT NULL AFTER `type` ");
+}
+
+function update_1068() {
+ // 1067 was short-sighted. Undo it.
+ q("ALTER TABLE `ffinder` DROP `type` , DROP `note` ");
+
+ // and do this instead.
+
+ q("CREATE TABLE IF NOT EXISTS `fsuggest` (
+ `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
+ `uid` INT NOT NULL ,
+ `cid` INT NOT NULL ,
+ `name` CHAR( 255 ) NOT NULL ,
+ `url` CHAR( 255 ) NOT NULL ,
+ `photo` CHAR( 255 ) NOT NULL ,
+ `note` TEXT NOT NULL ,
+ `created` DATETIME NOT NULL
+ ) ENGINE = MYISAM DEFAULT CHARSET=utf8");
+
+}
+
+function update_1069() {
+ q("ALTER TABLE `fsuggest` ADD `request` CHAR( 255 ) NOT NULL AFTER `url` ");
+ q("ALTER TABLE `fcontact` ADD `request` CHAR( 255 ) NOT NULL AFTER `photo` ");
+}
+
+// mail body needs to accomodate private photos
+
+function update_1070() {
+ q("ALTER TABLE `mail` CHANGE `body` `body` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ");
+}
+
+function update_1071() {
+ q("ALTER TABLE `photo` ADD INDEX ( `uid` ) ");
+ q("ALTER TABLE `photo` ADD INDEX ( `resource-id` ) ");
+ q("ALTER TABLE `photo` ADD INDEX ( `album` ) ");
+ q("ALTER TABLE `photo` ADD INDEX ( `scale` ) ");
+ q("ALTER TABLE `photo` ADD INDEX ( `profile` ) ");
+
+}
+
+function update_1072() {
+ q("ALTER TABLE `item` ADD `starred` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `visible` ");
+ q("ALTER TABLE `item` ADD INDEX ( `starred` ) ");
+}
diff --git a/view/admin_users.tpl b/view/admin_users.tpl
index 952a8992b..bde7edb59 100644
--- a/view/admin_users.tpl
+++ b/view/admin_users.tpl
@@ -31,7 +31,7 @@
<td class="created">$u.created</td>
<td class="name">$u.name</td>
<td class="email">$u.email</td>
- <td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_$u.hash" name="pending_$u.hash"/></td>
+ <td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_$u.hash" name="pending[]" value="$u.hash" /></td>
<td class="tools">
<a href="$baseurl/regmod/allow/$u.hash" title='$approve'><span class='icon like'></span></a>
<a href="$baseurl/regmod/deny/$u.hash" title='$deny'><span class='icon dislike'></span></a>
@@ -70,10 +70,10 @@
<td class='login_date'>$u.login_date</td>
<td class='lastitem_date'>$u.lastitem_date</td>
<td class='login_date'>$u.page-flags</td>
- <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user_$u.uid"/></td>
+ <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td>
<td class="tools">
<a href="$baseurl/admin/users/block/$u.uid" title='{{ if $u.blocked }}$unblock{{ else }}$block{{ endif }}'><span class='icon block {{ if $u.blocked==0 }}dim{{ endif }}'></span></a>
- <a href="$baseurl/admin/users/delete/$u.uid" title='$discard' onclick="return confirm_delete('$u.name')"><span class='icon drop'></span></a>
+ <a href="$baseurl/admin/users/delete/$u.uid" title='$delete' onclick="return confirm_delete('$u.name')"><span class='icon drop'></span></a>
</td>
</tr>
{{ endfor }}
diff --git a/view/atom_suggest.tpl b/view/atom_suggest.tpl
new file mode 100644
index 000000000..66c61f9b6
--- /dev/null
+++ b/view/atom_suggest.tpl
@@ -0,0 +1,11 @@
+
+<dfrn:suggest>
+
+ <dfrn:url>$url</dfrn:url>
+ <dfrn:name>$name</dfrn:name>
+ <dfrn:photo>$photo</dfrn:photo>
+ <dfrn:request>$request</dfrn:request>
+ <dfrn:note>$note</dfrn:note>
+
+</dfrn:suggest>
+
diff --git a/view/contact_edit.tpl b/view/contact_edit.tpl
index 3246e4470..66479210f 100644
--- a/view/contact_edit.tpl
+++ b/view/contact_edit.tpl
@@ -45,6 +45,7 @@ $ignored
$grps
<div id="view-recent-wrapper"><a href="network/?cid=$contact_id" id="contact-view-recent">$lblrecent</a></div>
+$lblsuggest
<div id="contact-edit-info-wrapper">
<h4>$lbl_info1</h4>
diff --git a/view/contact_head.tpl b/view/contact_head.tpl
index 6a80c2122..c7de390af 100644
--- a/view/contact_head.tpl
+++ b/view/contact_head.tpl
@@ -1,5 +1,5 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
diff --git a/view/crophead.tpl b/view/crophead.tpl
index 2bfb7abe0..48f375426 100644
--- a/view/crophead.tpl
+++ b/view/crophead.tpl
@@ -1,6 +1,4 @@
- <script type="text/javascript" src="cropper/lib/prototype.js" language="javascript"></script>
-
- <script type="text/javascript" src="cropper/lib/scriptaculous.js?load=effects,builder,dragdrop" language="javascript"></script>
-
- <script type="text/javascript" src="cropper/cropper.js" language="javascript"></script>
- <link rel="stylesheet" href="cropper/cropper.css" type="text/css" />
+ <script type="text/javascript" src="library/cropper/lib/prototype.js" language="javascript"></script>
+ <script type="text/javascript" src="library/cropper/lib/scriptaculous.js?load=effects,builder,dragdrop" language="javascript"></script>
+ <script type="text/javascript" src="library/cropper/cropper.js" language="javascript"></script>
+ <link rel="stylesheet" href="library/cropper/cropper.css" type="text/css" />
diff --git a/view/default.php b/view/default.php
index 60bda2669..0d4a69054 100644
--- a/view/default.php
+++ b/view/default.php
@@ -2,6 +2,7 @@
<html>
<head>
<title><?php if(x($page,'title')) echo $page['title'] ?></title>
+ <script>var baseurl="<?php echo $a->get_baseurl() ?>";</script>
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
<body>
diff --git a/view/event_head.tpl b/view/event_head.tpl
index 4e5063131..fe0b8fe2a 100644
--- a/view/event_head.tpl
+++ b/view/event_head.tpl
@@ -1,5 +1,5 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
diff --git a/view/field_richtext.tpl b/view/field_richtext.tpl
new file mode 100644
index 000000000..a5a453d32
--- /dev/null
+++ b/view/field_richtext.tpl
@@ -0,0 +1,44 @@
+
+ <div class='field richtext'>
+ <label for='id_$field.0'>$field.1</label>
+ <textarea name='$field.0' id='id_$field.0' class="fieldRichtext">$field.2</textarea>
+ <span class='field_help'>$field.3</span>
+ <script>
+ console.log(typeof tinyMCE);
+ if(typeof tinyMCE == "undefined") {
+ tinyMCE="loading";
+ window.tinyMCEPreInit = {
+ suffix:"",
+ base: baseurl+"/library/tinymce/jscripts/tiny_mce/",
+ query:"",
+ };
+ $(function(){
+ $.getScript(baseurl +"/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js", function(){
+ tinyMCE.init({
+ theme : "advanced",
+ mode : "specific_textareas",
+ editor_selector: "fieldRichtext",
+ plugins : "bbcode,paste",
+ theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
+ theme_advanced_buttons2 : "",
+ theme_advanced_buttons3 : "",
+ theme_advanced_toolbar_location : "top",
+ theme_advanced_toolbar_align : "center",
+ theme_advanced_blockformats : "blockquote,code",
+ paste_text_sticky : true,
+ entity_encoding : "raw",
+ add_unload_trigger : false,
+ remove_linebreaks : false,
+ force_p_newlines : false,
+ force_br_newlines : true,
+ forced_root_block : '',
+ convert_urls: false,
+ content_css: baseurl+"/view/custom_tinymce.css",
+ theme_advanced_path : false,
+ });
+ });
+ });
+ }
+ </script>
+
+ </div>
diff --git a/view/intros.tpl b/view/intros.tpl
index 4534f2191..d52c3a7aa 100644
--- a/view/intros.tpl
+++ b/view/intros.tpl
@@ -3,7 +3,7 @@
<p class="intro-desc">$str_notifytype $notify_type</p>
<div class="intro-fullname" id="intro-fullname-$contact_id" >$fullname</div>
-<a class="intro-url-link" id="intro-url-link-$contact_id" href="$url" ><img id="photo-$contact_id" class="intro-photo" src="$photo" width="175" height=175" name="$fullname" alt="fullname" /></a>
+<a class="intro-url-link" id="intro-url-link-$contact_id" href="$url" ><img id="photo-$contact_id" class="intro-photo" src="$photo" width="175" height=175" title="$fullname" alt="$fullname" /></a>
<div class="intro-knowyou">$knowyou</div>
<div class="intro-note" id="intro-note-$contact_id">$note</div>
<div class="intro-wrapper-end" id="intro-wrapper-end-$contact_id"></div>
diff --git a/view/jot-header.tpl b/view/jot-header.tpl
index bf2dde8e9..d7a429512 100644
--- a/view/jot-header.tpl
+++ b/view/jot-header.tpl
@@ -1,5 +1,5 @@
-<script language="javascript" type="text/javascript" src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
var editor;
diff --git a/view/msg-header.tpl b/view/msg-header.tpl
index 77e58bc09..67775a45b 100644
--- a/view/msg-header.tpl
+++ b/view/msg-header.tpl
@@ -1,5 +1,5 @@
-<script language="javascript" type="text/javascript" src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
diff --git a/view/profed_head.tpl b/view/profed_head.tpl
index 1c1efdbe5..e1df2c4ad 100644
--- a/view/profed_head.tpl
+++ b/view/profed_head.tpl
@@ -1,5 +1,5 @@
<script language="javascript" type="text/javascript"
- src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+ src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
diff --git a/view/suggestions.tpl b/view/suggestions.tpl
new file mode 100644
index 000000000..46c927754
--- /dev/null
+++ b/view/suggestions.tpl
@@ -0,0 +1,20 @@
+
+<div class="intro-wrapper" >
+
+<p class="intro-desc">$str_notifytype $notify_type</p>
+<div class="intro-madeby">$madeby</div>
+<div class="intro-fullname" >$fullname</div>
+<a class="intro-url-link" href="$url" ><img class="intro-photo" src="$photo" width="175" height=175" title="$fullname" alt="$fullname" /></a>
+<div class="intro-note" >$note</div>
+<div class="intro-wrapper-end"></div>
+<form class="intro-form" action="notifications/$intro_id" method="post">
+<input class="intro-submit-ignore" type="submit" name="submit" value="$ignore" />
+<input class="intro-submit-discard" type="submit" name="submit" value="$discard" />
+</form>
+<div class="intro-form-end"></div>
+
+<form class="intro-approve-form" action="$request" method="get">
+<input class="intro-submit-approve" type="submit" name="submit" value="$approve" />
+</form>
+</div>
+<div class="intro-end"></div>
diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css
index c92529f26..3459e7409 100644
--- a/view/theme/darkzero/style.css
+++ b/view/theme/darkzero/style.css
@@ -7,7 +7,7 @@ a:hover {text-decoration: underline; }
input, select, textarea {
background-color: #222222;
- color: #FFFFFF;
+ color: #FFFFFF !important;
border: 1px solid #444444;
}
.openid { background-color: #222222;}
diff --git a/view/theme/dispy/jot-header.tpl b/view/theme/dispy/jot-header.tpl
index aa9e0bfaf..eb88f00c1 100644
--- a/view/theme/dispy/jot-header.tpl
+++ b/view/theme/dispy/jot-header.tpl
@@ -1,5 +1,5 @@
-<script language="javascript" type="text/javascript" src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script language="javascript" type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
var editor;
@@ -110,6 +110,24 @@ tinyMCE.init({
});
+ function deleteCheckedItems() {
+ var checkedstr = '';
+
+ $('.item-select').each( function() {
+ if($(this).is(':checked')) {
+ if(checkedstr.length != 0) {
+ checkedstr = checkedstr + ',' + $(this).val();
+ }
+ else {
+ checkedstr = $(this).val();
+ }
+ }
+ });
+ $.post('item', { dropitems: checkedstr }, function(data) {
+ window.location.reload();
+ });
+ }
+
function jotGetLink() {
reply = prompt("$linkurl");
if(reply && reply.length) {
diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css
index 555b0af4f..49586e307 100644
--- a/view/theme/dispy/style.css
+++ b/view/theme/dispy/style.css
@@ -692,6 +692,15 @@ div[id$="wrapper"] br { clear: left; }
.mail-list-delete-wrapper { float: right; }
.mail-list-outside-wrapper-end { clear: both;}
+.mail-conv-sender {float: left; margin: 0px 5px 5px 0px }
+.mail-conv-sender-photo { width: 32px; height: 32px }
+.mail-conv-sender-name { float: left }
+.mail-conv-date { float: right }
+.mail-conv-subject { clear: right; font-weight: bold; font-size: 1.2em }
+.mail-conv-body { clear: both; }
+.mail-conv-delete-wrapper { margin-top: 5px; }
+
+
/**
* contacts
*/
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index c6ce8ea2c..4df36b4a9 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -249,6 +249,17 @@ div.wall-item-content-wrapper.shiny {
cursor: pointer;
}
+#group-sidebar {
+ margin-bottom: 10px;
+}
+
+.group-selected {
+ padding: 3px;
+ border: 1px solid #CCCCCC;
+ background: #F8F8F8;
+ font-weight: bold;
+}
+
.fakelink:hover {
color: #3465a4;
text-decoration: underline;
@@ -881,6 +892,19 @@ input#dfrn-url {
clear: both;
}
+#fsuggest-desc, #fsuggest-submit-wrapper {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+#network-star-link{
+ margin-top: 10px;
+}
+.network-star {
+ float: left;
+ margin-right: 5px;
+}
+
.wall-item-content-wrapper {
margin-top: 10px;
border: 1px solid #CCC;
@@ -998,8 +1022,12 @@ input#dfrn-url {
.wall-item-like-buttons {
float: left;
margin-right: 10px;
- padding-right: 10px;
- border-right: 2px solid #fff;
+/* padding-right: 10px; */
+/* border-right: 2px solid #fff; */
+}
+
+.like-rotator {
+ margin-left: 5px;
}
.wall-item-like-buttons > a,
@@ -1013,10 +1041,16 @@ input#dfrn-url {
.wall-item-share-buttons {
margin-left: 10px;
+ margin-right: 10px;
}
.editpost {
- margin-left: 15px;
+ margin-left: 10px;
+ float: left;
+}
+.star-item {
+ margin-left: 10px;
+ float: left;
}
.wall-item-links-wrapper {
@@ -2346,6 +2380,9 @@ a.mail-list-link {
.profile-match-wrapper {
float: left;
padding: 10px;
+ width: 120px;
+ height: 120px;
+ scroll: auto;
}
#profile-match-wrapper-end {
clear: both;
@@ -2532,6 +2569,43 @@ a.mail-list-link {
}
/**
+ * Plugins settings
+ */
+
+.settings-block > h3,
+.settings-heading {
+ border-bottom: 1px solid #babdb6;
+}
+
+
+/**
+ * Form fields
+ */
+.field {
+ clear: left;
+ margin-bottom: 5px;
+ padding-bottom: 5px;
+}
+
+.field label {
+ float: left;
+ width: 200px;
+}
+
+.field input,
+.field textarea {
+ width: 400px;
+}
+.field textarea { height: 100px; }
+.field_help {
+ display: block;
+ margin-left: 200px;
+ color: #666666;
+
+}
+
+
+/**
* ADMIN
*/
#pending-update {
@@ -2557,34 +2631,12 @@ a.mail-list-link {
margin-left: 200px;
}
-#adminpage .field {
- clear: left;
- margin-bottom: 5px;
- padding-bottom: 5px;
+#adminpage h3 {
+ border-bottom: 1px solid #cccccc;
}
-
#adminpage .field label {
- float: left;
- width: 200px;
font-weight: bold;
}
-
-#adminpage .field input,
-#adminpage .field textarea {
- width: 400px;
-}
-#adminpage .field textarea { height: 100px; }
-#adminpage .field_help {
- display: block;
- margin-left: 200px;
- color: #666666;
-
-}
-
-#adminpage h3 {
- border-bottom: 1px solid #cccccc;
-}
-
#adminpage .submit {
clear:left;
text-align: right;
@@ -2607,7 +2659,7 @@ a.mail-list-link {
margin-right: 1em;
}
-#adminpage table {width:100%; border-bottom: 1p solid #000000; margin: 5px 0px;}
+#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
#adminpage table th { text-align: left;}
#adminpage td .icon { float: left;}
#adminpage table#users img { width: 16px; height: 16px; }
@@ -2654,6 +2706,9 @@ a.mail-list-link {
.on { background-position: -144px -32px; }
.off { background-position: 0px -48px; }
+.starred { background-position: -16px -48px; }
+.unstarred { background-position: -32px -48px; }
+
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
@@ -2667,9 +2722,9 @@ a.mail-list-link {
margin-top: 10px;
}
-.type-video { background-position: 0px; 0px; }
-.type-image { background-position: -20px; 0px; }
-.type-audio { background-position: -40px; 0px; }
-.type-text { background-position: -60px; 0px; }
-.type-unkn { background-position: -80px; 0px; }
+.type-video { background-position: 0px 0px; }
+.type-image { background-position: -20px 0px; }
+.type-audio { background-position: -40px 0px; }
+.type-text { background-position: -60px 0px; }
+.type-unkn { background-position: -80px 0px; }
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index 98ab96d2b..df14a29db 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -137,6 +137,18 @@ blockquote:before {
cursor: pointer;
}
+
+#group-sidebar {
+ margin-bottom: 10px;
+}
+
+.group-selected {
+ padding: 3px;
+ border: 1px solid #CCCCCC;
+ background: #F8F8F8;
+ font-weight: bold;
+}
+
.fakelink:hover {
color: #0CBEFE;
text-decoration: none;
@@ -997,6 +1009,13 @@ input#dfrn-url {
clear: both;
}
+
+#fsuggest-desc, #fsuggest-submit-wrapper {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+
.wall-item-content-wrapper {
margin-top: 10px;
border: 1px solid #CCC;
@@ -1077,9 +1096,24 @@ input#dfrn-url {
}
.editpost {
- margin-left: 15px;
+ margin-left: 10px;
+ float: left;
+}
+.star-item {
+ margin-left: 10px;
+ float: left;
}
+
+#network-star-link{
+ margin-top: 10px;
+}
+.network-star {
+ float: left;
+ margin-right: 5px;
+}
+
+
.wall-item-info.wallwall {
width: 285px;
}
@@ -2307,6 +2341,10 @@ a.mail-list-link {
.profile-match-wrapper {
float: left;
padding: 10px;
+ width: 120px;
+ height: 120px;
+ scroll: auto;
+
}
#profile-match-wrapper-end {
clear: both;
@@ -2552,6 +2590,33 @@ a.mail-list-link {
left: 0px;
top: 0px;
}
+/**
+ * Form fields
+ */
+.field {
+ clear: left;
+ margin-bottom: 5px;
+ padding-bottom: 5px;
+}
+
+.field label {
+ float: left;
+ width: 200px;
+ font-weight: bold;
+}
+
+.field input,
+.field textarea {
+ width: 400px;
+}
+.field textarea { height: 100px; }
+.field_help {
+ display: block;
+ margin-left: 200px;
+ color: #666666;
+
+}
+
/**
* ADMIN
@@ -2579,30 +2644,6 @@ a.mail-list-link {
margin-left: 200px;
}
-#adminpage .field {
- clear: left;
- margin-bottom: 5px;
- padding-bottom: 5px;
-}
-
-#adminpage .field label {
- float: left;
- width: 200px;
- font-weight: bold;
-}
-
-#adminpage .field input,
-#adminpage .field textarea {
- width: 400px;
-}
-#adminpage .field textarea { height: 100px; }
-#adminpage .field_help {
- display: block;
- margin-left: 200px;
- color: #666666;
-
-}
-
#adminpage h3 {
border-bottom: 1px solid #cccccc;
}
@@ -2674,6 +2715,8 @@ a.mail-list-link {
.on { background-position: -144px -32px; }
.off { background-position: 0px -48px; }
+.starred { background-position: -16px -48px; }
+.unstarred { background-position: -32px -48px; }
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
diff --git a/view/wall_item.tpl b/view/wall_item.tpl
index a95097be1..1c5e82b17 100644
--- a/view/wall_item.tpl
+++ b/view/wall_item.tpl
@@ -34,6 +34,7 @@
$vote
$plink
$edpost
+ $star
$drop
</div>
</div>
diff --git a/view/wallwall_item.tpl b/view/wallwall_item.tpl
index 39c14cf4f..fd686f0f4 100644
--- a/view/wallwall_item.tpl
+++ b/view/wallwall_item.tpl
@@ -38,6 +38,7 @@
$vote
$plink
$edpost
+ $star
$drop
</div>
</div>