Ticket #3360: 9110_elgg_ecml_1.8.patch.diff
| File 9110_elgg_ecml_1.8.patch.diff, 13.3 KB (added by ashleyward, 2 years ago) |
|---|
-
views/default/ecml/admin/css.php
1 <?php2 /**3 * ECML CSS4 */5 ?>6 7 .ecml_admin_table {8 width:100%;9 }10 .ecml_admin_table td, th {11 border: 1px solid gray;12 text-align: center;13 padding: 5px;14 }15 .ecml_admin_table th, .ecml_keyword_desc {16 font-weight: bold;17 }18 .ecml_row_odd {19 background-color: #EEE;20 }21 .ecml_row_even {22 23 }24 .ecml_restricted {25 color: #555;26 }27 28 29 /* ecml embed web services list */30 .ecml_web_service_list {31 margin:0;32 padding:0;33 }34 .ecml_web_service_list li {35 list-style: none;36 margin:0 0 0 0;37 padding:0;38 /* display:inline; */39 40 }41 .ecml_web_service_list li a {42 display:block;43 float:left;44 height:41px;45 width:152px;46 background-position: center center;47 background-repeat: no-repeat;48 text-indent: -900em;49 border:2px solid transparent;50 margin:0 20px 10px 0;51 }52 .ecml_web_service_list li a.selected {53 border-color:#999999;54 -webkit-border-radius: 5px;55 -moz-border-radius: 5px;56 }57 .ecml_web_service_list li a.youtube {58 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_youtube.gif);59 width:102px;60 }61 .ecml_web_service_list li a.slideshare {62 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_slideshare.gif);63 }64 .ecml_web_service_list li a.vimeo {65 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_vimeo.gif);66 width:130px;67 }68 .ecml_web_service_list li a.googlemaps {69 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_googlemaps.gif);70 }71 .ecml_web_service_list li a.blip_tv {72 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_bliptv.gif);73 width:102px;74 }75 .ecml_web_service_list li a.dailymotion {76 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_dailymotion.gif);77 }78 .ecml_web_service_list li a.livevideo {79 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_livevideo.gif);80 width:166px;81 }82 .ecml_web_service_list li a.redlasso {83 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/logo_redlasso.gif);84 background-position:center 4px;85 width:130px;86 }87 88 .embed_content_section {89 border:none;90 -webkit-border-radius: 5px;91 -moz-border-radius: 5px;92 background-color:#EEEEEE;93 margin:10px 0 10px 0;94 padding:5px;95 width:auto;96 }97 .ecml_generated_code {98 color:#666666;99 font-size:85%;100 font-style:normal;101 line-height: 1.3em;102 margin:5px 0;103 }104 .ecml_embed_instructions,105 .ecml_embed_preview {106 background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png);107 background-repeat: no-repeat;108 background-position: 0px -367px;109 padding-left: 12px;110 }111 .ecml_embed_instructions.open,112 .ecml_embed_preview.open {113 background-position: 0px -388px;114 }115 #embed_service_url {116 -webkit-border-radius: 5px;117 -moz-border-radius: 5px;118 background-color:#EEEEEE;119 margin:10px 0 10px 0;120 padding:5px;121 width:auto;122 }123 #web_services_resource {124 width:670px;125 }126 #url_status {127 width:30px;128 height:30px;129 float:right;130 }131 #url_status.success {132 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/url_status.png);133 background-repeat: no-repeat;134 background-position: left top;135 }136 #url_status.failure {137 background-image: url(<?php echo elgg_get_site_url(); ?>mod/ecml/graphics/url_status.png);138 background-repeat: no-repeat;139 background-position: left bottom;140 }141 #embed_ecml_keyword_help,142 #ecml_preview {143 padding:10px;144 }145 #ecml_preview object,146 #ecml_preview embed,147 #ecml_preview iframe {148 width: auto;149 max-height:240px;150 }151 #embed_submit {152 margin:10px 0 0 0;153 }154 155 156 -
views/default/ecml/help/blip.tv.php
1 <?php2 /**3 * ECML help for blip.tv4 */5 6 echo '<h3>' . elgg_echo('ecml:keywords:blip.tv') . '</h3>';7 echo '<p>' . elgg_echo('ecml:keywords:blip.tv:desc') . '</p>';8 echo '<p>' . elgg_echo('ecml:keywords:blip.tv:usage') . '</p>';9 10 ?>11 12 <img src="<?php echo elgg_get_site_url()?>mod/ecml/graphics/blip.tv.png" />13 No newline at end of file -
views/default/ecml/css.php
101 101 line-height: 1.3em; 102 102 margin:5px 0; 103 103 } 104 104 105 .ecml_embed_instructions, 105 106 .ecml_embed_preview { 106 background-image: url(<?php echo elgg_get_site_url(); ?>_graphics/elgg_sprites.png); 107 background-repeat: no-repeat; 108 background-position: 0px -367px; 109 padding-left: 12px; 107 left: 5px; 108 color: #333333; 110 109 } 111 .ecml_embed_instructions.open, 112 .ecml_embed_preview.open { 113 background-position: 0px -388px; 110 .ecml_embed_instructions:hover, 111 .ecml_embed_preview:hover { 112 color: #666666; 113 text-decoration: none; 114 114 } 115 .ecml_embed_instructions:before, 116 .ecml_embed_preview:before { 117 content: "\25BA"; 118 } 119 .ecml_embed_instructions.elgg-state-active:before, 120 .ecml_embed_preview.elgg-state-active:before { 121 content: "\25BC"; 122 } 123 115 124 #embed_service_url { 116 125 -webkit-border-radius: 5px; 117 126 -moz-border-radius: 5px; -
views/default/ecml/keyword_help.php
6 6 * 7 7 */ 8 8 9 $keyword = elgg_ get_array_value('keyword', $vars);9 $keyword = elgg_extract('keyword', $vars); 10 10 $content = elgg_view("ecml/help/$keyword"); 11 11 12 12 if (!$keyword || !ecml_is_valid_keyword($keyword)) { -
views/default/embed/web_services/content.php
9 9 * 10 10 */ 11 11 12 $internal_ name = elgg_get_array_value('internal_name', $vars);12 $internal_id = elgg_extract('internal_id', $vars); 13 13 14 14 $keywords = ecml_get_keywords(); 15 15 elgg_sort_3d_array_by_value($keywords, 'name'); … … 24 24 unset ($keywords[$i]); 25 25 continue; 26 26 } 27 28 // make sure the classname doens't have invalid chars. 27 // make sure the classname doesn't have invalid chars. 29 28 $class = str_replace(array('.', ','), '_', $i); 30 29 $keyword_js_array[] = $class; 31 30 32 $keywords_html .= "<li class='ecml_web_service'><a class=\"$class link\">{$v['name']}</a></li>"; 31 $keywords_html .= "<li class='ecml_web_service'>"; 32 33 $keywords_html .= elgg_view('output/url', array( 34 'href' => '#embed_ecml_keyword_help', 35 'text' => $v['name'], 36 'class' => $class, 37 )); 38 39 $keywords_html .= "</li>"; 33 40 } 34 41 35 42 $keywords_html .= "</ul>"; … … 53 60 54 61 echo $keywords_html; 55 62 56 echo "<div class='embed_content_section instructions hidden'><a class='ecml_embed_instructions link '>Instructions</a>";63 echo "<div class='embed_content_section instructions hidden'><a class='ecml_embed_instructions link elgg-toggler' href='#embed_ecml_keyword_help'>Instructions</a>"; 57 64 echo "<div id='embed_ecml_keyword_help' class='hidden'></div></div>"; 58 65 59 66 echo "<div id='embed_service_url'><label>URL<br />".$input."<div id='url_status' class=''></div></label>"; 60 67 echo "<div class='ecml_generated_code hidden'>ECML: <span id='ecml_code'></span></div></div>"; 61 68 62 echo "<div class='embed_content_section preview hidden'><a class='ecml_embed_preview link '>Preview</a>";69 echo "<div class='embed_content_section preview hidden'><a class='ecml_embed_preview link elgg-toggler' href='#ecml_preview'>Preview</a>"; 63 70 echo "<div id='ecml_preview' class='hidden'></div></div>"; 64 71 65 72 echo "<div class='divider margin-top'></div>"; … … 69 76 70 77 <script type="text/javascript"> 71 78 72 $(document).ready(function() {73 $('a.ecml_embed_instructions.link').click(function() {74 elgg_slide_toggle($(this), '.embed_content_section.instructions', '#embed_ecml_keyword_help');75 $('.ecml_embed_instructions').toggleClass('open');76 });77 78 $('a.ecml_embed_preview.link').click(function() {79 elgg_slide_toggle($(this), '.embed_content_section.preview', '#ecml_preview');80 $('.ecml_embed_preview').toggleClass('open');81 });82 });83 84 79 $(function() { 85 80 var keywords = <?php echo $keywords_js; ?>; 86 81 var selected_service = ''; … … 92 87 // counter for paused input to try to validate/generate a preview. 93 88 var rest_timeout_id = null; 94 89 var rest_min_time = 750; 95 var embed_generate_ecml_url = '<?php echo elgg_get_site_url(); ?> pg/ecml_generate';96 var embed_ecml_keyword_help_url = '<?php echo elgg_get_site_url(); ?> pg/ecml/';97 var internal_ name = '<?php echo addslashes($internal_name); ?>';90 var embed_generate_ecml_url = '<?php echo elgg_get_site_url(); ?>ecml_generate'; 91 var embed_ecml_keyword_help_url = '<?php echo elgg_get_site_url(); ?>ecml/'; 92 var internal_id = '<?php echo addslashes($internal_id); ?>'; 98 93 99 94 var web_services_ecml_update = function() { 100 95 if (rest_timeout_id) { … … 156 151 selected_service = service; 157 152 $('.ecml_web_service a').removeClass('selected'); 158 153 $('.ecml_web_service a.' + service).addClass('selected'); 159 $('.embed_content_section.instructions'). removeClass('hidden'); // reveal instructions link/panel154 $('.embed_content_section.instructions').slideDown(); // reveal instructions link/panel 160 155 } 161 156 162 157 // pings back core to generate the ecml. … … 175 170 $('#ecml_preview').html(data.html); 176 171 $('#ecml_code').html(data.ecml); 177 172 $('body').data('elgg_embed_ecml', data.ecml); 178 $('.embed_content_section.preview'). removeClass('hidden'); // reveal preview link/panel179 $('.ecml_generated_code'). removeClass('hidden'); // reveal ecml generated code173 $('.embed_content_section.preview').slideDown(); // reveal preview link/panel 174 $('.ecml_generated_code').slideDown(); // reveal ecml generated code 180 175 181 176 // set status for embed button 182 177 embed_button.removeAttr('disabled').removeClass('disabled'); … … 185 180 // data failure 186 181 embed_button.attr('disabled', 'disabled').addClass('disabled'); 187 182 url_status.removeClass('success').removeClass('failure'); 183 184 $('.embed_content_section.preview').slideUp(); // hide preview link/panel 185 $('.ecml_generated_code').slideUp(); // hide ecml generated code 188 186 } 189 187 }, 'json'); 190 188 } … … 210 208 content = embed_resource_input.val(); 211 209 } 212 210 213 elggEmbedInsertContent(content, internal_ name);211 elggEmbedInsertContent(content, internal_id); 214 212 215 213 return false; 216 214 }); -
manifest.xml
7 7 <field key="website" value="http://www.elgg.org/" /> 8 8 <field key="copyright" value="(C) Curverider 2008-2010" /> 9 9 <field key="licence" value="GNU Public License version 2" /> 10 <field key="elgg_version" value="20 09030702" />10 <field key="elgg_version" value="2011032200" /> 11 11 <field key="elgg_install_state" value="enabled" /> 12 12 <field key="admin_interface" value="advanced" /> 13 13 </plugin_manifest> -
start.php
25 25 define('ECML_KEYWORD_REGEX', '/\[([a-z0-9\.]+)([^\]]+)?\]/'); 26 26 27 27 // help page 28 register_page_handler('ecml', 'ecml_help_page_handler');28 elgg_register_page_handler('ecml', 'ecml_help_page_handler'); 29 29 30 30 // admin access page 31 register_page_handler('ecml_admin', 'ecml_admin_page_handler');31 elgg_register_page_handler('ecml_admin', 'ecml_admin_page_handler'); 32 32 33 33 // ecml validator for embed 34 register_page_handler('ecml_generate', 'ecml_generate_page_handler');34 elgg_register_page_handler('ecml_generate', 'ecml_generate_page_handler'); 35 35 36 36 // CSS for admin access 37 elgg_extend_view('css/ screen', 'ecml/admin/css');37 elgg_extend_view('css/elgg', 'ecml/css'); 38 38 39 39 // admin action to save permissions 40 40 elgg_register_action('settings/ecml/save', dirname(__FILE__) . '/actions/save_permissions.php', 'admin'); … … 70 70 // it's more efficient to use this as a blacklist 71 71 // but probably makes more sense from a UI perspective as a whitelist. 72 72 // uses [views][view_name] = array(keywords, not, allowed) 73 $CONFIG->ecml_permissions = unserialize( get_plugin_setting('ecml_permissions', 'ecml'));73 $CONFIG->ecml_permissions = unserialize(elgg_get_plugin_setting('ecml_permissions', 'ecml')); 74 74 75 75 // 3rd party media embed section 76 76 elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'ecml_embed_web_services_hook'); … … 221 221 'vimeo' => array('params' => array('src', 'width', 'height'), 'embed_format' => 'src="%s"'), 222 222 'googlemaps' => array('params' => array('src', 'width', 'height'), 'embed_format' => 'src="%s"'), 223 223 //'scribd' 224 'blip .tv' => array('params' => array('width', 'height'), 'embed_format' => '%s'),224 'blip_tv' => array('params' => array('width', 'height'), 'embed_format' => '%s'), 225 225 'dailymotion' => array('params' => array('src', 'width', 'height'), 'embed_format' => 'src="%s"'), 226 226 'livevideo' => array('params' => array('src', 'width', 'height'), 'embed_format' => 'src="%s"'), 227 227 'redlasso' => array('params' => array('id', 'width', 'height'), 'embed_format' => 'id="%s"'),
