31
goffy
xoopsMailer and SMTP
  • 2022/11/19 13:28

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


Hi

is there somewhere a description where I can see how to setup xoopsMailer properly for using a SMTP mail account for sending mails?



32
goffy
Re: UpConstruction Bootstrap v5.2.2
  • 2022/10/24 6:40

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


looks great, thank you



33
goffy
Re: wgDiaries 1.03 RC1 ready for testing
  • 2022/10/17 15:44

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27





34
goffy
Re: How do i check a xoops smarty plugin exist ?
  • 2022/10/2 15:46

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


try

<{if xoStats|default:false}>



35
goffy
Next version of wgEvents
  • 2022/8/29 14:57

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


A new version of wgEvents is available now on https://github.com/XoopsModules25x/wgevents/releases

Some of new features since Alpha version:
- Usage of Google Maps to show marker for location
- Support of multiple fees for each event (e.g. different fees for child, adults,...)
- Sending mails by using a task handler (mails per hour can be defined)
- Ajax support for most used functions for event organizers (e.g. set status, confirm payment,...)
- Support of saving historical data (registrations, answers)
- Implementation of tablesorter
- Import of events from Apcal und ExtCal module

Full feature list you can find here: https://github.com/XoopsModules25x/wgevents#readme

I used the module already on a production site, therefore I know it is already very stable now.

But nevertheless, there is still space for improvements ;)

Issues and bug reports please here: https://github.com/XoopsModules25x/wgevents/issues



36
goffy
Re: no xoops in softaculous installer
  • 2022/8/29 11:54

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


Hi

as far as I see at softaculous itself it is available:
https://www.softaculous.com/softaculous/apps/cms/Xoops

But there is still XOOPS 2.5.10, as 2.5.11 is still Beta



37
goffy
Implement modal calculator
  • 2022/7/11 15:33

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


Hi to all

in my modul wgsimpleacc I had the request to implement a simple calculator (if e.g. someone wants to sum up various small bills).
my goal was to implement a modal version.
I played around a little bit and I found (IMO) a good solution for this feature, which I want to share with you, maybe you can also use it.

first of all I need the modal form:
<div class="modal fade" id="calcModal" tabindex="-1" role="dialog" aria-labelledby="calcModalLabel" aria-hidden="true">
    <
div class="modal-dialog" role="document">
        <
div class="modal-content">
            <
div class="modal-header">
                <
h4 class="modal-title" id="calcModalLabel"><{$smarty.const._MA_WGSIMPLEACC_CALC}>h4>
                <
button type="button" class="close" data-dismiss="modal" aria-label="<{$smarty.const._CLOSE}>">
                    <
span class="btn btn-danger" aria-hidden="true">&times;span>
                button>
            div>
            <
div id="modal-body" class="modal-body">
                <
div class="calculator">
                    <
input id="calc-screen" type="text" class="calculator-screen" value="" disabled />
                    <
div class="calculator-keys">
                        <
button type="button" class="btn btn-warning operator" value="+">+button>
                        <
button type="button" class="btn btn-warning operator" value="-">-button>
                        <
button type="button" class="btn btn-warning operator" value="*">&times;button>
                        <
button type="button" class="btn btn-warning operator" value="/">&divide;button>
                        <
button type="button" class="btn btn-primary digit" value="7">7button>
                        <
button type="button" class="btn btn-primary digit" value="8">8button>
                        <
button type="button" class="btn btn-primary digit" value="9">9button>
                        <
button type="button" class="btn btn-primary digit" value="4">4button>
                        <
button type="button" class="btn btn-primary digit" value="5">5button>
                        <
button type="button" class="btn btn-primary digit" value="6">6button>
                        <
button type="button" class="btn btn-primary digit" value="1">1button>
                        <
button type="button" class="btn btn-primary digit" value="2">2button>
                        <
button type="button" class="btn btn-primary digit" value="3">3button>
                        <
button type="button" class="btn btn-primary digit" value="0">0button>
                        <
button type="button" class="btn btn-primary decimal" value="."><{$sepComma}>button>
                        <
button type="button" class="btn btn-danger all-clear" value="all-clear">ACbutton>
                        <
button type="button" class="btn btn-warning equal-sign operator" value="=">=button>
                    div>
                div>
            div>
            <
div class="modal-footer">
                <
button id="btnApplyResult" type="button" class="btn btn-secondary btn-success" data-dismiss="modal"><{$smarty.const._MA_WGSIMPLEACC_CALC_APPLY}>button>
            div>
        div>
    div>
div>


additional to bootstrap I have added some style:
.calculator {
        
border1px solid #ccc;
        
border-radius5px;
        
width100%;
    }
    .
calculator-screen {
        
width100%;
        
font-size5rem;
        
height80px;
        
bordernone;
        
background-color#252525;
        
color#fff;
        
text-alignright;
        
padding-right20px;
        
padding-left10px;
    }
    
button {
        
height60px;
        
font-size24px !important;
    }
    .
equal-sign {
        
height100%;
        
grid-area5;
    }
    .
equal-sign:hover {
        
background-color#4e9ed4;
    
}
    .
calculator-keys {
        
displaygrid;
        
grid-template-columnsrepeat(41fr);
        
grid-gap20px;
        
padding20px;
    }


for calculation itself I have implemented following code, which can handle click and keydown events:
const calculator = {
        
displayValue'0',
        
firstOperandnull,
        
waitingForSecondOperandfalse,
        
operatornull,
    };

    
//Manage Operators
    
const performCalculation = {
        
'+': (firstOperandsecondOperand) => firstOperand secondOperand,
        
'-': (firstOperandsecondOperand) => firstOperand secondOperand,
        
'*': (firstOperandsecondOperand) => firstOperand secondOperand,
        
'/': (firstOperandsecondOperand) => firstOperand secondOperand,
        
'=': (firstOperandsecondOperand) => secondOperand
    
};

    function 
inputDigit(digit) {
        const {
            
displayValue,
            
waitingForSecondOperand
        
} = calculator;

        if (
waitingForSecondOperand === true) {
            
calculator.displayValue digit;
            
calculator.waitingForSecondOperand false;
        } else {
            
calculator.displayValue displayValue === '0' digit displayValue digit;
        }

        
console.log(calculator);
    }

    function 
inputDecimal(dot) {
        
// If the `displayValue` does not contain a decimal point
        
if (!calculator.displayValue.includes(dot)) {
            
// Append the decimal point
            
calculator.displayValue += dot;
        }
    }

    function 
handleOperator(nextOperator) {
        const {
            
firstOperand,
            
displayValue,
            
operator
        
} = calculator
        
const inputValue parseFloat(displayValue);

        if (
operator && calculator.waitingForSecondOperand) {
            
calculator.operator nextOperator;
            
console.log(calculator);
            return;
        }

        if (
firstOperand == null) {
            
calculator.firstOperand inputValue;
        } else if (
operator) {
            const 
currentValue firstOperand || 0;
            const 
result performCalculation[operator](currentValueinputValue);

            
calculator.displayValue String(result.toFixed(2));
            
calculator.firstOperand result;
        }

        
calculator.waitingForSecondOperand true;
        
calculator.operator nextOperator;
        
console.log(calculator);
    }

    function 
updateDisplay() {
        const 
display document.querySelector('.calculator-screen');
        
display.value calculator.displayValue;
    }
    function 
resetCalculator() {
        
calculator.displayValue '0';
        
calculator.firstOperand null;
        
calculator.secondOperand null;
        
calculator.currentValue 0;
        
calculator.waitingForSecondOperand false;
    }

    
updateDisplay();

    
//code for button clicks
    
const keys document.querySelector('.calculator-keys');
    
keys.addEventListener('click', (event) => {
        const {
            
target
        
} = event;
        if (!
target.matches('button')) {
            return;
        }
        if (
target.classList.contains('operator')) {
            
handleOperator(target.value);
            
updateDisplay();
            return;
        }
        if (
target.classList.contains('decimal')) {
            
inputDecimal(target.value);
            
updateDisplay();
            return;
        }
        if (
target.classList.contains('all-clear')) {
            
resetCalculator();
            
updateDisplay();
            return;
        }
        
inputDigit(target.value);
        
updateDisplay();
    });

    
//code for keydown events
    
document.getElementById("calcModal").addEventListener('keydown', function(event) {
        var 
key event.key.toString();

        if (
key == '<{$sepComma}>') {
            
inputDecimal('.');
            
updateDisplay();
            return;
        }
        if (
key == '+' || key == '-' || key == '/' || key == '*') {
            
handleOperator(event.key);
            
updateDisplay();
            return;
        }
        if (
key == 'Enter') {
            
handleOperator('=');
            
updateDisplay();
            return;
        }
        if (
key == 'Delete') {
            
resetCalculator();
            
updateDisplay();
            return;
        }
        if (
key == '0' || key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9') {
            
//alculator.waitingForSecondOperand = false;
            
inputDigit(event.key);
            
updateDisplay();
            return;
        }
        if (
key == '<{$sepThousand}>') {
            
//ignore thousands
            
return;
        }
        
//alert($key);
    
}, true);

    
//code for applying result to field of calling form
    
$(function () {
        $(
"#btnApplyResult").click(function () {
            const 
display document.querySelector('.calculator-screen');
            
$result display.value;
            
$result $result.replace(".""<{$sepComma}>");
            
document.getElementById("tra_amount").value $result;
        });
    });


finally in my form I added a button to call the modal form:
$traAmountTray = new XoopsFormElementTray(_MA_WGSIMPLEACC_TRANSACTION_AMOUNT' ');
        
$traAmountTray->addElement(new XoopsFormText('''tra_amount'20150$traAmount));
        
$button = new XoopsFormButton('''calcAmount'_MA_WGSIMPLEACC_CALCULATOR);
        
$button->setExtra('onclick="$('#calcModal').modal();"');
        
$traAmountTray->addElement($button);
        
$form->addElement($traAmountTray);



have fun



38
goffy
Re: Login Block does not work
  • 2022/7/1 8:16

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


hi
for me the same
the login with nav menu works, with right block not



39
goffy
Re: Problems installing wgEvent 1.0.0 Alpha 1
  • 2022/6/25 6:10

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


sorry, yes, you are right and I found it.
please retry and report any findings and/or your option, your wishes and so on



40
goffy
Re: Problems installing wgEvent 1.0.0 Alpha 1
  • 2022/6/24 19:10

  • goffy

  • Just can't stay away

  • Posts: 539

  • Since: 2010/12/27


hi
the bug with the wrong link in the block I have fixed

the error in minicalendar I cant reproduce. in which file/line does it occur?




TopTop
« 1 2 3 (4) 5 6 7 ... 43 »



Login

Who's Online

137 user(s) are online (36 user(s) are browsing Support Forums)


Members: 0


Guests: 137


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Sep 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits