Skip to content

Instantly share code, notes, and snippets.

View igorsgm's full-sized avatar
👨‍💻
Staying hungry, staying foolish.

Igor Moraes igorsgm

👨‍💻
Staying hungry, staying foolish.
View GitHub Profile
@igorsgm
igorsgm / form.xml
Last active November 24, 2016 14:01
Filtros personalizados no componente
<field name="filter_evento" type="sql"
query="SELECT '' AS `id`, '- Selecionar Evento -' AS `val` UNION SELECT `id`, `nome` AS val FROM `#__eventos`"
key_field="id" value_field="val" class="inputbox" onchange="this.form.submit()" translate="true"/>
/**
* Função para setar elementos previamente selecionadas
*/
function setListsOfItem() {
js(document).one("ajaxStop", function () {
js('input:hidden.listas').each(function () {
var name = js(this).attr('name');
if (name.indexOf('listashidden')) {
js('#jform_listas option[value="' + js(this).val() + '"]').attr('selected', true);
}
@igorsgm
igorsgm / Criar string de chave,valor (array)
Created December 3, 2016 02:37
Função callback do array_map para transformar um array em string utilizando a chave e o valor, sem foreach
<?php
$myArray = array(1 => Igor, 2 => Moraes);
$string = array_map(function ($key, $value) {
return sprintf("('%s', '%s')", $key, $value);
}, array_keys($myArray), $myArray
);
var_dump($string); // (1, Igor), (2, Moraes)
@igorsgm
igorsgm / Substituir múltiplas strings em outra string
Created December 3, 2016 02:51
Substituirá os valores do primeiro array, pelos do segundo array (ordenadamente)
$novaString = str_replace(array('{subtag:mensagem_padrao}', '{subtag:mensagem_custom}'),
array($textoFixo, $textoPersonalizado), $minhaString);
@igorsgm
igorsgm / Marcar todas checkboxes de uma table
Created December 3, 2016 23:13
Ao clickar no checkbox #check_all irá marcar todos os checkboxes da table mais próxima
/**
* Ao clickar no checkbox #check_all irá marcar todos os checkboxes da table mais próxima
*/
js(document).on('click', '#check_all', function (e) {
var table = js(e.target).closest('table');
js('td input:checkbox', table).prop('checked', this.checked);
});
/**
* Marcar os Checkboxes anteriormente selecionados
*/
function markResourceColumns(columns) {
// Executando apenas uma vez a espera pela finalização dos ajax da página e assim marcar
js(document).one("ajaxStop", function () {
js.each(columns, function (i, val) {
js("input[value='" + val + "']").prop('checked', true);
});
});
@igorsgm
igorsgm / Carregar checkboxes.js
Created December 4, 2016 01:35
Exemplo de função que irá append checkboxes em um seletor específico
/**
* Carregar os checkboxes dos Resources (WS)
* @param data = as colunas da tabela, vindas do banco de dados
*/
function loadColumnsCheckboxes(data) {
clearSelectbox('#jform_columns', '---', '#jform_table');
columns = data.data[0];
if (columns == false) {
js("#jform_columns").append('<option value="">Unloaded data</option>');
} else {
@igorsgm
igorsgm / Triggers.sql
Created December 6, 2016 12:20
Exemplos de Triggers que irão popular a tabela `anmt_restful_extsender_logs` de acordo com o método (INSERT, UPDATE, DELETE) de alteração nas tabelas que estão sendo monitoradas, neste caso, a tabela `anmt_associados`. Infelizmente o MySQL não aceita Triggers para múltiplos métodos, por isso é necessário criar uma para cada função de CRUD.
/*Trigger para INSERT */
DELIMITER $$
CREATE TRIGGER onINSERTanmt_associados
AFTER UPDATE ON anmt_associados
FOR EACH ROW
BEGIN
IF ((SELECT `state` FROM anmt_restful_external_senders WHERE `table` = 'anmt_associados') = 1) THEN
INSERT INTO anmt_restful_extsender_logs (resource, id_resource_element, change_time, method, request_sent)
VALUES ('anmt_associados', NEW.id, NOW(), 'INSERT', 0);
END IF;
var str = 'Anamatra Eventos Conamat';
alert(str.replace(/\s/g," e "));
@igorsgm
igorsgm / Criar alias.php
Created December 12, 2016 20:49
Este código cria uma alias (para url amigável) da variável $string no Joomla
<?php JFilterOutput::stringURLSafe($string);