 Total enjoyment killer.
Zhoonstagram is a new revolutionary app that completely changes how you view pigeons. The app uses advanced algorithms and machine learning to determine is the image you are trying to post, an image of a pigeon. Or something booring, like food or lifestyle.


real
Some simple functions for log operations.::logSub
(real log_a,
real log_b)
logSub(log_a,log_b) = log(a-b)
Documentation
logSub(log_a,log_b) = log(a-b)
Alphabetic index
HTML hierarchy of classes
or
Java
This page was generated with the help of
DOC++
.


IA – Sen. Chuck Grassley (R) and Sen. Joni Ernst (R)
Committees
Chuck Grassley is not on any of our key committees.
Joni Ernst is not on any of our key committees.
HEP Grants
In the past 8 years, this state has received: 44 HEP grants, totalling $11,058,632
Institution Amount ($)
----------------------------------------------- ------------
Iowa State University of Science and Technology 4,949,632
University of Iowa 2,958,000
IOWA STATE UNIVERSITY 2,037,000
UNIVERSITY OF IOWA 1,114,000
SC Contracts
In the past 8 years, this state has received: 2 Office of Science contracts, totalling $406,626,657
Year Vendor Amount ($) Item
------ ------------------------------------------ ------------ ----------------------------------------
2019 IOWA STATE UNIVERSITY EQUITIES CORPORATION 15,037,310 OPER OF GOVT R&D GOCO FACILITIES
2018 IOWA STATE UNIVERSITY EQUITIES CORPORATION 61,478,835 OPER OF GOVT R&D GOCO FACILITIES
2017 IOWA STATE UNIVERSITY EQUITIES CORPORATION 60,308,158 OPER OF GOVT R&D GOCO FACILITIES
2016 IOWA STATE UNIVERSITY EQUITIES CORPORATION 61,876,446 OPER OF GOVT R&D GOCO FACILITIES
2015 IOWA STATE UNIVERSITY EQUITIES CORPORATION 53,582,329 OPER OF GOVT R&D GOCO FACILITIES
2014 IOWA STATE UNIVERSITY EQUITIES CORPORATION 52,084,624 OPER OF GOVT R&D GOCO FACILITIES
2013 IOWA STATE UNIVERSITY EQUITIES CORPORATION 64,291,258 OPER OF GOVT R&D GOCO FACILITIES
2012 ATRIUM HOTELS, L.P. 4,200 EDUCATION/TRAINING- VOCATIONAL/TECHNICAL
2012 IOWA STATE UNIVERSITY EQUITIES CORPORATION 37,963,497 OPER OF GOVT R&D GOCO FACILITIES
NSF MPS Grants
In the past 8 years, this state has received: 278 NSF MPS grants, totalling $46,305,966
Institution Amount ($)
----------------------------------------------- ------------
UNIVERSITY OF IOWA, THE 17,814,002
IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 16,209,193
IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLOGY 6,082,297
COE COLLEGE 1,661,253
IOWA STATE UNIVERSITY 1,374,966
TRUSTEES OF GRINNELL COLLEGE, THE 972,297
UNIVERSITY OF NORTHERN IOWA 769,258
DRAKE UNIVERSITY 695,989
LUTHER COLLEGE 231,700
UNIVERSITY OF IOWA 231,500
NORTHWESTERN COLLEGE 121,825
UNI 86,001
DORDT COLLEGE, INCORPORATED 55,685
SULI/CCI Interns
From 2014-2016 (only years available), this state had 44 SULI/CCI interns
# Interns Program College
----------- --------- ---------------------------------
28 SULI Iowa State University
5 SULI University of Iowa
3 SULI Grinnell College
3 SULI University of Northern Iowa
2 CCI Des Moines Area Community College
2 SULI Coe College
1 SULI Drake University
IA-01 – Rep. Abby Finkenauer (D) – Wikipedia
Committees
Abby Finkenauer is not on any of our key committees.
HEP Grants
This district received no SC HEP grants from 2012-2019
SC Contracts
This district received no SC contracts from 2012-2019
NSF MPS Grants
In the past 8 years, this district has received: $3,211,989 in NSF MPS grants.
Year Institution Amount ($)
------ --------------------------------- ------------
2019 TRUSTEES OF GRINNELL COLLEGE, THE 484,300
2018 COE COLLEGE 155,248
2018 LUTHER COLLEGE 54,475
2017 COE COLLEGE 278,776
2017 LUTHER COLLEGE 47,838
2017 TRUSTEES OF GRINNELL COLLEGE, THE 487,997
2017 UNIVERSITY OF NORTHERN IOWA 169,334
2016 UNIVERSITY OF NORTHERN IOWA 240,509
2015 LUTHER COLLEGE 43,209
2015 UNI 86,001
2014 COE COLLEGE 707,877
2014 UNIVERSITY OF NORTHERN IOWA 74,014
2013 COE COLLEGE 97,010
2013 UNIVERSITY OF NORTHERN IOWA 195,401
2012 UNIVERSITY OF NORTHERN IOWA 90,000
SULI/CCI Interns
From 2014-2016 (only years available), this district had 8 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------ --------------------------- ------------------------------------ ---------
Summer 2016 Henry Nelson Grinnell College Brookhaven National Laboratory SULI
Summer 2016 Heather N Ruiz Coe College Argonne National Laboratory SULI
Summer 2016 Madison Danell Fellows Grinnell College National Renewable Energy Laboratory SULI
Summer 2016 Lucas Paul Beving University of Northern Iowa Princeton Plasma Physics Laboratory SULI
Summer 2015 Corey Cooling University of Northern Iowa Ames National Laboratory SULI
Summer 2014 Kyle Spurgeon University of Northern Iowa Argonne National Laboratory SULI
Summer 2014 Maureen Judith Salisbury Coe College Argonne National Laboratory SULI
Summer 2014 James Pollock Grinnell College SLAC National Accelerator Laboratory SULI
IA-02 – Rep. David Loebsack (D) – Wikipedia
Committees
David Loebsack is the #17 Democrat on the House Committee on Energy and Commerce
HEP Grants
In the past 8 years, this district has received: $4,072,000 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
------------------ ------------ ------- ------- ------------------------ ---------------------------------------------------------------------------------------
University of Iowa 566,000 2018 Ongoing Meurice, Yannick Foundations of Quantum Computing for Gauge Theories and Quantum Gravity
University of Iowa 1,617,000 2015 Ongoing Nachtman, Jane High Energy Experimental and Theoretical Physics Research at the University of Iowa
University of Iowa 368,000 2014 2016 Mallik, Usha To Continue to Explore the Energy Frontier with the ATLAS Detector
University of Iowa 192,000 2014 2016 Meurice, Yannick Research in Lattice Gauge Theory and in the Phenomenology of Neutrinos and Dark Matter
University of Iowa 215,000 2014 2015 Onel, Yasar CMS Physics Research and Upgrades for the Energy Frontier
UNIVERSITY OF IOWA 154,000 2013 2014 Mallik To Continue to Explore the Energy Frontier with the ATLAS Detector
UNIVERSITY OF IOWA 99,000 2013 2014 Meurice Research in Lattice Gauge Theory and in the Phenomenology of Neutrinos and Dark Matter
UNIVERSITY OF IOWA 195,000 2013 2014 Onel CMS Physics Research and Upgrades for the Energy Frontier
UNIVERSITY OF IOWA 622,000 2012 2014 Mallik High Energy Physics
UNIVERSITY OF IOWA 40,000 2012 2013 Meurice Infrared Fixed Points in Multiflavor Lattice Gauge Theory
UNIVERSITY OF IOWA 4,000 2012 2014 Onel Secondary Emission Sampling Calorimetry Sensor Development
SC Contracts
This district received no SC contracts from 2012-2019
NSF MPS Grants
In the past 8 years, this district has received: $18,467,844 in NSF MPS grants.
Year Institution Amount ($)
------ ----------------------- ------------
2018 UNIVERSITY OF IOWA, THE 1,870,558
2017 UNIVERSITY OF IOWA, THE 3,089,268
2016 UNIVERSITY OF IOWA, THE 1,073,429
2015 UNIVERSITY OF IOWA 231,500
2015 UNIVERSITY OF IOWA, THE 1,517,853
2014 UNIVERSITY OF IOWA, THE 3,345,190
2013 UNIVERSITY OF IOWA, THE 3,102,437
2012 COE COLLEGE 422,342
2012 UNIVERSITY OF IOWA, THE 3,815,267
SULI/CCI Interns
From 2014-2016 (only years available), this district had 5 SULI/CCI interns
Term Name College Host Lab Program
----------- ----------------- ------------------ ------------------------------ ---------
Summer 2016 Daniel Davies University of Iowa Argonne National Laboratory SULI
Summer 2015 Daniel Davies University of Iowa Brookhaven National Laboratory SULI
Summer 2015 Matt Sean Johnson University of Iowa Argonne National Laboratory SULI
Summer 2014 Matt Sean Johnson University of Iowa Argonne National Laboratory SULI
Spring 2016 Keith Vidal University of Iowa Oak Ridge National Laboratory SULI
IA-03 – Rep. Cynthia Axne (D) – Wikipedia
Committees
Cynthia Axne is not on any of our key committees.
HEP Grants
This district received no SC HEP grants from 2012-2019
SC Contracts
In the past 8 years, this district has received: 1 Office of Science contracts, totalling $4,200
Year Vendor Amount ($) Item
------ ------------------- ------------ ----------------------------------------
2012 ATRIUM HOTELS, L.P. 4,200 EDUCATION/TRAINING- VOCATIONAL/TECHNICAL
NSF MPS Grants
In the past 8 years, this district has received: $695,989 in NSF MPS grants.
Year Institution Amount ($)
------ ---------------- ------------
2018 DRAKE UNIVERSITY 100,000
2017 DRAKE UNIVERSITY 33,999
2015 DRAKE UNIVERSITY 72,465
2014 DRAKE UNIVERSITY 90,000
2013 DRAKE UNIVERSITY 224,374
2012 DRAKE UNIVERSITY 175,151
SULI/CCI Interns
From 2014-2016 (only years available), this district had 3 SULI/CCI interns
Term Name College Host Lab Program
----------- ----------------- --------------------------------- ----------------------------- ---------
Summer 2016 Lucas J Rozendaal Des Moines Area Community College Ames National Laboratory CCI
Summer 2015 Joel Aaron Venzke Drake University Oak Ridge National Laboratory SULI
Summer 2015 Daniel Bouk Des Moines Area Community College Ames National Laboratory CCI
IA-04 – Rep. Steve King (R) – Wikipedia
Committees
Steve King is not on any of our key committees.
HEP Grants
In the past 8 years, this district has received: $6,986,632 in SC HEP grants.
Institution Amount ($) Start End Principal Investigator Project Title
----------------------------------------------- ------------ ------- ------- ------------------------ ---------------------------------------------------------------------------------------------------------
Iowa State University of Science and Technology 420,632 2018 Ongoing Sanchez, Mayly Accelerator Neutrino Neutron Interaction Experiment (ANNIE) Physics Phase
Iowa State University of Science and Technology 225,000 2017 Ongoing Wetstein, Matthew Understanding Critical Systematics on Neutrino Oscillation Experiments from Neutrino-Nucleus Interactions
Iowa State University of Science and Technology 1,295,000 2016 Ongoing Sanchez, Mayly Experimental Research at the Intensity Frontier and the Cosmic Frontier in High Energy Physics
Iowa State University of Science and Technology 150,000 2016 2018 Sanchez, Mayly The Accelerator Neutrino Neutron Interaction Experiment (ANNIE)
Iowa State University of Science and Technology 2,314,000 2014 Ongoing Cochran, James Investigations in Experimental and Theoretical High Energy Physics
Iowa State University of Science and Technology 360,000 2014 2016 Krennrich, Frank Investigations in Gamma Ray Astrophysics and Astroparticle Physics
Iowa State University of Science and Technology 185,000 2014 2017 Sanchez, Mayly Neutrino Physics in the NOvA Experiment
IOWA STATE UNIVERSITY 462,000 2013 2014 Cochran Investigations in Experimental and Theoretical High Energy Physics
IOWA STATE UNIVERSITY 170,000 2013 2014 Krennrich Investigations in Gamma Ray Astrophysics and Astroparticle Physics
IOWA STATE UNIVERSITY 55,000 2012 2013 Chen Test the Standard Model Using Boosted W/Z bosons and D* Jets at the ATLAS Experiment
IOWA STATE UNIVERSITY 1,208,000 2012 2014 Krennrich, Cochran Investigations in Experimental and Theoretical High Energy Physics
IOWA STATE UNIVERSITY 142,000 2012 2014 Sanchez Neutrino Physics in the NOvA Experiment
SC Contracts
In the past 8 years, this district has received: 1 Office of Science contracts, totalling $406,622,457
Year Vendor Amount ($) Item
------ ------------------------------------------ ------------ --------------------------------
2019 IOWA STATE UNIVERSITY EQUITIES CORPORATION 15,037,310 OPER OF GOVT R&D GOCO FACILITIES
2018 IOWA STATE UNIVERSITY EQUITIES CORPORATION 61,478,835 OPER OF GOVT R&D GOCO FACILITIES
2017 IOWA STATE UNIVERSITY EQUITIES CORPORATION 60,308,158 OPER OF GOVT R&D GOCO FACILITIES
2016 IOWA STATE UNIVERSITY EQUITIES CORPORATION 61,876,446 OPER OF GOVT R&D GOCO FACILITIES
2015 IOWA STATE UNIVERSITY EQUITIES CORPORATION 53,582,329 OPER OF GOVT R&D GOCO FACILITIES
2014 IOWA STATE UNIVERSITY EQUITIES CORPORATION 52,084,624 OPER OF GOVT R&D GOCO FACILITIES
2013 IOWA STATE UNIVERSITY EQUITIES CORPORATION 64,291,258 OPER OF GOVT R&D GOCO FACILITIES
2012 IOWA STATE UNIVERSITY EQUITIES CORPORATION 37,963,497 OPER OF GOVT R&D GOCO FACILITIES
NSF MPS Grants
In the past 8 years, this district has received: $23,930,144 in NSF MPS grants.
Year Institution Amount ($)
------ ----------------------------------------------- ------------
2019 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLOGY 144,042
2018 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLOGY 2,127,610
2017 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLOGY 3,810,645
2017 NORTHWESTERN COLLEGE 121,825
2016 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 3,908,510
2015 IOWA STATE UNIVERSITY 1,254,966
2015 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 2,315,131
2014 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 3,301,295
2013 DORDT COLLEGE, INCORPORATED 55,685
2013 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 4,164,061
2013 LUTHER COLLEGE 52,163
2012 IOWA STATE UNIVERSITY 120,000
2012 IOWA STATE UNIVERSITY OF SCIENCE AND TECHNOLO 2,520,196
2012 LUTHER COLLEGE 34,015
SULI/CCI Interns
From 2014-2016 (only years available), this district had 28 SULI/CCI interns
Term Name College Host Lab Program
----------- ------------------------- --------------------- ------------------------------------- ---------
Summer 2016 Lipin (Ivy) Wu Iowa State University Ames National Laboratory SULI
Summer 2016 Jeffrey Neel Iowa State University Argonne National Laboratory SULI
Summer 2016 Curt William Waltmann Iowa State University Ames National Laboratory SULI
Summer 2016 Kirk Rudolph Iowa State University Ames National Laboratory SULI
Summer 2016 Jessica Lauren Przybylski Iowa State University Ames National Laboratory SULI
Summer 2016 John Guss Iowa State University Ames National Laboratory SULI
Summer 2016 Iver John Cleveland Iowa State University Ames National Laboratory SULI
Summer 2015 Robert Bromberek Iowa State University Argonne National Laboratory SULI
Summer 2015 Lipin (Ivy) Wu Iowa State University Ames National Laboratory SULI
Summer 2015 Kristi Michelle Short Iowa State University Ames National Laboratory SULI
Summer 2015 Brad James Ryan Iowa State University Ames National Laboratory SULI
Summer 2015 Christian Edward Pinnell Iowa State University Ames National Laboratory SULI
Summer 2015 Jacinta Priya Misra Iowa State University Ames National Laboratory SULI
Summer 2015 Nicole Jandick Iowa State University Ames National Laboratory SULI
Summer 2015 Jeffrey Gustafson Iowa State University Ames National Laboratory SULI
Summer 2015 Payton James Goodrich Iowa State University Ames National Laboratory SULI
Summer 2015 Brian Matthew Fuchs Iowa State University Pacific Northwest National Laboratory SULI
Summer 2014 Eric Schultz Iowa State University Ames National Laboratory SULI
Summer 2014 Andrew Gulstad Iowa State University Ames National Laboratory SULI
Summer 2014 Joshua David Bill Iowa State University Ames National Laboratory SULI
Summer 2014 Robert Bromberek Iowa State University Argonne National Laboratory SULI
Spring 2016 Timothy Hackett Iowa State University Ames National Laboratory SULI
Spring 2016 Adam Dziulko Iowa State University Lawrence Berkeley National Laboratory SULI
Spring 2014 Kelsie Marie Pugh Iowa State University Ames National Laboratory SULI
Spring 2014 Chloe McPherson Iowa State University Ames National Laboratory SULI
Spring 2014 William Robin Lindemann Iowa State University Ames National Laboratory SULI
Spring 2014 Jacob Terrence Brenneman Iowa State University National Renewable Energy Laboratory SULI
Fall 2015 Adam Dziulko Iowa State University Ames National Laboratory SULI


Ryan's team is looking more and more like the real deal every week. That's why his rick is the real OG Rick. Can anyone beat him? I think so, but maybe he will prove me wrong.
Joey's team is also looking like the real deal, but it's not. That's why he gets Rick C-132, the Rick that we saw in a few episodes in the 2nd season. It's the alternate rick. We'll see if his team can keep performing in this week's game of the week.
Look at me! I'm Tiny Rick!!!! My team is on the uprising, with a couple solid weeks.
Brendan is 4-1 with a couple easy wins under his belt. He's also in the Navy so I was obligated to give him SEAL Team Ricks. Brendan's team could shape up to be decent, and make a run in the playoffs.
 Fife's team is pretty decent, as is the simple life.
Morty Rick is combo of Rick and Morty, just like Dexy's team is a combo of a good and a bad team. A couple solid wins, and a rough loss last week. As the season progresses, Will Dexy's team turn into a Rick team, or a Morty team? I'm not sure.
Kevin's team had its first Win last week, and scored the most points. Just goes to show, that anyone can get lucky, like Rick D. Sanchez III. Although he is only 1-4, if Deshaun Watson can keep his team afloat, he may end up making the playoffs.
Dropping dow 5 spots from the #3 spot is about as bad as being Cronenberg Rick. Just messed up beyond recognition, like Eric's team. There's no turning around at this point. His team will likely live happily ever after in mediocrity.
 Just like the Council of Ricks, who seem to "not get it"; David does not seem to "get" fantasy football. He's also in law school and was in student "council", so it's obvious that he's Council of Ricks.
Luke's team can't catch a break. Overall not that bad of a performance week after week, but 1-4 does not get you into the playoffs. Evil Rick fits his team as Evil Rick did not make it out of the episde, as Luke's team will not make the playoffs.
Yet again another sub-par team. Last week, KC's team did not show up. She must've felt like Doofus Rick her team's performance this week. I would rank her last after looking at her roster, but Nick's team is even worse. Hopefully, she can turn around her season with some waiver wire pick ups, but everyone knows only doofus' are left on the wire.
Nick's team is god awful. Just like the idea of pickle rick was. There is no hope for is team, as is there no hope for Pickle Rick to be funny. He would probably be better off just giving up and selling some of his players under the table for bad trades. That's the only way nick will make any money off of this team.


PHP Dynamic Qr code - Generator of dynamic and static Qr code V1.0
Documentation - Version 1.0 / Created: 24/08/2020 Last Update:About PHP Dynamic Qr code
PHP Dynamic Qr code is a script that allows the generation and saving of dynamic and static QR codes. It has clean, responsive and user-friendly design. It is Based on AdminLte the "Best open source admin dashboard & control panel theme. Built on top of Bootstrap" and Core PHP Admin Panel, a simple Admin Pannel written in core PHP that contains an implementation of general features you might need in your website admin panel like: record management (CRUD), secure authentication, pagination, filters.
N.B. A careful reading of this documentation is recommended to fully understand how the script works.
What is a dynamic qr code
A Dynamic QR code has a modifiable destination URL.
A Short URL is placed into the QR code which then transparently re-directs the user to the intended destination. The destination of a dynamic QR code can be changed at any time and as often as you want – even if your marketing material has already been printed. This will save reprinting costs, effort and enable you to respond to any changes in the campaign as quickly as possible.
What is a static qr code
A Static QR code has a fixed destination URL.
The information encoded in static QR codes are fixed. The destination/data is stored directly in the QR Code graphic (hence QR codes are also getting larger and form a more complex pattern if there is more data to store). Therefore, the stored destination/data cannot be changed. Any typo in an already printed QR code cannot be changed, as with any other printed material. Through this script you can create 13 different types of static qr code.
Installation
Follow these steps to install the script:
- Extract the zip archive to your server
- Open the /install/ folder in the browser
- Check folder permissions
- Enter your database credentials. Click next.
- Finish
Check system requirements. If one of these extensions is not enabled, you must enable it from your server settings. If all requirements are provided, click Next.
If a folder doesn't have read and write permissions you need to change the settings on your server. If all requirements are provided, click Next.
The installation is finished and you can access the control panel.
Frontend Files Structure
a) CSS Files
- dist/css/adminlte.min.css Contains general css codes for admin panel
- dist/css/alt folder Contains additional styles files
- plugins/fontawesome-free/css/all.min.css Contains css of fontawesome
- plugins/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css Contains css of color picker input data
- plugins/daterangepicker/daterangepicker.css Contains css of daterange input data
- plugins/overlayScrollbars/css/OverlayScrollbars.css Contains css of the scrollbar relating to template customization (top right)
b) JS Files
- dist/js/adminlte.js Contains general js codes for admin panel
- dist/js/custom.js Contains custom js code for front-end
- build/ folder Contains general dashboard script codes
c) Plugins used in application
- Bootstrap The world’s most popular front-end open source toolkit
- Bootstrap colorpicker Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4
- Chart JS Simple yet flexible JavaScript charting for designers & developers
- Date Range Picker A JavaScript component for choosing date ranges, dates and times
- Fontawesome The world's most popular and easiest to use icon set just got an upgrade
- jQuery jQuery is a JavaScript library that greatly reduces the amount of code that you must write
- jQueryUI jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library
- jQuery Validation This jQuery plugin makes simple clientside form validation easy
- Moment JS Moment will still create a moment global, which is useful to plugins and other
- Overlay Scrollbars A JavaScript scrollbar plugin which hides native scrollbars and provides custom styleable overlay scrollbars
Backend Files Structure
- config
- config.php
- forms
- static
- bitcoin.php
- bookmark.php
- country-code.html
- email.php
- event.php
- location.php
- paypal.php
- phone.php
- skype.php
- sms.php
- text.php
- vcard.php
- whatsapp.php
- wifi.php
- dynamic_table.php
- static_table.php
- users_table.php
- add_dynamic_form.php
- add_static_form.php
- edit_dynamic_form.php
- edit_static_form.php
- users_form.php
- filters.php
- logo.php
- qrcode_options.php
- static
- helpers
- helpers.php
- includes
- head.php
- footer.php
- navbar.php
- sidebar.php
- search_order.php
- auth_validate.php
- flash_messages.php
- lib
- MysqliDb
- MysqliDb.php
- Dynamic_Qrcode
- Dynamic_Qrcode.php
- Static_Qrcode
- Static_Qrcode.php
- Users
- Users.php
- vCard
- vCard.php
- ICS
- ICS.php
- MysqliDb
- saved_qrcode
- index.php
- login.php
- logout.php
- authenticate.php
- dynamic_qrcodes.php
- static_qrcodes.php
- admin_users.php
- add_dynamic.php
- add_static.php
- add_admin.php
- edit_dynamic.php
- edit_static.php
- edit_admin.php
- delete_dynamic.php
- delete_static.php
- delete_users.php
a) Open source libraries used
- MysqliDb Simple MySQLi wrapper and object mapper with prepared statements
- vCard Qr code This class allows to easily generate a simple QR code using vCard 4.0
- PHP to ICS A convenient script to generate iCalendar (.ics) files on the fly in PHP
Database Structure
a) dynamic_qrcodes
- `id` -- int -- primary key -- auto increment
- `filename` -- varchar
- `format` -- varchar
- `identifier` -- longtext
- `link` -- varchar
- `qrcode` -- varchar
- `scan` -- varchar
- `state` -- varchar -- default: enable
- `created_by` -- int
- `created-at` -- timestamp
b) static_qrcodes
- `id` -- int -- primary key -- auto increment
- `filename` -- varchar
- `format` -- varchar
- `type` -- varchar
- `content` -- mediumtext
- `qrcode` -- varchar
- `state` -- varchar
- `state` -- varchar -- default: enable
- `created_by` -- int
- `created-at` -- timestamp
b) admin_accounts
- `id` -- int -- primary key -- auto increment
- `user_name` -- varchar
- `password` -- varchar
- `series_id` -- varchar
- `remember_token`-- mediumtext
- `expires` -- datetime
- `admin_type` -- varchar
In this script we use the open source MysqliDb library. It is a very large library, however this script only needs the simplest functions.
The configuration file for the database (and more) is located in /config/config.php and it is included in all php files of this script. To interact with the database, therefore, it will be necessary to call the function: getDbInstance().
MysqliDb class methods used:
query() : A method to perform select query, return array. Contains the returned rows from the query, LINE 646
getValue() : A convenient SELECT COLUMN function to get a single column value from one row, return array of values, LINE 787
insert() : Insert method to add new row, LINE 818
update() : Update query that need first where() method, LINE 905
where() : This method allows you to specify multiple (method chaining optional) AND WHERE statements for SQL queries, LINE 969
orWhere() : This method allows you to specify multiple (method chaining optional) OR WHERE statements for SQL queries, LINE 1012
orderBy() : This method allows you to specify multiple (method chaining optional) ORDER BY statements for SQL queries, LINE 1229
getLastError() : Method returns mysql error, LINE 2079
paginate() : Pagination wrapper to get(), LINE 2401
Script Structure
- General
- Qr code and Admin users
The optimization work has produced a script consisting of modules (php pages) with a similar macro-structure to each other. All pages include the config.php file which in turn includes the helpers.php file and the MysqliDb class and the auth_validation.php file which takes care of verifying on each page that the user is logged in (read authentication types).
/*This file is generated after the script installation wizard and contains some constants used throughout the script as well as database credentials.*/ //Get current page: define('CURRENT_PAGE', basename($_SERVER['REQUEST_URI'])); //You can change the folder where the qr code will be saved: define('PATH', './saved_qrcode/'); //The directory includes the full path needed by the server (Apache). You can test by printing it. define('DIRECTORY', BASE_PATH.'/saved_qrcode/'); //You can change the page name for the redirect and the search parameter (the default is "id"): define('READ_PATH', $_SERVER['HTTP_HOST'].'/read.php?id='); require_once BASE_PATH . '/lib/MysqliDb/MysqliDb.php'; require_once BASE_PATH . '/helpers/helpers.php'; define('DB_HOST', "%HOST%"); define('DB_USER', "%USER%"); define('DB_PASSWORD', "%PASSWORD%"); define('DB_NAME', "%DB_NAME%"); /** * Get instance of DB object */ function getDbInstance() { return new MysqliDb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); }
As for the HTML structure, all pages start by including the head.php page which contains the entire head tag, the navbar.php page, the sidebar.php page. There is a header with the page title and then the different main content for each page. Finally, each page includes the footer.php file with the required js scripts; some pages have additional js scripts needed As specified at the beginning, the frontend part of this script is done with AdminLTE (Bootstrap). We therefore recommend reading the official documentation to fully understand the HTML structure.
The dashboard page has a separate structure, while the dynamic qr codes, static qr codes and users sections have a very similar structure to each other.
List all page (the same for all 3 sections)
├─ *page_name*.php
├─ ├─ includes/flash_messages.php
├─ ├─ includes/filters.php
├─ ├─ forms/*name*_table.php
The following shows which files are included in the management pages (add, edit, delete) of the 3 sections:
Dynamic qr codes section
├─ add_dynamic.php
├─ ├─ forms/add_dynamic_form.php
├─ edit_dynamic.php
├─ ├─ forms/edit_dynamic_form.php
├─ delete_dynamic.php
Static qr codes section
├─ add_static.php
├─ ├─ forms/add_static_form.php
├─ ├─ ├─ forms/static/*type*.php example: text.php
├─ ├─ ├─ ├─ forms/qrcode_options.php
├─ edit_static.php
├─ ├─ forms/edit_static_form.php
├─ delete_static.php
Admin section
├─ add_admin.php
├─ ├─ forms/users_form.php
├─ edit_admin.php
├─ ├─ forms/users_form.php
├─ delete_user.php
This script is designed as OOP as possible. Therefore, all QR code management operations are performed using classes and methods. There are 3 classes for 3 sections (dynamic, static, users).
All 3 have the same macrostructure. Below there is the explanation of only the two classes (dynamic, static). Within the explanations for the classes I do not write the entire code but I limit myself only to indicate a clear reference.
N.B. Some functions are not mentioned or explained in detail because there are adequate comments inside the class file.
How authentication works
There are two levels of authentication: admin and superadmin. The difference between the two is that the admin level cannot add or delete qr code. It is enabled to consult and modify the QR code already created. At installation time there is only one default superadmin user that it is recommended to change.
This script adopts a "simple" but secure authentication method also with the aid of COOKIES to memorize the user's access and two pages for login and logout are included, moreover, most of the operations take place through external functions located in the helpers.php file.
Dynamic Qr code class
a) private functions
-
collect()
Dynamic_Qrcodes.php - collect()/*It is a function called by add() and by edit() which allows you to initially store common data for both insertion and modification. For this class these data are: */ $data_to_db['filename']; $data_to_db['created_at']; $data_to_db['link']; //the function returns an array with the results which will be expanded later by the add() and edit() functions with additional specific data: return $data_to_db; - setOptions()
- addLogo()
- failure()
- success()
- info()
b) public functions
- setOrderingValues()
-
add()
Dynamic_Qrcodes.php - add()//We collect all the data necessary for the database and to build the qr code in this array: $data_to_db //We collect all the additional options for the qr code through the setOptions() method in this array: $options /*If in the folder where we save the qr code (constant "DIRECTORY") there is no file with the same name (and format), we proceed with the creation: */ if(!file_exists(...)) //We take the generated qr code and we create the name of the complete file to be inserted into the saved qr code folder: $content = file_get_contents(...); $filename = DIRECTORY.$data_to_db['filename'].'.'.$data_to_db['format']; file_put_contents($filename, $content); //We insert in the database all the fields collected in input: $db->insert('dynamic_qrcodes', $data_to_db); -
edit()
Dynamic_Qrcodes.php - edit()//Through $_GET we recover the id of the qr code and the name of the current file: $dynamic_id = htmlspecialchars($_GET['dynamic_id'], ENT_QUOTES, 'UTF-8'); $old_filename = htmlspecialchars($_GET['filename'], ENT_QUOTES, 'UTF-8'); //We recover from the database the image format of the qr code with id taken from input: $format /*To update the database we take the essential data with the collect() method and the "state" field as input. We also update the "qrcode" field with the name of the file taken from input but with the same format: */ $data_to_db /*If in the folder where we save the qr code (constant "DIRECTORY") there is no file with the new name or old name (and format), we proceed with the creation: */ if(!file_exists(...)) //We find the row corresponding to the id taken in input with the where() method and update the row with the new data with the update() method: $db->where('id', $dynamic_id); $db->update('dynamic_qrcodes', $data_to_db); //Let's rename the qr code file previously created with the new name via PHP function rename(): rename($old, $new); -
cancel()
Dynamic_Qrcodes.php - cancel()//We verify that the logged in user is of type "super" otherwise we print an error message: if($_SESSION['admin_type']!='super') $this->failure('You don\'t have permission to perform this action'); //We recover from the database the image format of the qr code with id taken from input: $format //We find the row corresponding to the id taken in input with the where() method and update the row with the new data with the delete() method: $db->where('id', $dynamic_id); $db->delete('dynamic_qrcodes'); //We delete from the folder the qr code that we want to delete through the php unlink() function: unlink($file);
Static Qr code class
a) private functions
-
collect()
Static_Qrcodes.php - collect()/*The function has the same purpose as the analogue already seen previously. However,a "link" is not stored in this class, but the "type" of the qr code is assigned in addition to the "filename" and "created_at" fields: */ $data_to_db['filename']; $data_to_db['created_at']; /*The type is assigned in the creation phase and can no longer be modified, in fact a check is made on $ _GET['type'] to verify that the function has been called by add() in order to "capture" the type. If it is not very clear, review the section of the entry concerning static QR codes */ if($_GET['type'] != NULL) $data_to_db['type'] = htmlspecialchars($_GET['type']); - setOptions()
- addLogo()
- failure()
- success()
- info()
- requiredFieldsError()
-
add()
Static_Qrcodes.php - add()/*The function is very similar to add() for dynamic qr code. It naturally differs in the data type of the qr code, which must be encoded to be used in a query part of a URL: */ $sData = urlencode($sData); /*We collect all the data necessary for the database and to build the qr code in this array (in this class we also add the "content" that has been stored in the qr code): */ $data_to_db; $data_to_db['content'] = $sContent; //The rest is all the same as the add() seen above...
b) public functions
- setOrderingValues()
-
textQrcode()
Example - textQrcode()public function textQrcode($text) { if($text != NULL){ $this->sData = $text; $this->sContent = 'Text: '.$text; $this->add($this->sData, $this->sContent); } else $this->requiredFieldsError(); } /*Each function has as parameter the data to be inserted in the qr code, some of which are mandatory depending on the type. A check is made on the mandatory data as if they were "NULL" it would mean that the user has not filled in the required field; in this case it ends by printing a standard error message. Otherwise, proceed to assign to the variable (declared private) sData what will be stored in the qr code (possibly accompanied by standard strings for the type of qr code requested). The sContent variable is assigned the content to be stored in the database, already in HTML format ready for printing in the table. The function add() is called (in this class it is declared private) which receives the data for the qr code and the content to be stored in the database */ - emailQrcode()
- phoneQrcode()
- smsQrcode()
- whatsappQrcode()
- skypeQrcode()
- locationQrcode()
-
eventQrcode()
Explanation of eventQrcode()/*It is possible to create an "event" qr code which, if scanned, adds the desired event to the default calendar. This is possible thanks to the .ics calendar format. We use a very convenient external library that automatically generates a single string to be stored in the qr code: */ $ics = new ICS(array( 'location' => $location, 'description' => $description, 'dtstart' => $start, 'dtend' => $end, 'summary' => $title, 'url' => $url )); $this->sData = $ics->to_string(); /*After checking the mandatory data, the ICS class receives the event data through the array and exploits the concatenation between strings through the to_string() function to generate the unique string to be stored. */ -
vcardQrcode()
Explanation of vcardQrcode()//Operation similar to eventQrcode() through the aid of an external library to generate the vCard 4.0 string to be stored. $vcard = new vCard; $vcard->name($fullname); $vcard->nickName($nickname); $vcard->email($email); $vcard->url($website); $vcard->cellPhone($phone); $vcard->homePhone($home_phone); $vcard->workPhone($work_phone); $vcard->organization($company); $vcard->role($role); $vcard->categories($categories); $vcard->note($note); $vcard->photo($photo); $vcard->address($address, $city, $postcode, $state); $vcard->create(); $this->sData = $vcard->get(); /*After checking the mandatory data, for each field a special function is called which concatenates all the information in a single string. It is retrieved through the get() function. */ - bookmarkQrcode()
- wifiQrcode()
- paypalQrcode()
- bitcoinQrcode()
- edit() same operation of the analogous function for dynamic qr code
- cancel() same operation of the analogous function for dynamic qr code
-
Methods for different types of static qr code:
Dashboard
The dashboard is the main page of the script. In this section there is a counter of the total number of qr code in the database, and in particular also the number of dynamic and static ones. There is also a counter regarding the number of scans of the dynamic qr code.
The script offers 2 examples of dynamic charts created with chart.js
The first shows a weekly report of the number of qr codes created (dynamic and static), the second graph offers an overview of the number of scans of dynamic qr codes.
- Report of qr code
- Chart
//The values are determined by counting the number of lines through the getValue library function: $db->getValue ("table_name", "count(*)"); //A custom query is available for the value of the scans that sum all the values of the scan column: $db->query("SELECT sum(scan) FROM dynamic_qrcodes");
//For the first chart I select the "created_at" column (of the dynamic and static qr code tables) with a value between the current date and 7 days less: $db->query("select `created_at`, `scan` from "table_name" where `created_at` > curdate()-7;"); /*I also select the "scan" column with the same criteria because I will need it for the second graph. I scan the entire array and through a switch having as expression the substring of type YYYY-MM-DD of the results extracted from the database. N.B. In our database we store the "created_at" field also with the date and time because it is useful for sorting the qr code: */ foreach ($result as $row) { switch (substr($row['created_at'],0,10)){ case ... } }
/*For the complete functioning of the chart.js library visit the link in the documentation. The js codes of the graphs are found in the
List All
The structure of the code for the listing process is the same for all types of QR code. Below there is an example for dynamic qr codes.
There is a main page, in this case dynamic_qrcodes.php, which contains the code to retrieve the data necessary for the table and an external page called search_order.php which implements functions for searching and sorting the qr code.
The HTML code includes: the flash_message.php file for managing the various messages to be printed,
the filters.php file for managing the search and sorting filters and the dynamic_table.php file with the code that creates the entire table.
//We retrieve the database instance and define which columns to extract from the database for the table we need: $db = getDbInstance(); $select = array('id', 'filename', 'identifier', 'link', 'qrcode', 'scan', 'created_at', 'updated_at'); /*We define the parameters with which it is possible to sort the qr codes in the table. N.B. The parameters for ascending and descending sorting are always included separately in addition to those chosen by us. */ $search_fields = array('filename', 'identifier', 'link'); require_once BASE_PATH . '/includes/search_order.php'; /*We use the variable $page to keep track of the page where we are. By default the value is "1" and we need it because we can set an element limit for each page with a special library function: */ $page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?? 1; $db->pageLimit = 15; //We build the pagination with the elements extracted from the database through a convenient library function: $rows = $db->arraybuilder()->paginate('dynamic_qrcodes', $page, $select); $total_pages = $db->totalPages;
//We define the dimensions for each column. Example: //We print the entire array of results extracted from the database in the respective columns. Example: ID Filename Unique redirect identifier .../*For cancellation, the modal uses an external page (in this case delete_dynamic.php) using a form within the main page that includes two hidden input fields: filename, del_id. Before confirming the cancellation, a different message is shown depending on the type of QR code. */ //We conclude the end of printing the elements and the table body: ... /*The script includes 3 operations: modification, cancellation, download of the qr code. All 3 have their own button but the modification operation refers to an external link, the cancellation is managed through a "modal fade" within the same page, while the HTML "download" attribute is simply used for the download: */
How does the insertion of a dynamic qr code work?
The main page dedicated to the insertion is add_dynamic.php the form HTML-tag is also declared on this page, however the input fields are separated in another page called add_dynamic_form.php for a matter of code reusability
//Let's create an instance of the class for the dynamic Qr code we discussed earlier: require_once BASE_PATH . '/lib/Dynamic_Qrcode/Dynamic_Qrcode.php'; $dynamic_qrcode = new Dynamic_Qrcode(); //We verify that the form has been sent with the POST method and we call the add() function shown above: if ($_SERVER['REQUEST_METHOD'] === 'POST') $dynamic_qrcode->add();
/*The input fields are recognized by the class through the "name" attribute. For example, the underlying input creates the "colorpicker" tool whose data will be sent and processed by the class with the name (attribute) "foreground" and the chosen value "value": */ //Similarly, there are some types of selection inputs with different options. The input is sent with a "name" and with a "value":
How does the insertion of a static qr code work?
The main page dedicated to the insertion is add_static.php Unlike the previous creation page, the one for static qr codes does not provide a single form HTML-tag but each type of static qr code has its own form. For the input fields there is a secondary page called add_static_form.php which contains the menu of the various types of qr code that can be created and for each card (for each type) another file is included with the individual input fields, for example text.php
//Let's create an instance of the class for the static Qr code we discussed earlier: require_once BASE_PATH . '/lib/Static_Qrcode/Static_Qrcode.php'; $static_qrcode = new Static_Qrcode(); /*We verify that the form has been sent with the POST method and with a control switch we examine the type of qr code that you want to create through $ _GET ['type'] present in the link after sending the corresponding form. Each type corresponds to a different class method that sends as parameters the input data of the form with the POST method. Example with the type "text": */ if ($_SERVER['REQUEST_METHOD'] === 'POST'){ switch($_GET['type']){ case 'text': $static_qrcode->textQrcode($_POST['text']); break; ... } }
/*Within this page there is a menu divided into tabs in which each contains a different form depending on the type of static qr code to create. Example with "text" type: */
/*Each page relating to a type of qr code has the same structure. In particular, it is characterized by a form which once sent provides the input data to the main creation page with the type inside the link (?type=), the options to customize the qr code and the individual input fields different from type to type. Example for "text" type: */
How does the modification of a qr code work?
The modification process is essentially the same for both types of QR code.
For dynamic qr code is possible to change: the file name, the url and is possible to enable or disable the redirect when the qr code is scanned. It is not possible to change the image format of the QR code as well as its unique identifier.
For static qr codes is only possible to change the file name, since by definition a static qr code cannot be changed in its content. The image format of the qr code cannot be changed.
Below there is an example of the modification process for dynamic qr code, which I repeat is the same for both types.
The main page dedicated to the edit is edit_dynamic.php the form HTML-tag is also declared on this page, however the input fields are separated in another page called edit_dynamic_form.php for a matter of code reusability.
//Let's create an instance of the class for the Dynamic Qr code we discussed earlier require_once BASE_PATH . '/lib/Dynamic_Qrcode/Dynamic_Qrcode.php'; $dynamic_qrcode = new Dynamic_Qrcode(); /*We retrieve from the link the id of the qr code and the requested operation (edit). I chose to add this additional parameter because from the qr code table it is possible to add different operations for each one. */ $dynamic_id = htmlspecialchars($_GET['dynamic_id'], ENT_QUOTES, 'UTF-8'); $operation = htmlspecialchars($_GET['operation'], ENT_QUOTES, 'UTF-8'); //We verify that the form has been sent with the POST method and we call the edit() function shown above: if ($_SERVER['REQUEST_METHOD'] === 'POST') $dynamic_qrcode->edit(); //If the requested operation is edit, we retrieve the information needed to fill in the edit form through the id of the qr code: if ($edit){ $db->where('id', $dynamic_id); $dynamic_qrcode = $db->getOne('dynamic_qrcodes'); }
/*The input fields are similar throughout the script. What changes is the declaration of the "value" attribute. In fact, the value is retrieved from the database only if the edit operation has been chosen: */
How does the deletion of a qr code work?
The deletion process is essentially the same for both types of QR code. It is a very simple process, here is an example for static qr codes.
There is a single delete_dynamic.php delete page which is reached through a unique link for each element in the qr code table.
//Let's create an instance of the class for the Static Qr code we discussed earlier: require_once BASE_PATH . '/lib/Static_Qrcode/Static_Qrcode.php'; $static_qrcode = new Static_Qrcode(); /*We verify that the form has been sent with the POST method and we call the cancel() function shown above. To this function we send as parameters the id of the qr code and the name of the file */ if ($_SERVER['REQUEST_METHOD'] === 'POST') $static_qrcode->cancel($_POST['del_id'], $_POST['filename']);
What happens when i scan a dynamic qr code?
The dynamic QR code reading process is quite simple. There is a single read.php page that does all the operations. By default this page is located outside the main directory, however with your modifications it is possible to change its location. Instead, it is easier to change the name of this page, taking care to change the name also in the classes where the qr code is generated
//Each link is generated in the form /read.php?id=xxxxx, so we retrieve the present id: $get_id = htmlspecialchars($_GET['id'], ENT_QUOTES, 'UTF-8'); //We retrieve the database instance and select the link associated with the unique id as well as its status (enabled or disabled): $db = getDbInstance(); $state = $db->query("SELECT state FROM dynamic_qrcodes WHERE identifier='$get_id'"); $link = $db->query("SELECT link FROM dynamic_qrcodes WHERE identifier='$get_id'"); //We increase the scan field since the qr code has just been scanned: $update = $db->query("UPDATE dynamic_qrcodes SET scan=scan+1 WHERE identifier='$get_id'"); /*If the qr code is enabled we proceed with a normal HTML redirect towards the associated link; otherwise we print a simple message informing the user that the link is disabled: */ if($state[0]['state'] == 'enable'){ echo ''; echo 'Loading...'; } else echo 'Disabled link'; //N.B. Any custom pages to show during the redirect are not included in this script.
EXTRA
My script is in constant development and I hope to expand it from time to time with more and more useful features, so stay tuned for the updates.
With the first version, in the classes that realize the 2 types of qr code, an additional method not mentioned in the above documentation called addLogo() is included.
To add this functionality you need to delete the comment characters inside the class and add the input fields to the forms for the user to upload the logo.
However, this feature is not recommended as it can cause different QR code scanning errors depending on the scanner applications.
Updates
- Version 1.0 – September, 2020 (Initial release)
Support
Please don't forget to rate my script on GitHub.
Thank You,
Giandonato Inverso


Home
Services
About me
Contact me
Home
Skype
Whatsapp
Activity
Contact us
Contact us
Name:
E-mail:
Capital
Accra
Tamale
Kumasi
Sunyani
Wa
Ho
Bolgatanga
Cape Coast
Secondi
Koforidua
Comments:


|
netcore-csv
|
manage csv file properties such as pathfilename, field separator, decimal separator and templated object columns More...
Public Member Functions | |
| CsvFile (string pathfilename, CsvOptions options) | |
| csv reader/writer base class. More... | |
| CsvFile (string pathfilename, bool append, CsvOptions options) | |
| csv reader/writer base class. More... | |
Properties | |
| string | Pathfilename [get] |
| CsvOptions | Options [get] |
| char | StringDelimiter [get] |
| char | FieldSeparator [get] |
| char | DecimalSeparator [get] |
| bool | DecimalSeparatorIsInvariant [get] |
| IReadOnlyList< CsvColumn > | Columns [get] |
| bool | AppendMode [get] |
| if file exists with size great than 0 then header will not placed else file will overwritten with new starting header, More... | |
manage csv file properties such as pathfilename, field separator, decimal separator and templated object columns
| T | : | class |
| CsvFile | ( | string | pathfilename, |
| CsvOptions | options | ||
| ) |
csv reader/writer base class.
| CsvFile | ( | string | pathfilename, |
| bool | append, | ||
| CsvOptions | options | ||
| ) |
csv reader/writer base class.
| append | if file exists with size great than 0 then header will not placed else file will overwritten with new starting header, |
|
get |
if file exists with size great than 0 then header will not placed else file will overwritten with new starting header,
|
get |
|
get |
|
get |
|
get |
|
get |
|
get |
|
get |


Noon van der Silk is the founder of Braneshop and lead trainer.
Noon has 19+ years experience in various forms of software engineering, application development, and the design and implementation of machine learning + AI systems. Within AI he has a special interest in the field of computer vision and interactive art.
Noon has a research background, obtaining a Masters in Pure Mathematics, with a focus on quantum computing.
Noon is particularly passionate about empowering people through skill development.


Sencha Touch 2 is a framework that enables developers to build fast and impressive apps that work on iOS, Android, BlackBerry, Kindle Fire, and more.
Not yet, but it's on the road map!
http://www.sencha.com/products/touch/road-map/
Ext.application({
name: 'PDC',
views: [
'Main',
],
models: [],
controllers: [],
stores: [],
launch: function(){
Ext.Viewport.add({
xclass: 'PDC.view.Main'
});
}
});
Main.js is located in app/view/Main.js
Inside each of the MVC files, there is a standard way you setup your classes.
Ext.define();
Ext.define('[AppNamespace].[folder].[FileName]', { gigantic config object });
Views are what the user sees. They are made up of a component and can have other child components within them.
Ext.define('PDC.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
config: {
tabBar: {
defaults: {
flex: 1,
},
docked: 'bottom'
},
items: [
{
xtype: 'sessions',
title: 'Sessions',
iconCls: 'time'
}
]
}
});
extend: 'Ext.tab.Panel'
Extending the parent class
xtype: 'main'
An alias for the component we're defining. The format for this is typically lowercase letters only. Example 'sessiondetails'.
Used for referencing components easily and lazily loading them.
config: { ... }
Allows you to add specific items and set configuration to build your view.
A config object is standard across all components. You will see this everywhere!
Look at http://docs.sencha.com/touch/2-0/ for an overview of what config options can be passed to that specific component (Ext.tab.Panel).
config: {
tabBar: {
defaults: {
flex: 1,
},
docked: 'bottom'
}
}
This tabBar option is specific to the Ext.tab.Panel component and has its own set of options.
Setting flex: 1 means it will stretch the buttons out over the width of the screen.
A way of adding other components within the viewport of the current component.
A Model represents some object that your application manages.
For example, one might define a Model for Users, Products, Cars, or any other real-world object that we want to model in the system.
They are defined as singular. Users would be defined as User.
Ext.define('PDC.model.Session', {
extend: 'Ext.data.Model',
config: {
fields: ['id', 'speaker', ...]
}
});
See any similarities to the view/Main.js file?
The Store class encapsulates a client side cache of Model objects. Stores load data via a Proxy, and also provide functions for sorting, filtering and querying the model instances contained within it.
Ext.define('PDC.store.Sessions', {
extend: 'Ext.data.Store',
config: {
model: 'PDC.model.Session',
proxy: {
type: 'ajax',
url : 'data/sessions.json',
reader: {
type: 'json'
}
},
autoLoad: true
}
});
See any similarities to the view/Main.js file?
To get access to an instance of a store, simply call.
Ext.getStore('Sessions');
Controllers are responsible for responding to events that occur within your app.
It allows the View classes to handle the display of data and the Model classes to handle the loading and saving of data - the Controller is the glue that binds them together.
Ext.define('PDC.controller.Sessions', {
extend: 'Ext.app.Controller',
config: {
refs: {
main: 'main'
},
control: {
segmentedbutton: {
toggle: 'switchSessionDate'
}
}
},
switchSessionDate: function(segment, button_clicked){
console.log('OMG we just clicked on the date button bar for switching session dates!');
console.log(this.getMain()); // gives us to the main view component (view/Main.js)
});
});
Tab Panels are a great way to allow the user to switch between several pages that are all full screen.
Each Component in the Tab Panel gets its own Tab, which shows the Component when tapped on. Tabs can be positioned at the top or the bottom of the Tab Panel, and can optionally accept title and icon configurations.
A Container has all of the abilities of Component, but lets you nest other Components inside it.
Applications are made up of lots of components, usually nested inside one another. Containers allow you to render and arrange child Components inside them. Most apps have a single top-level Container called a Viewport, which takes up the entire screen.
NavigationView is basically a Ext.Container with a card layout, so only one view can be visible at a time.
However, NavigationView also adds extra functionality on top of this to allow you to push and pop views at any time. When you do this, your NavigationView will automatically animate between your current active view, and the new view you want to push, or the previous view you want to pop.
An open-source CSS authoring framework.
Sass/scss is an extension of CSS3 which adds nested rules, variables, mixins, selector inheritance, and more. Sass generates well formatted CSS and makes your stylesheets easier to organize and maintain.
nav ul li {
float: left;
}
nav ul li a {
display: block;
color: blue;
}
nav ul li a:hover {
color: green;
}
nav ul li {
float: left;
a {
display: block;
color: blue;
&:hover {
color: green;
}
}
}
#banner {
background-color: #444444;
background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#999999));
background-image: -webkit-linear-gradient(top, #444444, #999999);
background-image: -moz-linear-gradient(top, #444444, #999999);
background-image: -o-linear-gradient(top, #444444, #999999);
background-image: linear-gradient(to bottom, #444444, #999999);
}
@import "compass/css3/images"
#banner {
@include background(linear-gradient(top left, #444444, #999999));
}
.content {
border-radius: 5px;
border: 10px solid red;
padding: 10px;
}
.side-content {
border-radius: 5px;
border: 10px solid red;
padding: 10px;
}
.bottom-content {
border-radius: 5px;
border: 10px solid red;
padding: 10px;
}
@mixin red-border-content {
border-radius: 5px;
border: 10px solid red;
padding: 10px;
}
.content,
.side-content,
.bottom-content {
@include red-border-content();
}
.content {
color: #00ff00;
background: #ee1100;
},
.thing {
border: 1px solid #00ff00;
color: #ee1100;
}
p.green-textshadow {
text-shadow: 1px 1px 0 #00ff00;
border: 5px solid #ee1100;
}
$green: #00ff00
$red: #ee1100
.content {
color: $green;
background: $red;
},
.thing {
border: 1px solid $green;
color: $red
}
p.green-textshadow {
text-shadow: 1px 1px 0 $green;
border: 5px solid $red;
}
Sencha has default styles. Defaults to Titan blue.
Now refresh.


DEBI(1) DEBI(1) NAME debi - install current version of generated Debian package SYNOPSIS debi [options] [changes file] [package ...] DESCRIPTION debi figures out the current version of a package and installs it. If a .changes file is specified on the command line, the filename must end with .changes, as this is how the program distinguishes it from package names. If not, then debi has to be called from within the source code directory tree. In this case, it will look for the .changes file corre‐ sponding to the current package version (by determining the name and ver‐ sion number from the changelog, and the architecture in the same way as dpkg-buildpackage(1) does). It then runs debpkg -i on every .deb archive listed in the .changes file to install them, assuming that all of the .deb archives live in the same directory as the .changes file. Note that you probably don't want to run this program on a .changes file relating to a different architecture after cross-compiling the package! If a list of packages is given on the command line, then only those debs with names in this list of packages will be installed. Since installing a package requires root privileges, debi calls debpkg rather than dpkg directly. Thus debi will only be useful if it is either being run as root or debpkg can be run as root. See debpkg(1) for more details. Directory name checking In common with several other scripts in the devscripts package, debi will climb the directory tree until it finds a debian/changelog file. As a safeguard against stray files causing potential problems, it will examine the name of the parent directory once it finds the debian/changelog file, and check that the directory name corresponds to the package name. Pre‐ cisely how it does this is controlled by two configuration file variables DEVSCRIPTS_CHECK_DIRNAME_LEVEL and DEVSCRIPTS_CHECK_DIRNAME_REGEX, and their corresponding command-line options --check-dirname-level and --check-dirname-regex. DEVSCRIPTS_CHECK_DIRNAME_LEVEL can take the following values: 0 Never check the directory name. 1 Only check the directory name if we have had to change directory in our search for debian/changelog. This is the default behav‐ iour. 2 Always check the directory name. The directory name is checked by testing whether the current directory name (as determined by pwd(1)) matches the regex given by the configura‐ tion file option DEVSCRIPTS_CHECK_DIRNAME_REGEX or by the command line option --check-dirname-regex regex. Here regex is a Perl regex (see perlre(3perl)), which will be anchored at the beginning and the end. If regex contains a '/', then it must match the full directory path. If not, then it must match the full directory name. If regex contains the string ´PACKAGE', this will be replaced by the source package name, as determined from the changelog. The default value for the regex is: ´PACKAGE(-.+)?', thus matching directory names such as PACKAGE and PACK‐ AGE-version. OPTIONS -adebian-architecture, -tGNU-system-type See dpkg-architecture(1) for a description of these options. They affect the search for the .changes file. They are provided to mimic the behaviour of dpkg-buildpackage when determining the name of the .changes file. --debs-dir directory Look for the .changes and .deb files in directory instead of the parent of the source directory. This should either be an absolute path or relative to the top of the source directory. -m, --multi Search for a multiarch .changes file, as created by dpkg-cross. -u, --upgrade Only upgrade packages already installed on the system, rather than installing all packages listed in the .changes file. Useful for multi-binary packages when you don't want to have all the binaries installed at once. --check-dirname-level N See the above section Directory name checking for an explanation of this option. --check-dirname-regex regex See the above section Directory name checking for an explanation of this option. --with-depends Attempt to satisfy the Depends of a package when installing it. --tool tool Use the specified tool for installing the dependencies of the package(s) to be installed. By default, apt-get is used. --no-conf, --noconf Do not read any configuration files. This can only be used as the first option given on the command-line. --help, --version Show help message and version information respectively. CONFIGURATION VARIABLES The two configuration files /etc/devscripts.conf and ~/.devscripts are sourced in that order to set configuration variables. Command line options can be used to override configuration file settings. Environment variable settings are ignored for this purpose. The currently recognised variables are: DEBRELEASE_DEBS_DIR This specifies the directory in which to look for the .changes and .deb files, and is either an absolute path or relative to the top of the source tree. This corresponds to the --debs-dir command line option. This directive could be used, for example, if you always use pbuilder or svn-buildpackage to build your packages. Note that it also affects debrelease(1) in the same way, hence the strange name of the option. DEVSCRIPTS_CHECK_DIRNAME_LEVEL, DEVSCRIPTS_CHECK_DIRNAME_REGEX See the above section Directory name checking for an explanation of these variables. Note that these are package-wide configura‐ tion variables, and will therefore affect all devscripts scripts which check their value, as described in their respective manpages and in devscripts.conf(5). SEE ALSO debpkg(1) and devscripts.conf(5). AUTHOR debi was originally written by Christoph Lameter<EMAIL_ADDRESS>The now-defunct script debit was originally written by James R. Van Zandt<EMAIL_ADDRESS>They have been moulded into one script together with debc(1) and parts extensively modified by Julian Gilbey<EMAIL_ADDRESS>DEBIAN Debian Utilities DEBI(1)


select(7f) - [FORTRAN:EXECUTION CONTROL] select a block based on the value of an expression (a case) (LICENSE:PD)
Synopsis
Description
1 The CASE construct selects for execution at most one of its constituent blocks. The selection is based on the value of an expression.
R810 case-construct is select-case-stmt [ case-stmt block ] ... end-select-stmt R811 select-case-stmt is [ case-construct-name : ] SELECT CASE case-expr) R812 case-stmt is CASE case-selector [case-construct-name] R813 end-select-stmt is END SELECT [ case-construct-name ] C809 ((R810)) If the select-case-stmt of a case-construct specifies a case-construct-name, the corresponding end-select-stmt shall specify the same case-construct-name. If the select-case-stmt of a case-construct does not specify a case-construct-name, the corresponding end-select-stmt shall not specify a case-construct- name. If a case-stmt specifies a case-construct-name, the corresponding select-case-stmt shall specify the same case-construct-name. R814 case-expr is scalar-int-expr or scalar-char-expr or scalar-logical-expr R815 case-selector is ((case-value-range-list)) or DEFAULT C810 ((R810)) No more than one of the selectors of one of the CASE statements shall be DEFAULT. R816 case-value-range is case-value
or case-value : or : case-value or case-value : case-value R817 case-value is scalar-int-initialization-expr or scalar-char-initialization-expr or scalar-logical-initialization-expr C811 ((R810)) For a given case-construct, each case-value shall be of the same type as case-expr . For character type, the kind type parameters shall be the same; character length differences are allowed. C812 ((R810)) . case-value-range using . colon shall not be used if case-expr is of type logical. C813 ((R810)) For . given case-construct, there shall be no possible value of the case-expr that matches more than one case-value-range.
8.1.5 CASE construct <IP_ADDRESS> Purpose and form of the CASE construct
<IP_ADDRESS> Execution of . CASE construct The execution of the SELECT CASE statement causes the case expression to be evaluated. The resulting value is called the case index. For a case value range list, a match occurs if the case index matches any of the case value ranges in the list. For a case index with a value of c, a match is determined as follows.1. If the case value range contains a single value v without a colon, a match occurs for type logical if the expression c .EQV. v is true, and a match occurs for type integer or character if the expression c == v is true. 2. If the case value range is of the form low : high, a match occurs if the expression low <= c .AND. c <= high is true. 3. If the case value range is of the form low :, a match occurs if the expression low <= c is true. 4. If the case value range is of the form : high, a match occurs if the expression c <= high is true. 5. If no other selector matches and a DEFAULT selector appears, it matches the case index. 6. If no other selector matches and the DEFAULT selector does not appear, there is no match.
The block following the CASE statement containing the matching selector, if any, is executed. This completes execution of the construct.
It is permissible to branch to an end-select-stmt only from within its CASE construct.
<IP_ADDRESS> Examples of CASE constructs An integer signum function:integer function signum (n) select case (n) case (:-1) signum = -1 case (0) signum = 0 case (1:) signum = 1 end select end
A code fragment to check for balanced parentheses:
character (80) :: line ... level = 0 scan_line: do i = 1, 80 check_parens: select case (line (i:i)) case (() level = level + 1 case ()) level = level - 1 if (level < 0) then print *, unexpected right parenthesis exit scan_line end if case default ! ignore all other characters end select check_parens end do scan_line if (level > 0) then print *, missing right parenthesis end if
the following three fragments are equivalent:
if (silly == 1) then call this else call that end if select case (silly == 1) case (.true.) call this case (.false.) call that end select select case (silly) case default call that case (1) call this end select
A code fragment showing several selections of one block:
select case (n) case (1, 3:5, 8) ! selects 1, 3, 4, 5, 8 call sub case default call other end select
| select (7) | January 01, 2020 |


UPDATES
August 25, 2016
Funds raised! So grateful to my incredible friends and family, who made this so much less painful than I thought it would be. Speaking of pain, I have a minor shin injury, so I'll be cross-training for the next few weeks. Hopefully I'll be back to logging miles soon!
August 16, 2016
The realities of training for a marathon don't really kick in until you run almost an entire half-marathon, and no one gives you a medal. And then you have to go to work...
August 14, 2016
The official NYC marathon training run I was supposed to do today was canceled due to the asphalt literally melting, probably, so instead I ran on the treadmill -- while livestreaming the Olympic marathon. "Keeping up" with those elite athletes kept me motivated, at least until the commentator noted that their sub-6 minute miles were "a little on the slow side."
July 16, 2016
Ran a very fast, very sweaty 10 miles with multi-marathon veteran Prachi Gupta. The combination of Spotify's hip hop running playlist and my wearable bluetooth speakers did a great job of keeping us motivated and Central Park parents horrified.
July 8, 2016
Contribute to my fundraising efforts and I just might fly to your home and go for a run with you! Did a very sweaty 5.5 miles through Carrboro, N.C. with Adriel Lubarsky this morning, followed by some delicious farm-fresh eggs by Danny, who cooks now.
July 7, 2016
A few people have brought this video to my attention. I have no idea why.
July 2, 2016
Fundraising is open! Here we go, friends: for less than the cost of a SoulCycle class, you can make a significant difference in a sweet, adorable girl’s life. Oh, and you’ll be helping out kids, too.
June 11, 2016
Went for a 7-mile training run with my little cousin Paige, a cross-country superstar. She's used to running through fields of manure in rural Michigan, and even she thought NYC smells bad.
May 31, 1:48 pm
Officially registered for the 2016 TCS New York City Marathon. Promptly took a nap.
Running and me, we go all the way back to middle school, when I joined the cross-country team...as the manager. (All of my friends were on the team, and I didn’t want be left out. But not so much that I'd ever consider sweating.)
Seriously, if middle school Lindsay knew what she’d commit to doing at age 26, she would be so pissed.
So, what's changed? To be honest, I'm not entirely sure -- and I'm a little freaked out about what I've gotten myself into. But I can tell you that what you're seeing here is the result of several things I'm hoping to acocmplish this summer:
($$$)
There are four ways a would-be marathon superstar can earn a spot in the Greatest Race on Earth. She can:
 Here's where we find out who my friends are...I mean, where you get the opportunity to show how much you care about kids. In order to earn my spot at the base of the Verrezano Bridge come November, I've committed to raising $2,620 for Team for Kids, an incredibly worthy organization that exposes children around the country to the regular physical activity they need to lead healthy, productive lives. (That I, as a child, received no regular physical activity only serves to underscore how important this mission is.)
To make it even more worth your while, I'm offering a number of incentives to donors large and small:
$2.62
Hug/selfie level. Show up along the route, and I'll take a quick breather for a priceless moment.
$26.20
Add a song to my secret playlist* + all of the above.
$262
Your name bedazzled on my official marathon day jersey + all of the above.
$2,620
Oh you. You're too much. Really, you are + all of the above.
Donate!Learn more about how your money helps provide access to physical activity and other needed resources for more than 200,000 children each year.
Friend me on Map My Run to see some of my favorite NYC routes. And give me a shout if you want to keep me company on a Saturday long run!


Amy check this out!
Tracie's local recommendations are legit
Restaurants
Activities
- Hiking in Forest Park
- Movies at Laurelhurst Theater
- Movies at Cinema 21 in Northwest
- Mountaineering with the Mazamas
- Portland Art Museum
- OMSI After Dark nights
- Music at the Doug Fir
- Hiking in Columbia River Gorge


*use arrow to up / down / right / left
refresh
Test DFS Algorithm Stop
Test BFS Algorithm Stop
Test A* Algorithm Stop


| 1 | /* =========================================================== | |
| 2 | * JFreeChart : a free chart library for the Java(tm) platform | |
| 3 | * =========================================================== | |
| 4 | * | |
| 5 | * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. | |
| 6 | * | |
| 7 | * Project Info: http://www.jfree.org/jfreechart/index.html | |
| 8 | * | |
| 9 | * This library is free software; you can redistribute it and/or modify it | |
| 10 | * under the terms of the GNU Lesser General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2.1 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This library is distributed in the hope that it will be useful, but | |
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 16 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
| 17 | * License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU Lesser General Public | |
| 20 | * License along with this library; if not, write to the Free Software | |
| 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, | |
| 22 | * USA. | |
| 23 | * | |
| 24 | * [Java is a trademark or registered trademark of Sun Microsystems, Inc. | |
| 25 | * in the United States and other countries.] | |
| 26 | * | |
| 27 | * ------------------------- | |
| 28 | * DataPackageResources.java | |
| 29 | * ------------------------- | |
| 30 | * (C) Copyright 2002-2008, by Object Refinery Limited. | |
| 31 | * | |
| 32 | * Original Author: David Gilbert (for Object Refinery Limited); | |
| 33 | * Contributor(s): -; | |
| 34 | * | |
| 35 | * Changes | |
| 36 | * ------- | |
| 37 | * 21-Mar-2002 : Version 1 (DG); | |
| 38 | * 17-Oct-2002 : Fixed errors reported by Checkstyle (DG); | |
| 39 | * | |
| 40 | */ | |
| 41 | ||
| 42 | package org.jfree.data.resources; | |
| 43 | ||
| 44 | import java.util.ListResourceBundle; | |
| 45 | ||
| 46 | /** | |
| 47 | * A resource bundle that stores all the items that might need localisation. | |
| 48 | * | |
| 49 | */ | |
| 50 | public class DataPackageResources extends ListResourceBundle { | |
| 51 | ||
| 52 | /** | |
| 53 | * Returns the array of strings in the resource bundle. | |
| 54 | * | |
| 55 | * @return The localised resources. | |
| 56 | */ | |
| 57 | public Object[][] getContents() { | |
| 58 |
1
1. getContents : mutated return of Object value for org/jfree/data/resources/DataPackageResources::getContents to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return CONTENTS; |
| 59 | } | |
| 60 | ||
| 61 | /** The resources to be localised. */ | |
| 62 | private static final Object[][] CONTENTS = { | |
| 63 | ||
| 64 | {"series.default-prefix", "Series"}, | |
| 65 | {"categories.default-prefix", "Category"}, | |
| 66 | ||
| 67 | }; | |
| 68 | ||
| 69 | } | |
Mutations | ||
| 58 |
1.1 |


[gecode-users] Dynamic size of IntVarArray in Gecode 3.4.0
Nacho
ncasti at fdi.ucm.es
Fri Sep 10 16:26:50 CEST 2010
Hi,
I have migrated from Gecode 3.2.2 to Gecode 3.4.0 today. I have read the
Changelog about the new IntVarArray API and I can not find out how to adapt
our previous implementation to the current framework.
We need to use Gecode to reason with models where constraints and variables
can be added and removed. As a new constraint is processed, it is added to
the Space and propagated. New variables appearing in this constraint are
added to an IntVarArray, which is updated by the Space copy function. In
order to backtrack to previous models (removing constraints and variables),
each time a new constraint is processed we clone the Space.
In Gecode 3.4.0, dynamically addition of IntVars to an IntVarArray is no
more supported. This is possible by using IntVarArgs, but, I need to update
the variable data structure with each new constraint being processed, and
IntVarArgs can not be updated. The MPG.pdf includes Tip 4.5 for dynamically
constructing problems, but I think this can not address the behaviour we
want to achieve. Do you have any ideas of how to address my problem?
Thank you very much in advance,
Nacho
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20100910/a4e84fd4/attachment.htm>
More information about the users
mailing list


Rotation with the mouse, and Alt+Mouse to Zoom
Submited to Web3D 2011 conference (Bibtex Reference pending on acceptation will be given when available).
This page is a demonstration of our current research, therefore it is under continuous construction, check back soon for updates.
volumerendering@vicomtech.org


--- layout: post title: 12th International Congress on Toxoplasmosis category: [ToxoDB] ---
The 12th International Congress on Toxoplasmosis will be held at St Catherine's College, Oxford. 22nd - 26th June 2013
Registration is now open at preferential prices until 14th April, 2013.
Full registration closes on 14th May 2013.
Click
here for further information, registration & abstract submission
Scientific Organisers:
David Ferguson,
Nuffield Department of Clinical Laboratory Science, University of
Oxford, UK
Markus Meissner,
Infection Immunity and Inflammation Life Sciences, University of
Glasgow, UK
Frank Seeber,
Humboldt-Universität zu Berlin, Germany
Mohamed-Ali Hakimi,
CNRS / Université Grenoble, France
Jonathan Wastling,
Institute of Infection and Global Health, University of Liverpool, UK


Section 1
Section 1 - Sub-section 1
Section 1 - Sub-section 2
Section 1 - Sub-section 3
Section 1 - Sub-section 4
Section 2
Section 2 - Sub-section 1
Section 2 - Sub-section 2
Section 2 - Sub-section 3
Section 3
Section 3 - Sub-section1
Section 3 - Sub-section2


Our Purpose
Our goal is to provide a user-friendly application aimed at beginner level workouts.
We based our recomended exercises on a quick and user specific questionnaire which in turn
will deliver a personalized workout regime suitable and comfortable for all our users based on their wished results.
{% endblock %}


{% extends "base.html" %} {% load i18n %} {% block head %} {{ block.super }} {% endblock head %} {% block css %} {{ block.super }} {% endblock css %} {% block content %} {{ block.super }}
{% trans 'You have successfully submitted the 2016-2017 School Lunch Application' %}
{% trans 'Email' %}
{% blocktrans %} If you entered an email you will automatically be sent a copy. (not active in demo) {% endblocktrans %}
{% trans 'Click here if you want to send a copy to another email. (not active in demo)' %}{% trans 'What next?' %}
{% blocktrans %} Your school district will review your application and let you know if your household qualifies for free or reduced priced lunches. {% endblocktrans %}


@@include("partials/topbar.html") @@include("partials/sidebar.html")
Vector maps
Maps
Vector maps
Settings
Action
Another action
Something else here
Separated link
World Map
USA Map
Canada Map
France Map
Germany Map
Brazil Map
@@include("partials/footer.html")
@@include("partials/right-sidebar.html")


RARS - RISC-V Assembler and Runtime Simulator
Release 1.0
August 2017
Using RARS through its Integrated Development Environment (IDE)
The IDE is invoked when RARS is run with no command arguments, e.g. java -jar rars.jar.
It may also be launched from a graphical interface by double-clicking the rars.jar icon
that represents this executable JAR file.
The IDE provides basic editing, assembling and execution capabilities. Hopefully it
is intuitive to use. Here are comments on some features.
- Menus and Toolbar: Most menu items have equivalent toolbar icons.
If the function of a toolbar icon is not obvious, just hover the mouse over it and
a tool tip will soon appear. Nearly all menu items also have keyboard shortcuts.
Any menu item not appropriate in a given situation is disabled.
-
Editor: RARS includes two integrated text editors. The default editor features syntax-aware color
highlighting of most language elements and popup instruction guides. The original, generic, text
editor without these features is still available and can be selected in the Editor Settings dialog.
It supports a single font which can be modified in the Editor Settings dialog.
The bottom border of either editor includes the cursor line
and column position and there is a checkbox to display line numbers.
They are displayed outside the editing area. If you use an external editor, RARS provides
a convenience setting that will automatically assemble a file as soon as it is opened. See
the Settings menu.
- Message Areas: There are two tabbed message areas at the
bottom of the screen. The Run I/O tab is used at runtime for
displaying console output and entering console input as program execution progresses.
You have the option of entering console input into a pop-up dialog then echoes to the message area.
The RARS Messages tab is used for other messages such as assembly or
runtime errors and informational messages. You can click on assembly error messages to
select the corresponding line of code in the editor.
- Registers: Registers are displayed at all times, even
when you are editing and not running a program. While writing your program,
this serves as a useful reference for register names and their conventional
uses (hover mouse over the register name to see tool tips). There are three
register tabs: the Register File (integer registers $0 through $31 plus LO,
HI and the Program Counter), selected Coprocesor 0 registers (exceptions and
interrupts), and Coprocessor 1 floating point registers.
- Assembly: Select Assemble from the Run menu or the
corresponding toolbar icon to assemble the file currently in the Edit tab.
files in current directory. With the Assemble All setting turned on the assembler will assemble
the current file as the "main" program and also assemble all other assembly
files (*.asm; *.s) in the same directory. And with the Assemble Open option, currently
open the assembler will also assemble currently open files. The results are linked and if all these
operations were successful the program can be executed. Labels that are
declared global with the ".globl" directive may be referenced in any of the
other files in the project. There is also a setting that permits
automatic loading and assembly of a selected exception handler file.
- Execution: Once a program successfully assembles, the
registers are initialized and three windows
in the Execute tab are filled: Text Segment, Data Segment,
and Program Labels. The major execution-time features are described below.
- Labels Window: Display of the Labels window (symbol table) is
controlled through the Settings menu. When displayed, you can click on any label
or its associated address to center and highlight the contents of that address
in the Text Segment window or Data Segment window as appropriate.
The assembler and simulator are invoked from the IDE
when you select the Assemble, Go,
or Step operations from the Run menu or their corresponding
toolbar icons or keyboard shortcuts. RARS messages are displayed on the
RARS Messages tab of the message area at the bottom of the screen.
Runtime console input and output is handled in the Run I/O tab.


Burhan Bharmal
MEAN Stack Developer
About Me
"Burhan Bharmal is a Software Developer. An expert in JavaScript, HTML, CSS, and JavaScript-based frameworks like React, Angular, Node.js etc. Burhan is amiable with and approachable to his colleagues, seniors, and clients as well. A natural leader and dedicated learner, Burhan pursue perfection and wisdom in every way possible."
Personal Info
- Name
- Birthday
- Hometown
- Current City
- Nationality
- Freelance
- Burhan Bharmal
- 08.08.1995 (day/month/year)
- Upleta, Gujarat
- Ahmedabad, Gujarat
- Indian
- Available
- Name : Burhan Bharmal
- Birthday : 08.08.1995 (day/month/year)
- Place of Birth : Rajkot
- Nationality : Indian
- Marital Status : Single
- Freelance : Available
Contact Info
- Skype : @burhan.bharmal1
- E-Mail<EMAIL_ADDRESS>- 1/1 -


Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.
# _{Application Name}_
#### _{Brief description of application}, {Date of current version}_
#### By _**{List of contributors}**_
## Description
_{This is a detailed description of your application. Its purpose and usage. Give as much detail as needed to explain what the application does, and any other information you want users or other developers to have. }_


---
layout: js-documentation
title: Ink.Dom.Element_1
description: DOM Traversal and manipulation
site_root: ../
---
All samples are using Appends HTML to an element. elm
html
Counts the number of children of an element elm
Clones an element's position to another cloneTo
cloneFrom
Creates a DOM element. Just a shortcut for Ink.requireModules
, please read how to use it at Ink.requireModules section
Ink.Dom.Element_1 class
Function name
Description
.appendHTML(elm, html)
Appends HTML to an element.
.childElementCount(elm)
Counts the number of children of an element
.clonePosition(cloneTo, cloneFrom)
Clones an element's position to another
.create(tag, properties)
Creates a DOM element.
.data(selector)
Gets data attributes from an element
.descendantOf(node, descendant)
Checks if a node is descendant of another
.elementDimensions(element)
Get an element's dimensions in pixels.
.elementHeight(element)
Get an element's height in pixels.
.elementLeft(element)
Deprecated. Alias for offsetLeft()
.elementTop(element)
Deprecated. Alias for offsetTop()
.elementWidth(element)
Get an element's width in pixels.
.ellipsizeText(element, [ellipsis])
Text-overflow: ellipsis emulation
.fillChecks(insertAfterEl, name, data, [defaultValue], [splitEl])
Creates set of checkbox buttons
.fillRadios(insertAfterEl, name, data, [skipEmpty], [defaultValue], [splitEl])
Creates a set of radio buttons from an array of data
.fillSelect(container, data, [skipEmpty], [defaultValue])
Fills a select element with options
.findUpwardsByClass(element, className)
Finds the closest ancestor by class name
.findUpwardsById(element, id)
Finds the closest ancestor by id
.findUpwardsBySelector(element, sel)
Finds the closest ancestor by CSS selector
.findUpwardsByTag(element, tag)
Finds the closest ancestor by tag name
.findUpwardsHaving(element, boolTest)
Finds the closest ancestor element matching your test function
.firstElementChild(elm)
Get first child element of another
.get(elm)
Shortcut for
document.getElementById
.getChildrenText(el, [removeIt])
Gets the trimmed text of an element
.getSelectValues(select)
Gets value of a select element
.hasAttribute(elm, attr)
Checks if an element has an attribute
.htmlToFragment(html)
Creates a documentFragment from an HTML string.
.inViewport(element, [options])
Check if an element is inside the viewport
.insertAfter(newElm, targetElm)
Inserts an element right after another
.insertBefore(newElm, targetElm)
Inserts an element before another
.insertBottom(newElm, targetElm)
Inserts an element as the last child of another
.insertTop(newElm, targetElm)
Inserts an element as the first child of another
.isAncestorOf(ancestor, node)
Checks if a node is an ancestor of another
.isDOMElement(o)
Checks if something is a DOM Element.
.isHidden(element)
Check if an element is hidden.
.isLink(element)
Checks if an element is a link
.isVisible(element)
Check if an element is visible
.lastElementChild(elm)
Get the last child element of another
.moveCursorTo(el, t)
Move the cursor on an input or textarea element.
.nextElementSibling(node)
Get the first sibling element after the node
.nextSiblings(elm)
Gets the next siblings of an element
.offset(elm)
.offset()
Gets the cumulative offset for an element
.offset2(el)
deprecated Alias for offset()
.offsetLeft(elm)
Gets the left offset of an element
.offsetTop(elm)
Gets the top offset of an element
.outerDimensions(element)
Get the outer dimensions of an element in pixels.
.pageHeight()
Get the page's height.
.pageWidth()
Get the page's width.
.parentIndexOf([parentEl], childEl)
Gets the index of an element relative to a parent
.positionedOffset(element)
Gets the relative offset of an element
.prependHTML(elm, html)
Prepends HTML to an element.
.previousElementSibling(node)
Get the first sibling element before the node
.previousSiblings(elm)
Gets the previous siblings of an element
.remove(elm)
Removes a DOM Element
.removeTextNodeChildren(el)
Removes direct text children.
.replace(element, replacement)
Replaces an element with another.
.scroll([elm])
Gets the scroll of the element
.scrollHeight()
Returns how much pixels the page was scrolled from the top of the document.
.scrollTo(elm)
Scrolls the window to an element
.scrollWidth()
Returns how much pixels the page was scrolled from the left side of the document.
.setHTML(elm, html)
Sets the inner HTML of an element.
.setTextContent(node, text)
Replaces text content of a DOM Node
.siblings(elm)
Gets the all siblings of an element
.textContent(node)
Retrieves textContent from node
.unwrap(elem, [wrapperSelector])
Places an element outside a wrapper.
.viewportHeight()
Get the viewport's height.
.viewportWidth()
Get the viewport's width.
.wrap(target, container)
Wraps an element inside a container.
.appendHTML(elm, html)
method
This method parses the html string and doesn't modify its contentsAccepts
{% include js_samples/Ink_Dom_Element_1_appendHTML.html %}
.childElementCount(elm)
method
Accepts
{% include js_samples/Ink_Dom_Element_1_childElementCount.html %}
.clonePosition(cloneTo, cloneFrom)
method
Accepts
{% include js_samples/Ink_Dom_Element_1_clonePosition.html %}
.create(tag, properties)
method
document.createElement(tag)
, but with the second argument you can call additional functions present in Ink.Dom.Element.
tag
Tag nameproperties
Object with properties to be set on the element. You can also call other functions in Ink.Dom.Element like thisGets data attributes from an element
selector
Element or CSS selectorChecks if a node is descendant of another
node
The ancestordescendant
The descendantGet an element's dimensions in pixels.
element
DOM element or target IDGet an element's height in pixels.
element
DOM element or target IDDeprecated. Alias for offsetLeft()
element
DOM element or target IDDeprecated. Alias for offsetTop()
element
Target DOM element or target IDGet an element's width in pixels.
element
Target DOM element or target IDText-overflow: ellipsis emulation
Slices off a piece of text at the end of the element and adds the ellipsis so all text fits inside.
element
Element to modify text contentellipsis
'\u2026'String to append to the chopped textCreates set of checkbox buttons
insertAfterEl
Element after which the input elements will be createdname
Name for the form field ([] is added if not present as a suffix)data
Data to populate the componentdefaultValue
Initial selected valuesplitEl
Name of element to add after each input element (example: 'br')Creates a set of radio buttons from an array of data
insertAfterEl
Element after which the input elements will be createdname
Name for the form field ([] is added if not present as a suffix)data
Data to populate the componentskipEmpty
Flag to skip creation of empty optionsdefaultValue
Initial selected valuesplitEl
Name of element to add after each input element (example: 'br')Fills a select element with options
container
Select element which will get filleddata
Data to populate the componentskipEmpty
Flag to skip empty optiondefaultValue
Initial selected valueFinds the closest ancestor by class name
element
Element to base the search fromclassName
Class name to searchFinds the closest ancestor by id
element
Element to base the search fromid
ID to searchFinds the closest ancestor by CSS selector
element
Element to base the search fromsel
CSS selectorFinds the closest ancestor by tag name
element
Element to base the search fromtag
Tag to searchFinds the closest ancestor element matching your test function
element
Element to base the search fromboolTest
Testing functionGet first child element of another
elm
Parent nodeShortcut for document.getElementById
elm
Either an ID of an element, or an element.Gets the trimmed text of an element
el
Element to base the search fromremoveIt
Flag to remove the text from the elementGets value of a select element
select
elementChecks if an element has an attribute
elm
Target elementattr
Attribute nameCreates a documentFragment from an HTML string.
html
HTML stringCheck if an element is inside the viewport
element
DOM Elementoptions
Options object. If you pass a Boolean value here, it is interpreted as `options.partial`options.partial
falseReturn `true` even if it is only partially visible.options.margin
0Consider a margin all around the viewport with `opts.margin` width a dead zone.Inserts an element right after another
newElm
Element to be insertedtargetElm
Key elementInserts an element before another
newElm
Element to be insertedtargetElm
Key elementInserts an element as the last child of another
newElm
Element to be insertedtargetElm
Key elementInserts an element as the first child of another
newElm
Element to be insertedtargetElm
Key elementChecks if a node is an ancestor of another
ancestor
Ancestor nodenode
Descendant nodeChecks if something is a DOM Element.
o
The object to be checked.Example
{% highlight html %}{% raw %} var el = Ink.s('#element'); if( InkElement.isDOMElement( el ) === true ){ // It is a DOM Element. } else { // It is NOT a DOM Element. } {% endraw %}{% endhighlight %}Check if an element is hidden.
Taken from Mootools Element extras ( https://gist.github.com/cheeaun/73342 )
Does not take into account visibility:hidden
element
Element to checkChecks if an element is a link
element
Element to check if it's a link.Check if an element is visible
element
Element to checkGet the last child element of another
elm
Parent nodeMove the cursor on an input or textarea element.
el
Input or Textarea elementt
Index of the character to move the cursor toGet the first sibling element after the node
node
The current nodeGets the next siblings of an element
elm
Elementelm
Target elementGets the cumulative offset for an element
Returns the top left position of the element on the page
Alias for offset()
el
Element to be passed to `offset()`Gets the left offset of an element
elm
Target elementGets the top offset of an element
elm
Target elementGet the outer dimensions of an element in pixels.
element
Target elementGet the page's height.
{% include js_samples/Ink_Dom_Element_1_pageHeight.html %}Get the page's width.
{% include js_samples/Ink_Dom_Element_1_pageWidth.html %}Gets the index of an element relative to a parent
parentEl
childEl's parent. Deprecated.childEl
Child Element to look forGets the relative offset of an element
element
Target elementPrepends HTML to an element.
This method parses the html string and doesn't modify its contents
elm
Elementhtml
Markup string to prependGet the first sibling element before the node
node
The current nodeGets the previous siblings of an element
elm
ElementRemoves a DOM Element
elm
The element to removeRemoves direct text children.
Useful to remove nasty layout gaps generated by whitespace on the markup.
el
Element to remove text fromReplaces an element with another.
element
The element to be replaced.replacement
The new element.Example
{% highlight html %}{% raw %} var newelement1 = InkElement.create('div'); // ... replace(Ink.i('element1'), newelement1); {% endraw %}{% endhighlight %} {% include js_samples/Ink_Dom_Element_1_replace.html %}Gets the scroll of the element
elm
Target element or document.bodyReturns how much pixels the page was scrolled from the top of the document.
Scrolls the window to an element
elm
Element where to scrollReturns how much pixels the page was scrolled from the left side of the document.
Sets the inner HTML of an element.
elm
Elementhtml
Markup stringReplaces text content of a DOM Node
This method removes any child node previously present
node
Target node where the text will be added.text
Text to be added on the node.Gets the all siblings of an element
elm
ElementRetrieves textContent from node
node
Where to retreive text from. Can be any node type.Places an element outside a wrapper.
elem
The element you're trying to unwrap. This should be an ancestor of the wrapper.wrapperSelector
CSS Selector for the ancestor. Use this if your wrapper is not the direct parent of elem.Example
{% highlight html %}{% raw %} When you have this:Get the viewport's height.
{% include js_samples/Ink_Dom_Element_1_viewportHeight.html %}Get the viewport's width.
{% include js_samples/Ink_Dom_Element_1_viewportWidth.html %}Wraps an element inside a container.
The container may or may not be in the document yet.
target
Element to be wrappedcontainer
Element to wrap the targetExample
{% highlight html %}{% raw %} before: call this function to wrap #target with a wrapper div. InkElement.wrap('target', InkElement.create('div', {id: 'container'}); after:


The own playlist function added to the player instance.
- Source:
Methods
(static) autoadvance(seconds)
Sets up auto-advance on the playlist.
Parameters:
| Name | Type | Description |
|---|---|---|
seconds |
Number |
- Source:
(static) contains(value) → {Boolean}
Checks if the playlist contains a value.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
String | Object | Array |
- Source:
Returns:
- Type
- Boolean
(static) currentItem(indexopt) → {Number}
Get or set the current item in the playlist.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
index |
Number |
<optional> |
If given as a valid value, plays the playlist item at that index. |
- Source:
Returns:
The current item index.
- Type
- Number
(static) first() → {Object|undefined}
Plays the first item in the playlist.
- Source:
Returns:
Returns undefined and has no side effects if the list is empty.
- Type
- Object | undefined
(static) indexOf(value) → {Number}
Gets the index of a value in the playlist or -1 if not found.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
String | Object | Array |
- Source:
Returns:
- Type
- Number
(static) next() → {Object|undefined}
Plays the next item in the playlist.
- Source:
Returns:
Returns undefined and has no side effects if on last item.
- Type
- Object | undefined
(static) previous() → {Object|undefined}
Plays the previous item in the playlist.
- Source:
Returns:
Returns undefined and has no side effects if on first item.
- Type
- Object | undefined


For
Educational use
Only
About 1,26,00,00,000 results (0.69 seconds)
Design of this website is copied form google websites and few other. This is just for educational use :)


Part of the Enterprise Sign On Engine Suite available at http://esoeproject.org
This software was developed at the Queensland University of Technology by:
This software utilizes additional open source projects, libraries and graphics, including:
All ESOE project code, configuration, documentation is available under the Apache 2.0 license.
Full details of the license are available on the Apache website