diff --git a/README.md b/README.md index 9a9acca..e331559 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Stories in Ready](https://badge.waffle.io/redelivre/delibera.png?label=ready&title=Ready)](https://waffle.io/redelivre/delibera) Delibera ======== @@ -18,6 +19,16 @@ Como usar? ========== Tudo o que você precisa para rodar este plugin é ter uma instalação de WordPress funcionando e saber como instalar um plugin. Para mais informações veja a [documentação](https://github.com/redelivre/delibera/wiki/Home). + +Acessando pautas: + +Post type = pauta + +Exemplo sem links customizados: +http://www.exemplo.com/?post_type=pauta + +Exemplo com links customizados: +http://www.exemplo.com/pauta/ Como Colaborar? =============== diff --git a/admin/css/flow.css b/admin/css/flow.css new file mode 100644 index 0000000..220bab5 --- /dev/null +++ b/admin/css/flow.css @@ -0,0 +1,81 @@ +@CHARSET "UTF-8"; + + +.delibera-flow-panel.delibera-flow-panel-post { + display: block; + float: none; + overflow: hidden; + position: relative; +} + +.delibera-flow-panel .delibera-flow-column{ + width:49%; + margin-right:.5%; + min-height:150px; + background:#fff; + float:left; +} +.delibera-flow-panel .delibera-flow-column .dragbox{ + margin:5px 2px 20px; + background:#fff; + position:"relative"; + border:1px solid #946553; + -moz-border-radius:5px; + -webkit-border-radius:5px; +} +#poststuff .delibera-flow-panel .delibera-flow-column .dragbox h2, +.delibera-flow-panel .delibera-flow-column .dragbox h2 { + margin:0; + font-size:12px; + background:#946553; + color:#fff; + border-bottom:1px solid #946553; + font-family:Verdana; + cursor:move; + padding:5px; +} + +.delibera-flow-panel .dragbox-content{ + background:#fff; + min-height:100px; margin:5px; + font-family:'Lucida Grande', Verdana; font-size:0.8em; line-height:1.5em; +} +.delibera-flow-panel .delibera-flow-column .placeholder{ + background: #EED5B7; + border:1px dashed #946553; +} + +.delibera-flow-panel .opIcons +{ +background-image: url('../images/iconSpirite.gif')!important; +background-repeat: no-repeat; +float:right; +height:13px; +width:13px; +margin:0px 2px; +} + +.delibera-flow-panel .maxmin +{ + background-position:-26px 1px; + cursor: pointer; +} + +.delibera-flow-panel .delete +{ + background-position:-269px center; + padding-top:1px; + cursor: pointer; +} + +.delibera-flow-panel-config #delibera-flow-column2 .ui-sortable-handle span:last-child { + display: none; +} + +.delibera-flow-panel-config #delibera-flow-column2 .dragbox-content { + display: none; +} + +.delibera-flow-panel-post #delibera-flow-column1 h2 span { + display: none; +} diff --git a/admin/delibera_admin_functions.php b/admin/delibera_admin_functions.php new file mode 100644 index 0000000..4089dbc --- /dev/null +++ b/admin/delibera_admin_functions.php @@ -0,0 +1,268 @@ +post_type == 'pauta' && $current_screen->id == "edit-pauta") { + ?> + + current_action(); + + switch($action) { + case 'set_prazodiscussao': + check_admin_referer('bulk-posts'); + + $pautas_ids = $_REQUEST['post']; + $novo_prazo_discussao = $_REQUEST['novo_prazo_discussao']; + $inovo_prazo_discussao = DateTime::createFromFormat('d/m/Y', $novo_prazo_discussao)->getTimestamp(); + $pautas_afetadas = 0; + + foreach($pautas_ids as $pauta_id) { + + delibera_set_novo_prazo_discussao_relatoria($pauta_id, $inovo_prazo_discussao, delibera_get_config()); + + $pautas_afetadas++; + } + + $sendback = admin_url( "edit.php?post_type=pauta&pautas_afetadas=$pautas_afetadas&novo_prazo=$novo_prazo_discussao"); + + wp_redirect($sendback); + + exit(); + + break; + } +} + +add_action('load-edit.php', 'delibera_custom_bulk_action'); + +/** + * Função que exibe a mensagem de confirmação da alteração em massa + * + */ +function delibera_custom_bulk_admin_notices() { + + $current_screen = get_current_screen(); + + if($current_screen->post_type == 'pauta' && $current_screen->id == "edit-pauta" && + isset($_REQUEST['pautas_afetadas']) && (int) $_REQUEST['pautas_afetadas']) { + $mensagem = sprintf( '%s pautas definidas para o prazo de %s.', number_format_i18n( $_REQUEST['pautas_afetadas']), $_REQUEST['novo_prazo'] ); + echo "

{$mensagem}

"; + } +} + +add_action('admin_notices', 'delibera_custom_bulk_admin_notices'); + +/** + * + * Comentário na tela de Edição na administração + * @param WP_comment $comment + * + * @property add_meta_boxes_comment + */ +function delibera_edit_comment($comment) +{ + if(get_post_type($comment->comment_post_ID) == "pauta") + { + $tipo = get_comment_meta($comment->comment_ID, "delibera_comment_tipo", true); + switch ($tipo) + { + case 'validacao': + { + $validacao = get_comment_meta($comment->comment_ID, "delibera_validacao", true); + $sim = ($validacao == "S" ? true : false); + ?> +
+ + + + + +
+ + comment_ID, "delibera_comment_tipo", true); + $checked = $tipo == "discussao" ? "" : ' checked="checked" '; + ?> + + + + + + ID, "tema"); + break; + case 'situacao': + echo delibera_get_situacao($post->ID)->name; + break; + case 'prazo': + $data = ""; + $prazo = \Delibera\Flow::getDeadlineDays($post->ID, $data); + if($prazo <= -1) + { + echo __('Encerrado', 'delibera'); + } + elseif($data != "") + { + echo $data." (".$prazo.($prazo == 1 ? __(" dia", 'delibera') : __(" dias", 'delibera')).")"; + } + break; + } + +} + +add_action('manage_posts_custom_column', 'delibera_post_custom_column'); + +/** + * Inclui novas ações na lista do wp admin + * @param $columns + * @param $post + * + */ +function delibera_admin_list_options($actions, $post) +{ + if(get_post_type($post) == 'pauta' && $post->post_status == 'publish' ) + { + if(current_user_can('forcar_prazo')) + { + $url = 'admin.php?action=delibera_forca_fim_prazo_action&post='.$post->ID; + $url = wp_nonce_url($url, 'delibera_forca_fim_prazo_action'.$post->ID); + $actions['forcar_prazo'] = ''.__('Forçar fim de prazo','delibera').''; + + $url = 'admin.php?action=delibera_nao_validado_action&post='.$post->ID; + $url = wp_nonce_url($url, 'delibera_nao_validado_action'.$post->ID); + $actions['nao_validado'] = ''.__('Invalidar','delibera').''; + + } + if(delibera_get_situacao($post->ID)->slug == 'naovalidada' && current_user_can('delibera_reabrir_pauta')) + { + $url = 'admin.php?action=delibera_reabrir_pauta_action&post='.$post->ID; + $url = wp_nonce_url($url, 'delibera_reabrir_pauta_action'.$post->ID); + $actions['reabrir'] = ''.__('Reabrir','delibera').''; + } + + } + + //print_r(_get_cron_array()); + return $actions; +} + +add_filter('post_row_actions','delibera_admin_list_options', 10, 2); + +/** + * Preenche lista de valores disponíveis para filtro da listagem do WP admin + * + */ +function delibera_restrict_listings() +{ + global $typenow; + global $wp_query; + if ($typenow=='pauta') + { + $taxonomy = 'situacao'; + $situacao_taxonomy = get_taxonomy($taxonomy); + wp_dropdown_categories(array( + 'show_option_all' => sprintf(__('Mostrar todas as %s','delibera'),$situacao_taxonomy->label), + 'taxonomy' => $taxonomy, + 'name' => 'situacao', + 'orderby' => 'id', + 'selected' => isset($_REQUEST['situacao']) ? $_REQUEST['situacao'] : '', + 'hierarchical' => false, + 'depth' => 1, + 'show_count' => true, // This will give a view + 'hide_empty' => true, // This will give false positives, i.e. one's not empty related to the other terms. + )); + } +} +add_action('restrict_manage_posts','delibera_restrict_listings'); \ No newline at end of file diff --git a/admin/delibera_cron.php b/admin/delibera_cron.php new file mode 100644 index 0000000..4cb977d --- /dev/null +++ b/admin/delibera_cron.php @@ -0,0 +1,225 @@ +getTimestamp(); + + $exec = 0; + foreach ($crons as $key => $values) + { + if($key <= $now) + { + foreach ($values as $value) + { + $exec++; + try + { + if(is_array($value['call_back'])) + { + if(method_exists($value['call_back'][0], $value['call_back'][1])) + { + call_user_func($value['call_back'], $value['args']); + } + } + else + { + if(function_exists($value['call_back'])) + { + call_user_func($value['call_back'], $value['args']); + } + } + } + catch (Exception $e) + { + $error = __('Erro no cron Delibera: ','delibera').$e->getMessage()."\n".$e->getCode()."\n".$e->getTraceAsString()."\n".$e->getLine()."\n".$e->getFile(); + wp_mail("jacson@ethymos.com.br", get_bloginfo('name'), $error); + file_put_contents('/tmp/delibera_cron.log', $error, FILE_APPEND); + } + } + } + else + { + $new_crons[$key] = $values; + } + } + update_option('delibera-cron', $new_crons); + + //wp_mail("jacson@ethymos.com.br", get_bloginfo('name'),"Foram executadas $exec tarefa(s)"); + } + + /** + * Registry a cron event check hourly + */ + function registry() + { + if ( !wp_next_scheduled( 'admin_action_delibera_cron_action' ) ) // if already been scheduled, will return a time + { + wp_schedule_event(time(), 'hourly', 'admin_action_delibera_cron_action'); + } + } + + /** + * Simple text list of cron jobs + */ + function cronList() + { + ?> +
+ +
 $values)
+			{
+				echo "\n
[$key]: ".date("d/m/Y H:i:s", $key); + foreach ($values as $key2 => $value) + { + echo "\n
\t   [$key2]"; + foreach ($value as $ki => $item) + { + echo "\n
\t\t      [$ki]"; + if(is_array($item)) + { + if(array_key_exists('post_ID', $item)) + { + $post = get_post($item['post_ID']); + $title = get_the_title($post); + echo "\n$title"; + } + echo "\n
\t\t         ".print_r($item, true); + } + else + { + echo "\n
\t\t         $item"; + } + } + } + }?> +
+
0) + { + $crons = get_option('delibera-cron', array()); + if(!is_array($crons)) $crons = array(); + + if(!array_key_exists($data, $crons)) + { + $crons[$data] = array(); + } + $crons[$data][] = array('call_back' => $call_back, "args" => $args); + ksort($crons); + if(!update_option('delibera-cron', $crons)) + { + throw new \Exception("Cron not updated on $data, values:".print_r($crons[$data],true)); + } + } + } + + /** + * Remove a cron trigger + * @param int $postID + * @param function $callback function name or array($object, 'functio-name') + */ + static function del($postID, $callback = false) + { + $crons = get_option('delibera-cron', array()); + if(!is_array($crons)) $crons = array(); + + if( is_array($callback) ) + { + $callback = $callback[0].'_'.$callback[1]; + } + + $crons_new = array(); + foreach($crons as $cron_data => $cron_value) + { + $new_cron = array(); + foreach ($cron_value as $call) + { + $cron_callback = $call['call_back']; + if( is_array($call['call_back']) ) + { + $cron_callback = $call['call_back'][0].'_'.$call['call_back'][1]; + } + + if(array_key_exists('post_id', $call['args'])) $call['args']['post_ID'] = $call['args']['post_id']; + + if($call['args']['post_ID'] != $postID || ($callback !== false && $callback != $cron_callback )) + { + $new_cron[] = $call; + } + } + if(count($new_cron) > 0) + { + $crons_new[$cron_data] = $new_cron; + } + } + + ksort($crons_new); + update_option('delibera-cron', $crons_new); + } + + public function addMenu($base_page) + { + add_submenu_page($base_page, __('Delibera Cron','delibera'),__('Delibera Cron','delibera'), 'manage_options', 'delibera-cron', array($this, 'confPage')); + } + + public function confPage() + { + $this->cronList(); + } + +} + +$DeliberaCron = new \Delibera\Cron(); + +// Force cron exec +/*if(array_key_exists("delibera_cron_action", $_REQUEST) && !defined('DOING_DELIBERA_CRON')) + { + ignore_user_abort(true); + define('DOING_DELIBERA_CRON', true); + delibera_cron_action(); + }*/ +//update_option('delibera-cron', array()); //delete cron +?> \ No newline at end of file diff --git a/delibera_user_painel.php b/admin/delibera_user_painel.php similarity index 100% rename from delibera_user_painel.php rename to admin/delibera_user_painel.php diff --git a/admin/images/iconSpirite.gif b/admin/images/iconSpirite.gif new file mode 100644 index 0000000..8057c18 Binary files /dev/null and b/admin/images/iconSpirite.gif differ diff --git a/js/admin_notifica_scripts.js b/admin/js/admin_notifica_scripts.js similarity index 100% rename from js/admin_notifica_scripts.js rename to admin/js/admin_notifica_scripts.js diff --git a/js/admin_scripts.js b/admin/js/admin_scripts.js similarity index 100% rename from js/admin_scripts.js rename to admin/js/admin_scripts.js diff --git a/admin/js/flow.js b/admin/js/flow.js new file mode 100644 index 0000000..959c223 --- /dev/null +++ b/admin/js/flow.js @@ -0,0 +1,202 @@ +/** + * + */ + +function deliberaFlowToggle(element) +{ + jQuery(element).parent().siblings('.dragbox-content').toggle(); +} + +function deliberaFlowRemove(element) +{ + var sel = confirm('do you want to delete this step?'); + if (sel) { + jQuery(element).parent().parent().remove(); + deliberaUpdateFlow(); + } +} + +var sortorder = ''; +function deliberaUpdateFlow() +{ + sortorder = ''; + jQuery('.delibera-flow-panel').find('#delibera-flow-column2').each(function() + { + var itemorder = jQuery(this).sortable('toArray', { attribute: 'class'} ); + for (i = 0; i < itemorder.length; i++) + { + var tmp = itemorder[i].replace("dragbox ", "").replace(" clone", ""); + itemorder[i] = tmp; + } + sortorder += itemorder.toString(); + }); + jQuery('#delibera_flow').val(sortorder); + jQuery('#delibera-flow-column2').trigger('deliberaUpdateFlow'); + if(delibera_admin_flow.post_id != '') + { + updateDates(); + deliberaHideUsedModules() + + } +} + +function deliberaHideUsedModules() +{ + /** remove after multiple of the same has implemented **/ + var boxes = jQuery('#delibera-flow-column2').find('.dragbox'); + jQuery('.delibera-flow-panel').find("#delibera-flow-column1").find('.dragbox').show(); + for (var i = 0; i < boxes.length; i++) + { + var itemclass = jQuery(boxes[i]).attr('class').replace("dragbox ", "").replace(" clone", ""); + //console.log(itemclass); + jQuery('.delibera-flow-panel').find("#delibera-flow-column1").find("."+itemclass).hide(); + } + /** END remove after multiple of the same has implemented **/ +} + +Date.prototype.addDays = function(days) +{ + var dat = new Date(this.valueOf()); + dat.setDate(dat.getDate() + days); + return dat; +} + +function updateDates() +{ + var boxes = jQuery('#delibera-flow-column2').find('.dragbox'); + var lastDate = new Date(); + for (var i = 0; i < boxes.length; i++) + { + var dateinput = jQuery(boxes[i]).find('input.hasDatepicker'); + var daysinput = jQuery(boxes[i]).find('input.delibera_flow_module_days'); + var daysToAdd = Number(jQuery(daysinput).val()); + lastDate = lastDate.addDays(daysToAdd); + jQuery(dateinput).val( ('00' + lastDate.getDate()).slice(-2) + "/" + ('00' + (lastDate.getMonth()+1)).slice(-2) + "/" + lastDate.getFullYear()); + } +} + +jQuery(document).ready(function() { + deliberaHideUsedModules(); + jQuery('.delibera-flow-panel').find('span.maxmin').click(function() { + deliberaFlowToggle(this); + }); + + jQuery('.delibera-flow-panel').find('span.delete').click(function() { + deliberaFlowRemove(this); + }); + + jQuery('.delibera-flow-column').sortable({ + connectWith : '.delibera-flow-column', + handle : 'h2', + cursor : 'move', + placeholder : 'placeholder', + forcePlaceholderSize : true, + opacity : 0.4, + helper : function(e, div) { + copyHelper = div.clone().insertAfter(div); + jQuery(copyHelper).find('span.maxmin').click(function() { + deliberaFlowToggle(this); + }); + jQuery(copyHelper).find('span.delete').click(function() { + deliberaFlowRemove(this); + }); + jQuery(copyHelper).find('.hasdatepicker:not([readonly])').removeAttr('id'); + jQuery(copyHelper).find('.hasdatepicker:not([readonly])').removeClass('hasDatepicker').datepicker({ + userLang : 'pt-BR', + americanMode: false, + }); + div_copy = div.clone(); + return div_copy; + }, + stop : function(event, ui) { + copyHelper && copyHelper.remove(); + jQuery(ui.item).addClass('clone'); + jQuery(ui.item).find('h2').click(); + sortorder = ''; + jQuery(ui.item).find('.hasdatepicker:not([readonly])').removeClass('hasDatepicker').datepicker({ + userLang : 'pt-BR', + americanMode: false, + }); + jQuery(ui.item).find("input").prop('disabled', false); + deliberaUpdateFlow(); + if(delibera_admin_flow.post_id != '' && ui.item.parent().attr('id') != 'delibera-flow-column1' ) { + jQuery(ui.item).find('.dragbox-content').show(); + } + } + }); + jQuery('.delibera-flow-panel').find("#delibera-flow-column2").sortable({ + receive : function(e, ui) { + copyHelper = null; + } + }); + jQuery('.delibera-flow-panel').find("#delibera-flow-column1").sortable({ + receive : function(e, ui) { + if(ui.item.hasClass("clone")) + { + ui.sender.sortable("cancel"); + } + } + }); + if(delibera_admin_flow.post_id == '') + { + jQuery('.delibera-flow-panel').find("#delibera-flow-column2").find("input").prop('disabled', true); + } + else + { + jQuery('.delibera-flow-panel').find("#delibera-flow-column1").find("input").prop('disabled', true); + } + + jQuery('.delibera-flow-panel').find("input.dragbox-bt-save").click(function(){ + deliberaUpdateFlow(); + var data = { + action : "delibera_save_flow", + delibera_flow: sortorder, + post_id: jQuery('#delibera-flow-postid').val(), + nonce: jQuery('#_delibera-flow-nonce').val() + }; + if(delibera_admin_flow.post_id == '') + { + jQuery('.delibera-flow-panel').find('#delibera-flow-column1').find('input:not(input[type=button], input[type=submit], input[type=reset]), textarea, select').each(function(){ + data[this.name] = this.value; + }); + } + else + { + jQuery('.delibera-flow-panel').find('#delibera-flow-column2').find('input:not(input[type=button], input[type=submit], input[type=reset]), textarea, select').each(function(){ + if(this.name.indexOf('[') > -1) + { + if(data[this.name] == null) + { + data[this.name] = [[ + this.id, + this.value + ]]; + } + else + { + data[this.name].push([ + this.id, + this.value + ]); + } + } + else + { + data[this.name] = this.value; + } + }); + } + + jQuery.post( + delibera_admin_flow.ajax_url, + data, + function(response) { + if(response == 'ok') + alert("Saved"); + //window.location.reload(true); + else + alert("Errors"); + } + ); + }); +}); \ No newline at end of file diff --git a/css/fonts/fontello-55880ab6/LICENSE.txt b/css/fonts/fontello-55880ab6/LICENSE.txt new file mode 100644 index 0000000..2e7737a --- /dev/null +++ b/css/fonts/fontello-55880ab6/LICENSE.txt @@ -0,0 +1,30 @@ +Font license info + + +## Fontelico + + Copyright (C) 2012 by Fontello project + + Author: Crowdsourced, for Fontello project + License: SIL (http://scripts.sil.org/OFL) + Homepage: http://fontello.com + + +## Font Awesome + + Copyright (C) 2012 by Dave Gandy + + Author: Dave Gandy + License: SIL () + Homepage: http://fortawesome.github.com/Font-Awesome/ + + +## Entypo + + Copyright (C) 2012 by Daniel Bruce + + Author: Daniel Bruce + License: SIL (http://scripts.sil.org/OFL) + Homepage: http://www.entypo.com + + diff --git a/css/fonts/fontello-55880ab6/README.txt b/css/fonts/fontello-55880ab6/README.txt new file mode 100644 index 0000000..beaab33 --- /dev/null +++ b/css/fonts/fontello-55880ab6/README.txt @@ -0,0 +1,75 @@ +This webfont is generated by http://fontello.com open source project. + + +================================================================================ +Please, note, that you should obey original font licenses, used to make this +webfont pack. Details available in LICENSE.txt file. + +- Usually, it's enough to publish content of LICENSE.txt file somewhere on your + site in "About" section. + +- If your project is open-source, usually, it will be ok to make LICENSE.txt + file publicly available in your repository. + +- Fonts, used in Fontello, don't require a clickable link on your site. + But any kind of additional authors crediting is welcome. +================================================================================ + + +Comments on archive content +--------------------------- + +- /font/* - fonts in different formats + +- /css/* - different kinds of css, for all situations. Should be ok with + twitter bootstrap. Also, you can skip style and assign icon classes + directly to text elements, if you don't mind about IE7. + +- demo.html - demo file, to show your webfont content + +- LICENSE.txt - license info about source fonts, used to build your one. + +- config.json - keeps your settings. You can import it back into fontello + anytime, to continue your work + + +Why so many CSS files ? +----------------------- + +Because we like to fit all your needs :) + +- basic file, .css - is usually enough, it contains @font-face + and character code definitions + +- *-ie7.css - if you need IE7 support, but still don't wish to put char codes + directly into html + +- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face + rules, but still wish to benefit from css generation. That can be very + convenient for automated asset build systems. When you need to update font - + no need to manually edit files, just override old version with archive + content. See fontello source code for examples. + +- *-embedded.css - basic css file, but with embedded WOFF font, to avoid + CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain. + We strongly recommend to resolve this issue by `Access-Control-Allow-Origin` + server headers. But if you ok with dirty hack - this file is for you. Note, + that data url moved to separate @font-face to avoid problems with + + + + + + + +
+

+ delibera + font demo +

+ +
+
+
+
delibera-icon-spin20xe800
+
delibera-icon-ok0xe801
+
delibera-icon-plus0xe802
+
delibera-icon-print0xe803
+
+
+
delibera-icon-down-open0xe804
+
delibera-icon-left-open0xe805
+
delibera-icon-right-open0xe806
+
delibera-icon-up-open0xe807
+
+
+
delibera-icon-thumbs-up-alt0xe808
+
delibera-icon-thumbs-down-alt0xe809
+
delibera-icon-reply0xe80a
+
delibera-icon-trash0xe80b
+
+
+
delibera-icon-attach0xe80c
+
delibera-icon-users0xe80d
+
delibera-icon-chat0xe80e
+
delibera-icon-calendar0xe80f
+
+
+
delibera-icon-newspaper0xe810
+
delibera-icon-key0xe811
+
delibera-icon-cancel0xe812
+
+
+ + + \ No newline at end of file diff --git a/css/fonts/fontello-55880ab6/font/delibera.eot b/css/fonts/fontello-55880ab6/font/delibera.eot new file mode 100644 index 0000000..23556fb Binary files /dev/null and b/css/fonts/fontello-55880ab6/font/delibera.eot differ diff --git a/css/fonts/fontello-55880ab6/font/delibera.svg b/css/fonts/fontello-55880ab6/font/delibera.svg new file mode 100644 index 0000000..7de85f3 --- /dev/null +++ b/css/fonts/fontello-55880ab6/font/delibera.svg @@ -0,0 +1,48 @@ + + + +Copyright (C) 2016 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/css/fonts/fontello-55880ab6/font/delibera.ttf b/css/fonts/fontello-55880ab6/font/delibera.ttf new file mode 100644 index 0000000..f0e7298 Binary files /dev/null and b/css/fonts/fontello-55880ab6/font/delibera.ttf differ diff --git a/css/fonts/fontello-55880ab6/font/delibera.woff b/css/fonts/fontello-55880ab6/font/delibera.woff new file mode 100644 index 0000000..e9f0aff Binary files /dev/null and b/css/fonts/fontello-55880ab6/font/delibera.woff differ diff --git a/css/fonts/fontello-55880ab6/font/delibera.woff2 b/css/fonts/fontello-55880ab6/font/delibera.woff2 new file mode 100644 index 0000000..4175e73 Binary files /dev/null and b/css/fonts/fontello-55880ab6/font/delibera.woff2 differ diff --git a/delibera-edit-form-comment.php b/delibera-edit-form-comment.php index 096d167..ef759b1 100644 --- a/delibera-edit-form-comment.php +++ b/delibera-edit-form-comment.php @@ -1,17 +1,32 @@ + +