Shortcodes Ultimate - Version 1.0.0

Version Description

Upgrade normally via your Wordpress admin -> Plugins panel.

Download this release

Release Info

Developer gn_themes
Plugin Icon 128x128 Shortcodes Ultimate
Version 1.0.0
Comparing to
See all releases

Version 1.0.0

css/style.css ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Spacer */
2
+ .su-spacer {
3
+ display: block;
4
+ height: 0px;
5
+ line-height: 0px;
6
+ clear: both;
7
+ }
8
+ .su-spacer-5 { height: 5px }
9
+ .su-spacer-10 { height: 10px }
10
+ .su-spacer-20 { height: 20px }
11
+ .su-spacer-30 { height: 30px }
12
+ .su-spacer-40 { height: 40px }
13
+
14
+ /* Heading */
15
+ .su-heading {
16
+ margin: 0 0 1.5em 0;
17
+ padding: 2px 0;
18
+ border-top: 1px solid #999;
19
+ border-bottom: 1px solid #999;
20
+ }
21
+ .su-heading-shell {
22
+ padding: 20px 0;
23
+ text-align: center;
24
+ border-top: 4px solid #eee;
25
+ border-bottom: 4px solid #eee;
26
+ font-size: 1.5em;
27
+ }
28
+
29
+ /* Quote */
30
+ .su-quote {
31
+ padding: 1em 0 0 40px;
32
+ margin: 0 0 1.5em 0;
33
+ }
34
+ .su-quote-shell {
35
+ padding: 0 40px 1em 0;
36
+ font-style: italic;
37
+ }
38
+ .su-quote-style-1 {
39
+ background: 0 0 url(../images/quote.png) no-repeat;
40
+ }
41
+ .su-quote-style-1 .su-quote-shell {
42
+ background: 100% 100% url(../images/quote-shell.png) no-repeat;
43
+ }
44
+
45
+ /* Pullquote */
46
+ .su-pullquote {
47
+ padding: 10px 25px;
48
+ width: 30%;
49
+ font-size: 0.9em;
50
+ font-style: italic;
51
+ margin: 1em;
52
+ }
53
+ .su-pullquote-align-left {
54
+ float: left;
55
+ }
56
+ .su-pullquote-align-right {
57
+ float: right;
58
+ }
59
+ .su-pullquote-style-1 {
60
+ border-left: 5px solid #ddd;
61
+ }
62
+
63
+ /* Frame */
64
+ .su-frame {
65
+ padding: 2px;
66
+ border: 1px solid #999;
67
+ background: #fff;
68
+ box-shadow: 1px 1px 4px #ccc;
69
+ -moz-box-shadow: 1px 1px 4px #ccc;
70
+ -webkit-box-shadow: 1px 1px 4px #ccc;
71
+ }
72
+ .su-frame-shell {
73
+ padding: 2px;
74
+ border: 4px solid #eee;
75
+ }
76
+ .su-frame-align-left {
77
+ float: left;
78
+ margin: 0 1.5em 1em 0;
79
+ }
80
+ .su-frame-align-right {
81
+ float: right;
82
+ margin: 0 0 1em 1.5em;
83
+ }
84
+ .su-frame-align-center {
85
+ margin: 0 auto 1.5em auto;
86
+ }
87
+ .su-frame-align-none {
88
+ margin: 0 0 1.5em 0;
89
+ }
90
+ .su-frame img {
91
+ display: block !important;
92
+ padding: 0 !important;
93
+ margin: 0 !important;
94
+ }
95
+
96
+ /* Divider */
97
+ .su-divider {
98
+ clear: both;
99
+ height: 0px;
100
+ margin: 1.5em 0;
101
+ border-top: 4px solid #eee;
102
+ }
103
+ .su-divider a {
104
+ display: block;
105
+ float: right;
106
+ padding-left: 10px;
107
+ margin-top: -1.2em;
108
+ background: #fff;
109
+ color: #777;
110
+ font-size: 0.8em;
111
+ text-decoration: none;
112
+ text-transform: uppercase;
113
+ }
114
+
115
+ /* Columns */
116
+ .su-column-1-2 { width: 48% }
117
+ .su-column-1-3 { width: 30.66% }
118
+ .su-column-2-3 { width: 65.33% }
119
+ .su-column-1-4 { width: 22% }
120
+ .su-column-3-4 { width: 74% }
121
+ .su-column-1-5 { width: 16.8% }
122
+ .su-column-2-5 { width: 37.6% }
123
+ .su-column-3-5 { width: 58.4% }
124
+ .su-column-4-5 { width: 67.2% }
125
+ .su-column-1-6 { width: 13.33% }
126
+ .su-column-5-6 { width: 82.67% }
127
+ .su-column-1-2,
128
+ .su-column-1-3,
129
+ .su-column-2-3,
130
+ .su-column-3-4,
131
+ .su-column-1-4,
132
+ .su-column-1-5,
133
+ .su-column-2-5,
134
+ .su-column-3-5,
135
+ .su-column-4-5,
136
+ .su-column-1-6,
137
+ .su-column-5-6 {
138
+ position: relative;
139
+ margin-right: 4%;
140
+ float: left;
141
+ }
142
+ .su-column-last {
143
+ margin-right: 0 !important;
144
+ clear: right;
145
+ }
146
+
147
+ /* Spoiler */
148
+ .su-spoiler {
149
+ margin: 0 0 1.5em 0;
150
+ }
151
+ .su-spoiler-title {
152
+ padding: 0.3em 0 0.3em 26px;
153
+ font-weight: bold;
154
+ background: 0 50% url(../images/spoiler-closed.png) no-repeat;
155
+ cursor: pointer;
156
+ }
157
+ .su-spoiler-content {
158
+ padding: 15px 0;
159
+ display: none;
160
+ }
161
+ .su-spoiler-open .su-spoiler-title {
162
+ background: 0 50% url(../images/spoiler-open.png) no-repeat;
163
+ }
164
+ .su-spoiler-open .su-spoiler-content {
165
+ display: block;
166
+ }
167
+
168
+ /* Tabs */
169
+ .su-tabs { margin: 0 0 1.5em 0 }
170
+ .su-tabs-nav {
171
+ padding: 5px 5px 0 5px;
172
+ margin: 0;
173
+ height: 40px;
174
+ background: #e5e5e5;
175
+ }
176
+ .su-tabs-nav span {
177
+ display: block;
178
+ float: left;
179
+ padding: 0 20px;
180
+ height: 39px;
181
+ line-height: 39px;
182
+ margin-right: 5px;
183
+ cursor: pointer;
184
+ border-top: 1px solid #fff;
185
+ border-right: 1px solid #fff;
186
+ border-left: 1px solid #fff;
187
+ background: #f1f1f1;
188
+ }
189
+ .su-tabs-nav span:hover { background: #fff }
190
+ .su-tabs-nav span.su-tabs-current { background: #fff }
191
+ .su-tabs-pane {
192
+ padding: 15px;
193
+ border-right: 5px solid #e5e5e5;
194
+ border-bottom: 5px solid #e5e5e5;
195
+ border-left: 5px solid #e5e5e5;
196
+ }
197
+
198
+ /* Lists */
199
+ .su-list ul {
200
+ list-style-type: none;
201
+ margin: 0.5em 0 1.5em 0.5em;
202
+ padding: 0;
203
+ }
204
+ .su-list li {
205
+ list-style-type: none;
206
+ display: block;
207
+ padding: 3px 0 3px 22px;
208
+ }
209
+ .su-list-style-star li { background: 0 50% url(../images/list-style-star.png) no-repeat }
210
+ .su-list-style-arrow li { background: 0 50% url(../images/list-style-arrow.png) no-repeat }
211
+ .su-list-style-check li { background: 0 50% url(../images/list-style-check.png) no-repeat }
212
+ .su-list-style-cross li { background: 0 50% url(../images/list-style-cross.png) no-repeat }
213
+
214
+ /* Box */
215
+ .su-box {
216
+ margin: 0 0 1.5em 0;
217
+ }
218
+ .su-box-title {
219
+ display: block;
220
+ padding: 10px 15px;
221
+ margin: 0;
222
+ color: #fff;
223
+ font-size: 1.1em;
224
+ font-weight: bold;
225
+ background: left bottom url(../images/box-title.png) repeat-x;
226
+ }
227
+ .su-box-content {
228
+ background: #fff;
229
+ padding: 15px;
230
+ }
231
+
232
+ /* Note */
233
+ .su-note {
234
+ margin: 0 0 1.5em 0;
235
+ }
236
+ .su-note-shell {
237
+ padding: 15px;
238
+ }
239
+
240
+ /* Highlight */
241
+ .su-highlight {
242
+ display: inline;
243
+ padding: 1px 0;
244
+ }
245
+
246
+ /* Button */
247
+ .su-button {
248
+ display: inline-block;
249
+ text-decoration: none !important;
250
+ }
251
+ .su-button span {
252
+ display: block;
253
+ text-decoration: none !important;
254
+ }
255
+
256
+ .su-button-style-1 span {
257
+ background: 0 -20px url(../images/button-style-1.png) repeat-x;
258
+ }
259
+ .su-button-style-1:hover span {
260
+ background: 0 0 url(../images/button-style-1.png) repeat-x;
261
+ }
262
+
263
+ .su-button-style-2 span {
264
+ background: 0 50% url(../images/button-style-2.png) repeat-x;
265
+ }
266
+ .su-button-style-2:hover span {
267
+ background: 100% 50% url(../images/button-style-2.png) repeat-x;
268
+ }
269
+
270
+ /* Services */
271
+ .su-service {
272
+ position: relative;
273
+ margin: 0 0 1.5em 0;
274
+ }
275
+ .su-service-title {
276
+ display: block;
277
+ height: 16px;
278
+ line-height: 16px;
279
+ margin: 0 0 5px 0;
280
+ color: #333;
281
+ font-size: 1.2em;
282
+ font-weight: bold;
283
+ }
284
+ .su-service-title img {
285
+ position: absolute;
286
+ top: 0;
287
+ left: 0;
288
+ display: block !important;
289
+ border: none !important;
290
+ margin: 0 !important;
291
+ padding: 0 !important;
292
+ }
293
+ .su-service-content { line-height: 1.4 }
images/box-title.png ADDED
Binary file
images/button-style-1.png ADDED
Binary file
images/button-style-2.png ADDED
Binary file
images/list-style-arrow.png ADDED
Binary file
images/list-style-check.png ADDED
Binary file
images/list-style-cross.png ADDED
Binary file
images/list-style-star.png ADDED
Binary file
images/quote-shell.png ADDED
Binary file
images/quote.png ADDED
Binary file
images/service.png ADDED
Binary file
images/spoiler-closed.png ADDED
Binary file
images/spoiler-open.png ADDED
Binary file
js/init.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+
3
+ // Frame
4
+ $('.su-frame-align-center').each(function() {
5
+ var frame_width = $(this).find('img').width();
6
+ $(this).css('width', frame_width + 12);
7
+ });
8
+
9
+ // Spoiler
10
+ $('.su-spoiler').removeClass('su-spoiler-open');
11
+ $('.su-spoiler .su-spoiler-title').click(function() {
12
+ $(this).parent('.su-spoiler').toggleClass('su-spoiler-open');
13
+ });
14
+
15
+ // Tabs
16
+ $('.su-tabs .su-tabs-pane').hide().filter(':first').show();
17
+ $('.su-tabs-nav span').filter(':first').addClass('su-tabs-current');
18
+ $('.su-tabs-nav').delegate('span:not(.su-tabs-current)', 'click', function() {
19
+ $(this).addClass('su-tabs-current').siblings().removeClass('su-tabs-current').parents('.su-tabs').find('.su-tabs-pane').hide().eq($(this).index()).show();
20
+ });
21
+ });
languages/ru_RU.mo ADDED
Binary file
languages/ru_RU.po ADDED
@@ -0,0 +1,391 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: gn_themes\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-04-06 16:10+0300\n"
6
+ "PO-Revision-Date: 2011-04-06 16:11+0300\n"
7
+ "Last-Translator: Vladimir Anokhin <ano.vladimir@gmail.com>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+ "X-Poedit-SearchPath-0: .\n"
16
+
17
+ #: shortcodes-ultimate.php:87
18
+ msgid "Spoiler title"
19
+ msgstr "Скрытый текст"
20
+
21
+ #: shortcodes-ultimate.php:105
22
+ msgid "Top"
23
+ msgstr "Вверх"
24
+
25
+ #: shortcodes-ultimate.php:274
26
+ msgid "Service name"
27
+ msgstr "Название услуги"
28
+
29
+ #: shortcodes-ultimate.php:292
30
+ msgid "This is box title"
31
+ msgstr "Заголовок блока"
32
+
33
+ #~ msgid ""
34
+ #~ "The page you've requested can not be displayed. It appears you've missed "
35
+ #~ "your intended destination, either through a bad or outdated link, or a "
36
+ #~ "typo in the page you were hoping to reach."
37
+ #~ msgstr "Страница, которую Вы запросили, не может быть отображена."
38
+
39
+ #~ msgid "Use the search box in the header to search for what you want."
40
+ #~ msgstr "Вы можете воспользоваться формой поиска вверху страницы."
41
+
42
+ #~ msgid "You can also <a href=\"%s\">return home</a>"
43
+ #~ msgstr "Также Вы можете <a href=\"%s\">вернуться на главную страницу</a>"
44
+
45
+ #~ msgid ""
46
+ #~ "And if you think this is our mistake, you can also contact us. We'll be "
47
+ #~ "thankful."
48
+ #~ msgstr ""
49
+ #~ "Если Вы считаете, что это наша ошибка, пожалуйста напишите нам. Мы будем "
50
+ #~ "благодарны."
51
+
52
+ #~ msgid "Leave comment"
53
+ #~ msgstr "Оставить комментарий"
54
+
55
+ #~ msgid "1 comment"
56
+ #~ msgstr "1 комментарий"
57
+
58
+ #~ msgid "comments"
59
+ #~ msgstr "комментариев"
60
+
61
+ #~ msgid "Previous page"
62
+ #~ msgstr "« Назад"
63
+
64
+ #~ msgid "Next page"
65
+ #~ msgstr "Вперед »"
66
+
67
+ #~ msgid ""
68
+ #~ "This post is password protected. Enter the password to view comments."
69
+ #~ msgstr "Эта запись защищена паролем!"
70
+
71
+ #~ msgid "No comments yet"
72
+ #~ msgstr "Пока нет комментариев"
73
+
74
+ #~ msgid "on"
75
+ #~ msgstr "на"
76
+
77
+ #~ msgid "Leave comment for %s"
78
+ #~ msgstr "Оставить комментарий для %s"
79
+
80
+ #~ msgid "Logged in as %s. %s Log out %s"
81
+ #~ msgstr "Вы вошли как %s. %s Выйти? %s"
82
+
83
+ #~ msgid "Name"
84
+ #~ msgstr "Имя"
85
+
86
+ #~ msgid "(required)"
87
+ #~ msgstr "*обязательно"
88
+
89
+ #~ msgid "Mail (will not be published)"
90
+ #~ msgstr "Эл. почта"
91
+
92
+ #~ msgid "Website"
93
+ #~ msgstr "Веб сайт"
94
+
95
+ #~ msgid "Submit Comment"
96
+ #~ msgstr "Оставить комментрий"
97
+
98
+ #~ msgid "Footer 1"
99
+ #~ msgstr "Подвал 1"
100
+
101
+ #~ msgid "No widgets"
102
+ #~ msgstr "Нет виджетов"
103
+
104
+ #~ msgid "Add widget"
105
+ #~ msgstr "Добавьте виджет"
106
+
107
+ #~ msgid "Footer 2"
108
+ #~ msgstr "Подвал 2"
109
+
110
+ #~ msgid "Footer 3"
111
+ #~ msgstr "Подвал 3"
112
+
113
+ #~ msgid "Footer 4"
114
+ #~ msgstr "Подвал 4"
115
+
116
+ #~ msgid "Sidebar"
117
+ #~ msgstr "Сайдбар"
118
+
119
+ #~ msgid "Blog sidebar"
120
+ #~ msgstr "Сайдбар блога"
121
+
122
+ #~ msgid "Footer widgetized area 1"
123
+ #~ msgstr "Виджет-зона подвала 1"
124
+
125
+ #~ msgid "Footer widgetized area 2"
126
+ #~ msgstr "Виджет-зона подвала 2"
127
+
128
+ #~ msgid "Footer widgetized area 3"
129
+ #~ msgstr "Виджет-зона подвала 3"
130
+
131
+ #~ msgid "Footer widgetized area 4"
132
+ #~ msgstr "Виджет-зона подвала 4"
133
+
134
+ #~ msgid "Page not found"
135
+ #~ msgstr "Страница не найдена"
136
+
137
+ #~ msgid "Search results"
138
+ #~ msgstr "Результаты поиска"
139
+
140
+ #~ msgid "Nothing found"
141
+ #~ msgstr "Ничего не найдено"
142
+
143
+ #~ msgid "Search..."
144
+ #~ msgstr "Поиск..."
145
+
146
+ #~ msgid "Find"
147
+ #~ msgstr "Найти"
148
+
149
+ #~ msgid "Entire site"
150
+ #~ msgstr "По всему сайту"
151
+
152
+ #~ msgid "Blog"
153
+ #~ msgstr "Блог"
154
+
155
+ #~ msgid "Portfolio"
156
+ #~ msgstr "Портфолио"
157
+
158
+ #~ msgid "<strong>Thanks!</strong> Your email was successfully sent."
159
+ #~ msgstr "<strong>Спасибо!</strong> Ваше сообщение успешно отправлено."
160
+
161
+ #~ msgid "There was an error submitting the form."
162
+ #~ msgstr "Произошла ошибка при отправке."
163
+
164
+ #~ msgid "Name *"
165
+ #~ msgstr "Имя *"
166
+
167
+ #~ msgid "Email *"
168
+ #~ msgstr "Эл. почта *"
169
+
170
+ #~ msgid "Send"
171
+ #~ msgstr "Отправить"
172
+
173
+ #~ msgid "You forgot to enter your name."
174
+ #~ msgstr "Вы забыли указать своё имя."
175
+
176
+ #~ msgid "You forgot to enter your email address."
177
+ #~ msgstr "Вы забыли указать адрес эл. почты."
178
+
179
+ #~ msgid "You entered an invalid email address."
180
+ #~ msgstr "Вы ввели неверный адрес эл. почты."
181
+
182
+ #~ msgid "You forgot to enter your comments."
183
+ #~ msgstr "Вы забыли добавить комментарии."
184
+
185
+ #~ msgid "Add entry"
186
+ #~ msgstr "Добавить запись"
187
+
188
+ #~ msgid "Search posts"
189
+ #~ msgstr "Искать записи"
190
+
191
+ #~ msgid "Add new post"
192
+ #~ msgstr "Добавить новую запись"
193
+
194
+ #~ msgid "Edit post"
195
+ #~ msgstr "Редактировать запись"
196
+
197
+ #~ msgid "New post"
198
+ #~ msgstr "Новая запись"
199
+
200
+ #~ msgid "View post"
201
+ #~ msgstr "Просмотр записи"
202
+
203
+ #~ msgid "Add new item"
204
+ #~ msgstr "Добавить запись"
205
+
206
+ #~ msgid "Search portfolio items"
207
+ #~ msgstr "Искать записи портфолио"
208
+
209
+ #~ msgid "Add new portfolio item"
210
+ #~ msgstr "Новая запись в портфолио"
211
+
212
+ #~ msgid "Edit portfolio item"
213
+ #~ msgstr "Редактировать запись в портфолио"
214
+
215
+ #~ msgid "New portfolio item"
216
+ #~ msgstr "Новая запись в портфолио"
217
+
218
+ #~ msgid "View portfolio item"
219
+ #~ msgstr "Просмотр записи портфолио"
220
+
221
+ #~ msgid "Slider"
222
+ #~ msgstr "Слайдер"
223
+
224
+ #~ msgid "Slide"
225
+ #~ msgstr "Слайд"
226
+
227
+ #~ msgid "Add slide"
228
+ #~ msgstr "Добавить слайд"
229
+
230
+ #~ msgid "Search slides"
231
+ #~ msgstr "Искать слайды"
232
+
233
+ #~ msgid "Add new slide"
234
+ #~ msgstr "Добавить новый слайд"
235
+
236
+ #~ msgid "Edit slide"
237
+ #~ msgstr "Редактировать слайд"
238
+
239
+ #~ msgid "New slide"
240
+ #~ msgstr "Новый слайд"
241
+
242
+ #~ msgid "View slide"
243
+ #~ msgstr "Просмотр слайда"
244
+
245
+ #~ msgid "Slide settings (Anything slider)"
246
+ #~ msgstr "Настройки слайда (Anything slider)"
247
+
248
+ #~ msgid "Slide view"
249
+ #~ msgstr "Тип слайда"
250
+
251
+ #~ msgid ""
252
+ #~ "Slide type. Full size - full sized image/video. Mixed - post title + post "
253
+ #~ "content + image/video. Content only - only post content."
254
+ #~ msgstr ""
255
+ #~ "Full size - полноразмерное видео или изображение. Mixed - заголовок "
256
+ #~ "слайда + контент + видео или изображение. Content only - только контент "
257
+ #~ "из редактора"
258
+
259
+ #~ msgid "Media url"
260
+ #~ msgstr "Ссылка на медиа"
261
+
262
+ #~ msgid ""
263
+ #~ "Paste full link to your media (image, Youtube video, Vimeo video). Not "
264
+ #~ "required with Content only slides"
265
+ #~ msgstr ""
266
+ #~ "Вставьте полную ссылку на медиа для этого слайда. Вы можете вставить "
267
+ #~ "ссылку на youtube, vimeo или изображение. Также поддерживаются обычные "
268
+ #~ "видеофайлы и аудиофайлы. Подробности смотрите в документации"
269
+
270
+ #~ msgid "Description"
271
+ #~ msgstr "Описание"
272
+
273
+ #~ msgid "Enter description"
274
+ #~ msgstr "Введите описание"
275
+
276
+ #~ msgid "Page description for text teaser (top of page)"
277
+ #~ msgstr "Описание страницы для небольшого заголовка вверху страницы"
278
+
279
+ #~ msgid "Thumbnail"
280
+ #~ msgstr "Миниатюра"
281
+
282
+ #~ msgid "Choose image for thumbnail"
283
+ #~ msgstr "Выберите изображение для миниатюры"
284
+
285
+ #~ msgid "Main menu"
286
+ #~ msgstr "Главное меню"
287
+
288
+ #~ msgid "Share"
289
+ #~ msgstr "Поделиться"
290
+
291
+ #~ msgid "year"
292
+ #~ msgstr "г."
293
+
294
+ #~ msgid "month"
295
+ #~ msgstr "мес."
296
+
297
+ #~ msgid "week"
298
+ #~ msgstr "нед."
299
+
300
+ #~ msgid "day"
301
+ #~ msgstr "дн."
302
+
303
+ #~ msgid "hour"
304
+ #~ msgstr "ч."
305
+
306
+ #~ msgid "minute"
307
+ #~ msgstr "мин."
308
+
309
+ #~ msgid "s"
310
+ #~ msgstr " "
311
+
312
+ #~ msgid "ago"
313
+ #~ msgstr "назад"
314
+
315
+ #~ msgid "Blog recent"
316
+ #~ msgstr "Из блога"
317
+
318
+ #~ msgid "Recent blog posts"
319
+ #~ msgstr "Последние записи из блога"
320
+
321
+ #~ msgid "Number posts"
322
+ #~ msgstr "Количество записей"
323
+
324
+ #~ msgid "Show thumbnails"
325
+ #~ msgstr "Показывать миниатюры"
326
+
327
+ #~ msgid "Contacts"
328
+ #~ msgstr "Контакты"
329
+
330
+ #~ msgid "Your contact information"
331
+ #~ msgstr "Ваша контактная информация"
332
+
333
+ #~ msgid "Show on map"
334
+ #~ msgstr "Показать на карте"
335
+
336
+ #~ msgid "Address"
337
+ #~ msgstr "Адрес"
338
+
339
+ #~ msgid "Google maps url"
340
+ #~ msgstr "Ссылка на гугл-карту"
341
+
342
+ #~ msgid "Phone"
343
+ #~ msgstr "Телефон"
344
+
345
+ #~ msgid "Fax"
346
+ #~ msgstr "Факс"
347
+
348
+ #~ msgid "E-mail"
349
+ #~ msgstr "Эл. почта"
350
+
351
+ #~ msgid "Custom info 1"
352
+ #~ msgstr "Доп. инфо 1"
353
+
354
+ #~ msgid "Custom info 2"
355
+ #~ msgstr "Доп. инфо 2"
356
+
357
+ #~ msgid "Custom info 3"
358
+ #~ msgstr "Доп. инфо 3"
359
+
360
+ #~ msgid "Porfolio recent"
361
+ #~ msgstr "Из портфолио"
362
+
363
+ #~ msgid "Recent portfolio entries"
364
+ #~ msgstr "Последние записи из портфолио"
365
+
366
+ #~ msgid "Show tooltips"
367
+ #~ msgstr "Показывать всплывающие подсказки при наведении"
368
+
369
+ #~ msgid "Recent tweets"
370
+ #~ msgstr "Последние твиты"
371
+
372
+ #~ msgid "Twitter username"
373
+ #~ msgstr "Имя пользователя в твиттере"
374
+
375
+ #~ msgid "Number tweets"
376
+ #~ msgstr "Количество твитов"
377
+
378
+ #~ msgid "Left"
379
+ #~ msgstr "Left"
380
+
381
+ #~ msgid "Right"
382
+ #~ msgstr "Right"
383
+
384
+ #~ msgid "Show"
385
+ #~ msgstr "Show"
386
+
387
+ #~ msgid "Yes"
388
+ #~ msgstr "Yes"
389
+
390
+ #~ msgid "Static image"
391
+ #~ msgstr "Static image"
readme.txt ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Plugin Name ===
2
+ Contributors: gn_themes
3
+ Donate link: http://ilovecode.ru/
4
+ Tags: shortcode, shortcodes, short code, shortcodes, tab, tabs, button, buttons, jquery, box, boxes, toggle, spoiler, column, columns, services, service, pullquote, list, lists, frame, images, image
5
+ Requires at least: 3.0
6
+ Tested up to: 3.1
7
+ Stable tag: trunk
8
+
9
+ Provides support for multiple useful shortcodes
10
+
11
+
12
+ == Description ==
13
+
14
+ With this plugin you can easily add buttons, dividers, spacers, boxes, notes and much more
15
+ = Complete list of available shortcodes =
16
+ * Heading
17
+ * Frame
18
+ * Tabs
19
+ * Spoiler
20
+ * Divider
21
+ * Spacer
22
+ * Quote
23
+ * Pullquote
24
+ * Highlight
25
+ * Button
26
+ * Service
27
+ * Box
28
+ * Note
29
+ * List
30
+ * Column
31
+
32
+ For more information see http://ilovecode.ru/?p=122
33
+
34
+ == Installation ==
35
+
36
+ 1. Unzip plugin files and upload them under your '/wp-content/plugins/' directory. Resulted names will be:
37
+ './wp-content/plugins/shortcodes-ultimate/*'
38
+
39
+ 2. Activate plugin at "Plugins" administration page.
40
+
41
+
42
+ == Upgrade Notice ==
43
+
44
+ Upgrade normally via your Wordpress admin -> Plugins panel.
45
+
46
+
47
+ == Screenshots ==
48
+
49
+ 1. Heading, spoiler, tabs, quote, button.
50
+ 2. Box, note, divider (top), list.
51
+
52
+ == Frequently Asked Questions ==
53
+
54
+ = Complete list of supported shortcodes =
55
+ http://ilovecode.ru/?p=122
56
+
57
+
58
+ == Changelog ==
59
+
60
+ = 1.0.0 =
61
+ * Initial release
62
+
screenshot-1.png ADDED
Binary file
screenshot-2.png ADDED
Binary file
shortcodes-ultimate.php ADDED
@@ -0,0 +1,520 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ Plugin Name: Shortcodes Ultimate
5
+ Plugin URI: http://ilovecode.ru/?p=122
6
+ Version: 1.0.0
7
+ Author: Vladimir Anokhin
8
+ Author URI: http://ilovecode.ru/
9
+ Description: Provides support for many easy to use shortcodes. Visit plugin site to see the complete list of shortcodes
10
+ */
11
+
12
+ /**
13
+ * Shortcode: heading
14
+ *
15
+ * @param array $atts Shortcode attributes
16
+ * @param string $content
17
+ * @return string Output html
18
+ */
19
+ function su_heading_shortcode( $atts, $content = null ) {
20
+ extract( shortcode_atts( array(
21
+ 'size' => 3
22
+ ), $atts ) );
23
+
24
+ return '<div class="su-heading"><div class="su-heading-shell">' . $content . '</div></div>';
25
+ }
26
+
27
+ /**
28
+ * Shortcode: frame
29
+ *
30
+ * @param array $atts Shortcode attributes
31
+ * @param string $content
32
+ * @return string Output html
33
+ */
34
+ function su_frame_shortcode( $atts, $content = null ) {
35
+ extract( shortcode_atts( array(
36
+ 'align' => 'none'
37
+ ), $atts ) );
38
+
39
+ return '<div class="su-frame su-frame-align-' . $align . '"><div class="su-frame-shell">' . do_shortcode( $content ) . '</div></div>';
40
+ }
41
+
42
+ /**
43
+ * Shortcode: tabs
44
+ *
45
+ * @param array $atts Shortcode attributes
46
+ * @param string $content
47
+ * @return string Output html
48
+ */
49
+ function su_tabs( $atts, $content ) {
50
+ $GLOBALS['tab_count'] = 0;
51
+
52
+ do_shortcode( $content );
53
+
54
+ if ( is_array( $GLOBALS['tabs'] ) ) {
55
+ foreach ( $GLOBALS['tabs'] as $tab ) {
56
+ $tabs[] = '<span>' . $tab['title'] . '</span>';
57
+ $panes[] = '<div class="su-tabs-pane">' . $tab['content'] . '</div>';
58
+ }
59
+ $return = '<div class="su-tabs"><div class="su-tabs-nav">' . implode( '', $tabs ) . '</div><div class="su-tabs-panes">' . implode( "\n", $panes ) . '</div></div>';
60
+ }
61
+ return $return;
62
+ }
63
+
64
+ /**
65
+ * Shortcode: tab
66
+ *
67
+ * @param array $atts Shortcode attributes
68
+ * @param string $content
69
+ * @return string Output html
70
+ */
71
+ function su_tab( $atts, $content ) {
72
+ extract( shortcode_atts( array( 'title' => 'Tab %d' ), $atts ) );
73
+ $x = $GLOBALS['tab_count'];
74
+ $GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' => do_shortcode( $content ) );
75
+ $GLOBALS['tab_count']++;
76
+ }
77
+
78
+ /**
79
+ * Shortcode: spoiler
80
+ *
81
+ * @param array $atts Shortcode attributes
82
+ * @param string $content
83
+ * @return string Output html
84
+ */
85
+ function su_spoiler_shortcode( $atts, $content = null ) {
86
+ extract( shortcode_atts( array(
87
+ 'title' => __( 'Spoiler title', 'shortcodes-ultimate' )
88
+ ), $atts ) );
89
+
90
+ return '<div class="su-spoiler su-spoiler-open"><div class="su-spoiler-title">' . $title . '</div><div class="su-spoiler-content">' . do_shortcode( $content ) . '</div></div>';
91
+ }
92
+
93
+ /**
94
+ * Shortcode: divider
95
+ *
96
+ * @param array $atts Shortcode attributes
97
+ * @param string $content
98
+ * @return string Output html
99
+ */
100
+ function su_divider_shortcode( $atts, $content = null ) {
101
+ extract( shortcode_atts( array(
102
+ 'top' => false
103
+ ), $atts ) );
104
+
105
+ return ( $top ) ? '<div class="su-divider"><a href="#">' . __( 'Top', 'shortcodes-ultimate' ) . '</a></div>' : '<div class="su-divider"></div>';
106
+ }
107
+
108
+ /**
109
+ * Shortcode: spacer
110
+ *
111
+ * @param array $atts Shortcode attributes
112
+ * @param string $content
113
+ * @return string Output html
114
+ */
115
+ function su_spacer_shortcode( $atts, $content = null ) {
116
+ extract( shortcode_atts( array(
117
+ 'size' => 0
118
+ ), $atts ) );
119
+
120
+ return '<div class="su-spacer" style="height:' . $size . 'px"></div>';
121
+ }
122
+
123
+ /**
124
+ * Shortcode: highlight
125
+ *
126
+ * @param array $atts Shortcode attributes
127
+ * @param string $content
128
+ * @return string Output html
129
+ */
130
+ function su_highlight_shortcode( $atts, $content = null ) {
131
+ extract( shortcode_atts( array(
132
+ 'bg' => '#df9',
133
+ 'color' => '#000'
134
+ ), $atts ) );
135
+
136
+ return '<span class="su-highlight" style="background:' . $bg . ';color:' . $color . '">&nbsp;' . $content . '&nbsp;</span>';
137
+ }
138
+
139
+ /**
140
+ * Shortcode: column
141
+ *
142
+ * @param array $atts Shortcode attributes
143
+ * @param string $content
144
+ * @return string Output html
145
+ */
146
+ function su_column_shortcode( $atts, $content = null ) {
147
+ extract( shortcode_atts( array(
148
+ 'size' => '1-2',
149
+ 'last' => false
150
+ ), $atts ) );
151
+
152
+ return ( $last ) ? '<div class="su-column su-column-' . $size . ' su-column-last">' . do_shortcode( $content ) . '</div><div class="su-spacer su-spacer-20"></div>' : '<div class="su-column su-column-' . $size . '">' . do_shortcode( $content ) . '</div>';
153
+ }
154
+
155
+ /**
156
+ * Shortcode: list
157
+ *
158
+ * @param array $atts Shortcode attributes
159
+ * @param string $content
160
+ * @return string Output html
161
+ */
162
+ function su_list_shortcode( $atts, $content = null ) {
163
+ extract( shortcode_atts( array(
164
+ 'style' => 'star'
165
+ ), $atts ) );
166
+
167
+ return '<div class="su-list su-list-style-' . $style . '">' . $content . '</div>';
168
+ }
169
+
170
+ /**
171
+ * Shortcode: quote
172
+ *
173
+ * @param array $atts Shortcode attributes
174
+ * @param string $content
175
+ * @return string Output html
176
+ */
177
+ function su_quote_shortcode( $atts, $content = null ) {
178
+ extract( shortcode_atts( array(
179
+ 'style' => 1
180
+ ), $atts ) );
181
+
182
+ return '<div class="su-quote su-quote-style-' . $style . '"><div class="su-quote-shell">' . do_shortcode( $content ) . '</div></div>';
183
+ }
184
+
185
+ /**
186
+ * Shortcode: pullquote
187
+ *
188
+ * @param array $atts Shortcode attributes
189
+ * @param string $content
190
+ * @return string Output html
191
+ */
192
+ function su_pullquote_shortcode( $atts, $content = null ) {
193
+ extract( shortcode_atts( array(
194
+ 'style' => 1,
195
+ 'align' => 'left'
196
+ ), $atts ) );
197
+
198
+ return '<div class="su-pullquote su-pullquote-style-' . $style . ' su-pullquote-align-' . $align . '">' . do_shortcode( $content ) . '</div>';
199
+ }
200
+
201
+ /**
202
+ * Shortcode: button
203
+ *
204
+ * @param array $atts Shortcode attributes
205
+ * @param string $content
206
+ * @return string Output html
207
+ */
208
+ function su_button_shortcode( $atts, $content = null ) {
209
+ extract( shortcode_atts( array(
210
+ 'link' => '#',
211
+ 'color' => '#aaa',
212
+ 'dark' => false,
213
+ 'square' => false,
214
+ 'style' => 1,
215
+ 'size' => 2
216
+ ), $atts ) );
217
+
218
+ $styles = array(
219
+ 'border_radius' => ( $square ) ? 0 : $size + 2,
220
+ 'dark_color' => su_hex_shift( $color, 'darker', 20 ),
221
+ 'light_color' => su_hex_shift( $color, 'lighter', 70 ),
222
+ 'size' => round( ( $size + 9 ) * 1.3 ),
223
+ 'text_color' => ( $dark ) ? su_hex_shift( $color, 'darker', 70 ) : su_hex_shift( $color, 'lighter', 90 ),
224
+ 'text_shadow' => ( $dark ) ? su_hex_shift( $color, 'lighter', 50 ) : su_hex_shift( $color, 'darker', 20 ),
225
+ 'text_shadow_position' => ( $dark ) ? '1px 1px' : '-1px -1px',
226
+ 'padding_v' => ( $size * 2 ) + 2,
227
+ 'padding_h' => ( $size * 5 ) + 5
228
+ );
229
+
230
+ $link_styles = array(
231
+ 'background-color' => $color,
232
+ 'border' => '1px solid ' . $styles['dark_color'],
233
+ 'border-radius' => $styles['border_radius'] . 'px',
234
+ '-moz-border-radius' => $styles['border_radius'] . 'px',
235
+ '-webkit-border-radius' => $styles['border_radius'] . 'px'
236
+ );
237
+
238
+ $span_styles = array(
239
+ 'color' => $styles['text_color'],
240
+ 'padding' => $styles['padding_v'] . 'px ' . $styles['padding_h'] . 'px',
241
+ 'font-size' => $styles['size'] . 'px',
242
+ 'height' => $styles['size'] . 'px',
243
+ 'line-height' => $styles['size'] . 'px',
244
+ 'border-top' => '1px solid ' . $styles['light_color'],
245
+ 'text-transform' => 'uppercase',
246
+ 'border-radius' => $styles['border_radius'] . 'px',
247
+ 'text-shadow' => $styles['text_shadow_position'] . ' 0 ' . $styles['text_shadow'],
248
+ '-moz-border-radius' => $styles['border_radius'] . 'px',
249
+ '-moz-text-shadow' => $styles['text_shadow_position'] . ' 0 ' . $styles['text_shadow'],
250
+ '-webkit-border-radius' => $styles['border_radius'] . 'px',
251
+ '-webkit-text-shadow' => $styles['text_shadow_position'] . ' 0 ' . $styles['text_shadow']
252
+ );
253
+
254
+ foreach ( $link_styles as $link_rule => $link_value ) {
255
+ $link_style .= $link_rule . ':' . $link_value . ';';
256
+ }
257
+
258
+ foreach ( $span_styles as $span_rule => $span_value ) {
259
+ $span_style .= $span_rule . ':' . $span_value . ';';
260
+ }
261
+
262
+ return '<a href="' . $link . '" class="su-button su-button-style-' . $style . '" style="' . $link_style . '"><span style="' . $span_style . '">' . $content . '</span></a>';
263
+ }
264
+
265
+ /**
266
+ * Shortcode: service
267
+ *
268
+ * @param array $atts Shortcode attributes
269
+ * @param string $content
270
+ * @return string Output html
271
+ */
272
+ function su_service_shortcode( $atts, $content = null ) {
273
+ extract( shortcode_atts( array(
274
+ 'title' => __( 'Service name', 'shortcodes-ultimate' ),
275
+ 'icon' => su_plugin_url() . '/images/service.png',
276
+ 'size' => 32
277
+ ), $atts ) );
278
+
279
+ return '<div class="su-service"><div class="su-service-title" style="padding:' . round( ( $size - 16 ) / 2 ) . 'px 0 ' . round( ( $size - 16 ) / 2 ) . 'px ' . ( $size + 15 ) . 'px"><img src="' . $icon . '" width="' . $size . '" height="' . $size . '" alt="' . $title . '" /> ' . $title . '</div><div class="su-service-content" style="padding:0 0 0 ' . ( $size + 15 ) . 'px">' . do_shortcode( $content ) . '</div></div>';
280
+ }
281
+
282
+ /**
283
+ * Shortcode: box
284
+ *
285
+ * @param array $atts Shortcode attributes
286
+ * @param string $content
287
+ * @return string Output html
288
+ */
289
+ function su_box_shortcode( $atts, $content = null ) {
290
+ extract( shortcode_atts( array(
291
+ 'color' => '#333',
292
+ 'title' => __( 'This is box title', 'shortcodes-ultimate' )
293
+ ), $atts ) );
294
+
295
+ $styles = array(
296
+ 'dark_color' => su_hex_shift( $color, 'darker', 20 ),
297
+ 'light_color' => su_hex_shift( $color, 'lighter', 60 ),
298
+ 'text_shadow' => su_hex_shift( $color, 'darker', 70 ),
299
+ );
300
+
301
+ return '<div class="su-box" style="border:1px solid ' . $styles['dark_color'] . '"><div class="su-box-title" style="background-color:' . $color . ';border-top:1px solid ' . $styles['light_color'] . ';text-shadow:1px 1px 0 ' . $styles['text_shadow'] . '">' . $title . '</div><div class="su-box-content">' . do_shortcode( $content ) . '</div></div>';
302
+ }
303
+
304
+ /**
305
+ * Shortcode: note
306
+ *
307
+ * @param array $atts Shortcode attributes
308
+ * @param string $content
309
+ * @return string Output html
310
+ */
311
+ function su_note_shortcode( $atts, $content = null ) {
312
+ extract( shortcode_atts( array(
313
+ 'color' => '#fc0'
314
+ ), $atts ) );
315
+
316
+ $styles = array(
317
+ 'dark_color' => su_hex_shift( $color, 'darker', 10 ),
318
+ 'light_color' => su_hex_shift( $color, 'lighter', 20 ),
319
+ 'extra_light_color' => su_hex_shift( $color, 'lighter', 80 ),
320
+ 'text_color' => su_hex_shift( $color, 'darker', 70 )
321
+ );
322
+
323
+ return '<div class="su-note" style="background-color:' . $styles['light_color'] . ';border:1px solid ' . $styles['dark_color'] . '"><div class="su-note-shell" style="border:1px solid ' . $styles['extra_light_color'] . ';color:' . $styles['text_color'] . '">' . do_shortcode( $content ) . '</div></div>';
324
+ }
325
+
326
+ /**
327
+ * Plugin initialization
328
+ */
329
+ function su_plugin_init() {
330
+
331
+ // Make plugin available for tramslation
332
+ load_plugin_textdomain( 'shortcodes-ultimate', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
333
+
334
+ /**
335
+ * Returns current plugin version.
336
+ *
337
+ * @return string Plugin version
338
+ */
339
+ function su_get_version() {
340
+ if ( !function_exists( 'get_plugins' ) ) {
341
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
342
+ }
343
+ $plugin_folder = get_plugins( '/' . plugin_basename( dirname( __FILE__ ) ) );
344
+ $plugin_file = basename( ( __FILE__ ) );
345
+ return $plugin_folder[$plugin_file]['Version'];
346
+ }
347
+
348
+ /**
349
+ * Returns current plugin url.
350
+ *
351
+ * @return string Plugin url
352
+ */
353
+ function su_plugin_url() {
354
+ return plugins_url( basename( __FILE__, '.php' ), dirname( __FILE__ ) );
355
+ }
356
+
357
+ /**
358
+ * Color shift a hex value by a specific percentage factor
359
+ *
360
+ * @param string $supplied_hex Any valid hex value. Short forms e.g. #333 accepted.
361
+ * @param string $shift_method How to shift the value e.g( +,up,lighter,>)
362
+ * @param integer $percentage Percentage in range of [0-100] to shift provided hex value by
363
+ * @return string shifted hex value
364
+ * @version 1.0 2008-03-28
365
+ */
366
+ function su_hex_shift( $supplied_hex, $shift_method, $percentage = 50 ) {
367
+ $shifted_hex_value = null;
368
+ $valid_shift_option = FALSE;
369
+ $current_set = 1;
370
+ $RGB_values = array( );
371
+ $valid_shift_up_args = array( 'up', '+', 'lighter', '>' );
372
+ $valid_shift_down_args = array( 'down', '-', 'darker', '<' );
373
+ $shift_method = strtolower( trim( $shift_method ) );
374
+
375
+ // Check Factor
376
+ if ( !is_numeric( $percentage ) || ($percentage = ( int ) $percentage) < 0 || $percentage > 100 ) {
377
+ trigger_error( "Invalid factor", E_USER_ERROR );
378
+ }
379
+
380
+ // Check shift method
381
+ foreach ( array( $valid_shift_down_args, $valid_shift_up_args ) as $options ) {
382
+ foreach ( $options as $method ) {
383
+ if ( $method == $shift_method ) {
384
+ $valid_shift_option = !$valid_shift_option;
385
+ $shift_method = ( $current_set === 1 ) ? '+' : '-';
386
+ break 2;
387
+ }
388
+ }
389
+ ++$current_set;
390
+ }
391
+
392
+ if ( !$valid_shift_option ) {
393
+ trigger_error( "Invalid shift method", E_USER_ERROR );
394
+ }
395
+
396
+ // Check Hex string
397
+ switch ( strlen( $supplied_hex = ( str_replace( '#', '', trim( $supplied_hex ) ) ) ) ) {
398
+ case 3:
399
+ if ( preg_match( '/^([0-9a-f])([0-9a-f])([0-9a-f])/i', $supplied_hex ) ) {
400
+ $supplied_hex = preg_replace( '/^([0-9a-f])([0-9a-f])([0-9a-f])/i', '\\1\\1\\2\\2\\3\\3', $supplied_hex );
401
+ } else {
402
+ trigger_error( "Invalid hex value", E_USER_ERROR );
403
+ }
404
+ break;
405
+ case 6:
406
+ if ( !preg_match( '/^[0-9a-f]{2}[0-9a-f]{2}[0-9a-f]{2}$/i', $supplied_hex ) ) {
407
+ trigger_error( "Invalid hex value", E_USER_ERROR );
408
+ }
409
+ break;
410
+ default:
411
+ trigger_error( "Invalid hex length", E_USER_ERROR );
412
+ }
413
+
414
+ // Start shifting
415
+ $RGB_values['R'] = hexdec( $supplied_hex{0} . $supplied_hex{1} );
416
+ $RGB_values['G'] = hexdec( $supplied_hex{2} . $supplied_hex{3} );
417
+ $RGB_values['B'] = hexdec( $supplied_hex{4} . $supplied_hex{5} );
418
+
419
+ foreach ( $RGB_values as $c => $v ) {
420
+ switch ( $shift_method ) {
421
+ case '-':
422
+ $amount = round( ((255 - $v) / 100) * $percentage ) + $v;
423
+ break;
424
+ case '+':
425
+ $amount = $v - round( ($v / 100) * $percentage );
426
+ break;
427
+ default:
428
+ trigger_error( "Oops. Unexpected shift method", E_USER_ERROR );
429
+ }
430
+
431
+ $shifted_hex_value .= $current_value = (
432
+ strlen( $decimal_to_hex = dechex( $amount ) ) < 2
433
+ ) ? '0' . $decimal_to_hex : $decimal_to_hex;
434
+ }
435
+
436
+ return '#' . $shifted_hex_value;
437
+ }
438
+
439
+ /**
440
+ * Disable auto-formatting for shortcodes
441
+ *
442
+ * @param string $content
443
+ * @return string Formatted content with clean shortcodes content
444
+ */
445
+ function su_custom_formatter( $content ) {
446
+ $new_content = '';
447
+
448
+ // Matches the contents and the open and closing tags
449
+ $pattern_full = '{(\[raw\].*?\[/raw\])}is';
450
+
451
+ // Matches just the contents
452
+ $pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
453
+
454
+ // Divide content into pieces
455
+ $pieces = preg_split( $pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE );
456
+
457
+ // Loop over pieces
458
+ foreach ( $pieces as $piece ) {
459
+
460
+ // Look for presence of the shortcode
461
+ if ( preg_match( $pattern_contents, $piece, $matches ) ) {
462
+
463
+ // Append to content (no formatting)
464
+ $new_content .= $matches[1];
465
+ } else {
466
+
467
+ // Format and append to content
468
+ $new_content .= wptexturize( wpautop( $piece ) );
469
+ }
470
+ }
471
+
472
+ return $new_content;
473
+ }
474
+
475
+ // Enable shortcodes in widgets
476
+ add_filter( 'widget_text', 'do_shortcode' );
477
+
478
+ // Disable WordPress native formatters
479
+ remove_filter( 'the_content', 'wpautop' );
480
+ remove_filter( 'the_content', 'wptexturize' );
481
+
482
+ // Apply custom formatter function
483
+ add_filter( 'the_content', 'su_custom_formatter', 99 );
484
+ add_filter( 'widget_text', 'su_custom_formatter', 99 );
485
+
486
+ // Fix for large posts, http://core.trac.wordpress.org/ticket/8553
487
+ @ini_set( 'pcre.backtrack_limit', 500000 );
488
+
489
+ if ( !is_admin() ) {
490
+ // Register
491
+ wp_register_style( 'shortcodes-ultimate', su_plugin_url() . '/css/style.css', false, su_get_version(), 'all' );
492
+ wp_register_script( 'shortcodes-ultimate', su_plugin_url() . '/js/init.js', false, su_get_version(), false );
493
+
494
+ // Enqueue
495
+ wp_enqueue_style( 'shortcodes-ultimate' );
496
+ wp_enqueue_script( 'jquery' );
497
+ wp_enqueue_script( 'shortcodes-ultimate' );
498
+ }
499
+
500
+ // Add shortcodes
501
+ add_shortcode( 'heading', 'su_heading_shortcode' );
502
+ add_shortcode( 'frame', 'su_frame_shortcode' );
503
+ add_shortcode( 'tabs', 'su_tabs' );
504
+ add_shortcode( 'tab', 'su_tab' );
505
+ add_shortcode( 'spoiler', 'su_spoiler_shortcode' );
506
+ add_shortcode( 'divider', 'su_divider_shortcode' );
507
+ add_shortcode( 'spacer', 'su_spacer_shortcode' );
508
+ add_shortcode( 'quote', 'su_quote_shortcode' );
509
+ add_shortcode( 'pullquote', 'su_pullquote_shortcode' );
510
+ add_shortcode( 'highlight', 'su_highlight_shortcode' );
511
+ add_shortcode( 'button', 'su_button_shortcode' );
512
+ add_shortcode( 'service', 'su_service_shortcode' );
513
+ add_shortcode( 'box', 'su_box_shortcode' );
514
+ add_shortcode( 'note', 'su_note_shortcode' );
515
+ add_shortcode( 'list', 'su_list_shortcode' );
516
+ add_shortcode( 'column', 'su_column_shortcode' );
517
+ }
518
+
519
+ add_action( 'init', 'su_plugin_init' );
520
+ ?>