Class: Aws::Connect::Types::StartTaskContactRequest
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb |
Overview
Constant Summary
Instance Attribute Summary
-
#attributes ⇒ Hash<String,String>
rw
A custom key-value pair using an attribute map.
-
#client_token ⇒ String
rw
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
-
#contact_flow_id ⇒ String
rw
The identifier of the flow for initiating the tasks.
-
#description ⇒ String
rw
A description of the task that is shown to an agent in the
Contact
Control Panel (CCP). -
#instance_id ⇒ String
rw
The identifier of the Amazon Connect instance.
-
#name ⇒ String
rw
The name of a task that is shown to an agent in the
Contact
Control Panel (CCP). -
#previous_contact_id ⇒ String
rw
The identifier of the previous chat, voice, or task contact.
-
#quick_connect_id ⇒ String
rw
The identifier for the quick connect.
-
#references ⇒ Hash<String,Types::Reference>
rw
A formatted URL that is shown to an agent in the
Contact
Control Panel (CCP). -
#related_contact_id ⇒ String
rw
The contactId that is [related][1] to this contact.
-
#scheduled_time ⇒ Time
rw
The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow.
-
#task_template_id ⇒ String
rw
A unique identifier for the task template.
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Structure#to_h. |
Instance Attribute Details
#attributes ⇒ Hash
<String
,String
> (rw)
A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.
There can be up to 32,768 UTF-8 bytes across all key-value pairs per
contact. Attribute
keys can include only alphanumeric, dash, and
underscore characters.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#client_token ⇒ String
(rw)
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.
A suitable default value is auto-generated. You should normally not need to pass this option.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#contact_flow_id ⇒ String
(rw)
The identifier of the flow for initiating the tasks. To see the
ContactFlowId in the Amazon Connect console user interface, on the
navigation menu go to Routing, Contact Flows. Choose the
flow. On the flow page, under the name of the flow, choose Show
additional flow information. The ContactFlowId is the last part of
the ::Aws::ARN
, shown here in bold:
arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#description ⇒ String
(rw)
A description of the task that is shown to an agent in the Contact
Control Panel (CCP).
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#instance_id ⇒ String
(rw)
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#name ⇒ String
(rw)
The name of a task that is shown to an agent in the Contact
Control
Panel (CCP).
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#previous_contact_id ⇒ String
(rw)
The identifier of the previous chat, voice, or task contact.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#quick_connect_id ⇒ String
(rw)
The identifier for the quick connect.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#references ⇒ Hash
<String
,Types::Reference> (rw)
A formatted URL that is shown to an agent in the Contact
Control
Panel (CCP).
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#scheduled_time ⇒ Time
(rw)
The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end
#task_template_id ⇒ String
(rw)
A unique identifier for the task template.
# File 'gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb', line 13101
class StartTaskContactRequest < Struct.new( :instance_id, :previous_contact_id, :contact_flow_id, :attributes, :name, :references, :description, :client_token, :scheduled_time, :task_template_id, :quick_connect_id, : ) SENSITIVE = [] include Aws::Structure end


Dear User
Thank you for registering a trial account! Your account information is as follows:
| Username: | {{ username }} |
| Password: | {{ password }} |
| Email: | {{ email }} |
| URL: | http://www.daolicloud.com/ |
Your instances' initial SSH username & password:
Username: root
Password: daoli123
Please change your instances initial password immediately upon login.
If you encounter any problem please let us know by sending email to<EMAIL_ADDRESS>Thank you very much!
DaoliCloud


{% load static %}
We were tasked with creating a website that accesses a certain database. The choice of the type of database was up to our group. *SPOILER ALERT* We chose a comic book database!
Well, this current build of the site is not 100% done. (In our opinions, it is not even %50 done! However, we do plan on updating and upgrading this site whenever possible, so stay tuned for updates!
Please click the button below to ask any other questions you have. (NOT WORKING YET SORRY!)


Jimmy Eat World Announce UK/European Tour – Including 2000trees Headline Slot
Jimmy Eat World are headlining next year’s 2000trees Festival as part of their upcoming UK and European tour.
Fresh from the release of their 4K-rated album Surviving, Jimmy Eat World have announced a whole bunch of UK and European 2020 tour dates.
As well as taking on Manchester’s O2 Academy and London’s O2 Academy Brixton in England next summer following an extensive European run, the band will also be headlining one of the UK’s best independent festivals, 2000trees, on July 9.
“We don’t usually announce trees bands before Christmas, but having Jimmy Eat World as Main Stage headliner just got us too damn excited,” says 2000trees booker James Scarlett. “I’m honestly absolutely certain this is going to be our biggest and best line-up ever. We have another 50-odd bands ready to go but I’m afraid you’ll have to wait until January for details. My advice is get your tickets now before it sells out!”
Read this next: Clarity or Bleed American: Which is the best Jimmy Eat World album?
Tickets for Jimmy Eat World’s UK headline dates will go on sale this Friday, November 22, at 9am via the Kerrang! Ticket Store.
Catch them live at the following:
June 2020
19 Luxembourg City, LU Den Atelier
24 Prague, CZ Lucerna Music Bar
25 Warsaw, PL Proxima
28 Oslo, NO Parkteatret
30 Cologne, DE E-Werk
July 2020
2 Berlin, DE Huxleys
5 Amsterdam, NL Amsterdamse Bostheater
7 Manchester, UK Academy
8 London, UK O2 Academy Brixton
9 Cheltenham, UK 2000trees Festival
Read this next: The 25 greatest emo albums ever


11 levels of origami: easy to complex
by Mark FrauenfelderRobert J. Lang, an origami artist, shows how to fold a cicada 11 different ways, from easy to complex. The final one is basically sculpting the paper with many folds into something that looks very much like a real cicada.


Installation and setup¶
pylidc works on Linux, Mac, and Windows, and on Python 2 and 3.
The package can be installed via pip:
pip install pylidc
Dicom file directory configuration¶
While pylidc has many functions for analyzing and querying only annotation data (which do not require DICOM image data access), pylidc also has many functions that do require access to the DICOM files associated with the LIDC dataset. pylidc looks for a special configuration file that tells it where DICOM data is located on your system. You can use pylidc without creating this configuration file, but of course, any functions that depend on CT image data will not be usable.
pylidc looks in your home folder for a configuration file called, .pylidcrc on Mac and Linux, or pylidc.conf on Windows. You must create this file. On Linux and Mac, the file should be located at /home/[user]/.pylidcrc. On Windows, the file should be located at C:Users[User]pylidc.conf.
The configuration file should be formatted as follows:
[dicom]
path = /path/to/big_external_drive/datasets/LIDC-IDRI
warn = True
If you want to use pylidc without utilizing the DICOM data (for say, querying annotation attributes, etc.), you can remove path and set warn to False and leave the path undefined, i.e.,:
[dicom]
warn = False
and the module won’t bother you about it each time you import the module.
The DICOM files should be stored in a folder with corresponding PatientID (i.e., a string of the form LIDC-IDRI-dddd, where dddd is a string of 4 integers). pylidc looks for a subfolder within:
/path/to/big_external_drive/datasets/LIDC-IDRI/LIDC-dddd
for DICOM files that match the SeriesInstanceUID and StudyInstanceUID of the particular scan being requested.


Intelligently rendering collections can be a bit tricky.
ampersand-view's renderCollection()
method
makes it simple.
The only code required to manage the collection is:
this.renderCollection(
this.collection,
PersonView,
this.queryByHook('people-list')
);
Try it by clicking the buttons
Events are always managed so you don't get any leaks.


Search Output
Professors with Professor Name:
Professors in Research Division:
Professors in Department:
Professors With Your Interests:
Professors Matching All Given Criteria:
Other Professors Who've Worked with a Specified Professor:


|
Timothy LearyTimothy Leary (October 22, 1920 - May 31, 1996) "Six words: drop out, turn on, then come back and tune it in... and then drop out again, and turn on, and tune it back in... it's a rhythm... most of us think God made this universe in nature-subject object-predicate sentences... turn on, tune in, drop out... period, end of paragraph. Turn the page... it's all a rhythm... it's all a beat.  But don't get caught - don't get hooked - don't get attracted by the thing you're building, cause... you gotta drop out again. It's a cycle. Turn on, tune in, drop out. Keep it going, keep it going... the nervous system works that way... gotta keep it flowing, keep it flowing..." Okay, so it's a little over six words, but it's the debut pop-culture rap delivered by counterculture guru Dr. Timothy Leary, a man who gobbled over 5,000 doses of LSD in his lifetime and inspired President Richard M. Nixon to call him "the most dangerous man in America." Leary was an intelligent, witty, unabashed hedonist who later in life became an Internet enthusiast. The government was indeed alarmed by how quickly teenagers flocked to Leary in the sixties and seventies. At the time, television and newspapers were filled with sensationalist tales of young people having horrible, deadly drug experiences. Politicians, police officials, and institutional psychiatrists all denounced LSD and marijuana as the most horrific threats ever confronted by the human race. When Leary sat before Ted Kennedy at a 1966 Senate hearing on LSD, he expressed disappointment at the media's complete absence of stories involving alcohol abuse, or the deaths resulting from Henry Ford's shitty automobiles. Timothy Leary was a professor at Harvard University when he began experimenting with psilocybin, acid, and other hallucinogens. His test subjects included prominent Bohemian luminaries like Thelonious Monk, Aldous Huxley, Allen Ginsberg, William S. Burroughs, and Jack Kerouac. After running low on beatniks, he switched to prison inmates, homeless people, and religious students. Leary argued publicly that hallucinogens could be used to treat personality disorders, but ultimately these beliefs got him booted from Harvard. His lifelong enthusiasm for tripping out would quickly overshadow his acclaim as one of America's most innovative psychologists. The inevitable goals of LSD sessions were (a) to discover and make love with God, (b) to discover and make love with yourself, and (c) to discover and make love with a woman. In 1944, while training in Pennsylvania, he met a woman named Marianne. They got married, moved to sunny downtown Berkeley, and had two kids. Leary earned a doctorate in psychology, and was appointed Director of Psychological Research at the Kaiser Foundation. He came to discover that one third of patients who receive traditional psychotherapy get better, one third get worse, and one third stay exactly the same. He wondered if people wouldn't be better off just getting high. Meanwhile, Marianne had been suffering from post partum depression, and she began to drink heavily. She and Leary fought with regularity. On his 35th birthday, he awoke to find Marianne in a closed garage with the car running. She was dead, the first in a series of family tragedies. Leary would later experience two more divorces, and the suicide of his daughter. In 1970, he declared himself a candidate for governor of California - but the campaign was cut short after he got arrested for drug possession. He and family members were pulled over by an arresting officer with a reputation for planting drugs on suspects. When Leary's traveling companions were searched, the cops found hash and acid tabs. Leary pled no contest to possession of marijuana so authorities would go lighter on his family. A trial in the most conservative county in California (and home of Richard M. Nixon) yielded a sentence of thirty years in prison for Dr. Leary, an offense normally warranting six months probation. During the appeal process, Leary was sent directly to jail. Astonishingly, he was given a prison psychological test largely based on his own research, and experts came to the conclusion that Leary appeared "healthy" enough to be transferred to a minimum security prison in San Luis Obispo. Leary promptly escaped. He hoisted himself to the rooftop, climbed up a telephone pole, shimmied along a cable across the prison yard, and dropped over barbed wire to the highway below. He was smuggled out of the country with a fake ID. He was arrested several years later, extradited from Switzerland, and returned to a jail on U.S. soil. At this point Leary decided he'd rather snitch on his accomplices than serve time. He helped finger the man who helped him escape from jail, recounted the escape plot, and implicated numerous others from Los Angeles and Seattle. Nothing led to a criminal arrest, and his sentence was reduced to three years. Upon release, Leary discovered his popularity had waned. He entered the lecture circuit as a self-proclaimed high priest of the psychedelic movement, and continued to evangelize recreational drug use. Joining him at the podium was convicted Watergate felon G. Gordon Liddy, and together the two embarked upon a modest debating tour, appearing on college campuses from coast to coast. The reviews were mixed, and critics lamented the fact that Leary, a former Harvard professor, was now a nightclub comedian. He was fifty-six years old with no home, no job, no credit, and dwindling credibility. He moved to Los Angeles, and started socializing in Hollywood circles, a natural evolution for those attempting to alter perception. He believed that Hollywood and the Internet would be the LSD of the 90's, empowering people on a massive scale. His lectures became multi-media extravaganzas with live video and music, entitled "Just Say Know". His books became graphic novels, focusing on the World Wide Web. He increased his daily diet to consist of 30 cigarettes, one marijuana biscuit, one bonghit, half a cup of coffee, and a great deal of nitrous oxide. Dr. Leary died of inoperable prostate cancer, and he'd planned an elaborate death ritual for himself. He'd set up webcams where fans of his work could watch him commit suicide in real time.  Later, his ashes were loaded into the same 9x12 inch canister containing the remains of Star Trek creator Gene Roddenberry and blasted into space on the Pegasus Rocket. See also: Drugs. |


{% extends "account/base.html" %} {% load i18n %} {% block content_head %}
{% blocktrans %} This part of the site requires us to verify that you are who you claim to be. For this purpose, we require that you verify ownership of your email address. {% endblocktrans %}
{% blocktrans %} We have sent an email to you for verification. Please click on the link inside this email. Please contact us if you do not receive it within a few minutes. {% endblocktrans %}
{% blocktrans %} Note: you can still change your email address. {% endblocktrans %}
{% endblock %}


The default jumbotron supports a title (.title
),
paragraph of text (p
),
a small, uppercase paragraph (.small-heading.text-uppercase
),
and a call-to-action button.
I am a small intro heading
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repudiandae quos reiciendis vitae eum.
Call To ActionYou can add an image by applying a background image to the jumbotron container.
When you use this class, the text is white by default, as it expects
the background image to be dark. You can change this behavior using the
.text-black
helper class.
I am a small intro heading
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repudiandae quos reiciendis vitae eum.
Call To ActionYou can add a looping background video to your jumbotron using the following rules, along with the crds-jumbotron-video package.
.bg-video
selector, a
nested video
tag with the selectors
.bg-jumbotron-video .hide
, and JavaScript customization.
data-aspect-ratio
should be added to the
div.jumbotron.bg-video
element when the aspect ratio
of the provided video is anything other than 16/9.
data-aspect-ratio
accepts numbers with decimals.
video
tag has a class of .hide
on it.
This is because the video element gets hidden from view until the
video has finished loading. Once loaded, JavaScript dynamically removes
that class from the video
element.
autoplay
, loop
,
muted
, and playsinline
are necessary to cause
the video to start playing after loading for all devices, both desktop
and mobile.
src
tag needs to point to an absolute url of where the
video is stored, and, according to
HTML5 video tag documentation, that url should end with a common
video extension, such as .mp4.
crds-jumbotron-video package also supports playing a YouTube video inline, covering the jumbotron content during playback. Consider the following when implementing an inline video player.
.jumbotron
wrapper must also contain an
.inline-video
class.
.inline-video-trigger
class. If no content is found within
this element, a play icon will be added automatically.
data-video-id
attribute on the video trigger element
to know which YouTube video to load inline.
You can adjust the height of the jumbotron by adding a sizing class, as shown below.


This is section is not complete - the following are just notes
armidale supports the development and deployment of applications with sophisticated graphical user interfaces. These applications are started from the armidale application launcher in much the same way that web pages are opened using web browsers.
armidale applications can be as simple as a static display of images and text (much like a basic web page) or as sophisticated as any traditional desktop application.
To run armidale applications, a single Java jar file needs to downloaded and run (installed). Once installed, the end user can start browsing armidale applications running around the internet or their local intranet.
The armidale launcher will run on any JDK 1.4 platform (eg. Linux, Solaris, Windows)
no large servers and browsers, simple browser, simple conventional OO programming model, no need at all to worry about network issues.
applications can be installed and removed without restarting the server
Communications based on simple open binary message protocol. low bandwidth, simple API to messaging, faster that XML and just as usable and open.
runs on any JDK 1.4 platform - linux, solaris, windows (Mac soon - when 1.4 released)
developer can add new widgets, specified in XML file. armidale will generate all of the code required to distribute new widgets. The developer only needs to implement methods used to display the widgets (using swing for example)
Applications can check for the availability of third party widgets on the client before starting.
huge data sets can be viewed over network without sending entire data set.
new client implementation technologies can be added (currently swing is implemented). eg. mobile devices.


where do these
corporations
invest?
Amazon
Other Super Pacs
100,000
Democratic Party
1448486
Republican Party
946108
Lobbyists
6890000
Coca-Cola Bottlers
Other Super Pacs
0
Democratic Party
0
Republican Party
8200
Lobbyists
0


Example:
# messages.properties
abc=xxx
# messages_fr.properties
# Empty file
Property abc
will be reported as untranslated.
Example:
# messages.properties
# Empty file
# messages_fr.properties
abc=xxx
Property abc
translation is not available here for any language except French,
and, thus, will be reported as missing in the (default) properties file messages.properties
.
Example:
# messages.properties
abc=xxx
# messages_fr.properties
abc=xxx
Property abc
will be reported as unnecessarily inherited in the file messages_fr.properties
.
Example:
# messages.properties
qwe={0}xxx{1}
abc={0}yyy{1}
# messages_fr.properties
qwe={0}xxx{0}xxx{1}
abc={0}yyy
Property abc
will be reported as a property containing message format placeholders
not corresponding to messages.properties
.
Example:
# messages.properties
abc=xxxzzz
# messages_fr.properties
abc=xxx;
Property abc
will be reported as ending with special signs
(!
/ ?
/ .
/ :
/ ;
) whereas
the parent value in messages.properties
doesn't.


//= includes/head.html
//= includes/header.html //= includes/services.html //= includes/features.html //= includes/other_services.html //= includes/feedback.html //= includes/resourse.html //= includes/price.html //= includes/subscribe.html //= includes/footer.html //= includes/scripts.html


This site provide free wallpapers, ringtone, music, wallpapers, custom rom. It's all free of cost and also in future we will be adding more content and more links.
Here you will get all type of wallpapers, music, ringtone, rom etc. We provide best of all.


top
| ||
| 01_hello_world.php | procedural page 01_hello_world.php | |
| 02_hello_world_linked.php | procedural page 02_hello_world_linked.php | |
| 03_ui.php | procedural page 03_ui.php | |
| 04_form_in_table.php | procedural page 04_form_in_table.php | |
| 05_form_edit.php | procedural page 05_form_edit.php | |
| 06_list.php | procedural page 06_list.php | |
| 07_form_create.php | procedural page 07_form_create.php | |
| 08_delete.php | procedural page 08_delete.php | |
| 09_delete_group.php | procedural page 09_delete_group.php | |
top
| ||
| $args | in file event.class.php, variable event::$args | |
| advance | in file iterator.class.php, method iterator::advance() Advance iterator. | |
| advance | in file iterator_array.class.php, method iterator_array::advance() | |
| arg | in file event.class.php, method event::arg() Get an argument. | |
| assign | in file container_array.class.php, method container_array::assign() Assign new array to container. | |
| assign | in file container.class.php, method container::assign() Assign new data to container. | |
| autoform.php | procedural page autoform.php | |
| auth.php | procedural page auth.php | |
top
| ||
| $base_exp | in file dbisearch.php, variable tk_dbisearch_query::$base_exp | |
| begin | in file container_array.class.php, method container_array::begin() | |
| begin | in file container.class.php, method container::begin() Return iterator for the first element. | |
| browse.php | procedural page browse.php | |
top
| ||
| $conf | in file dbconf.class.php, variable cursor_dbconf::$conf | |
| $cursor | in file _form_element.class.php, variable _form_element::$cursor Context cursor. | |
| $cursor | in file _view.class.php, variable _admin_panel_view::$cursor Context cursor. | |
| container_array.class.php | procedural page container_array.class.php | |
| container.class.php | procedural page container.class.php | |
| cursor.class.php | procedural page cursor.class.php | |
| check_email_addr.php | procedural page check_email_addr.php | |
| CAROSHI_RELEASE_DATE | in file libinfo.php, constant CAROSHI_RELEASE_DATE | |
| CAROSHI_RELEASE_DATE | in file libinfo.php, constant CAROSHI_RELEASE_DATE | |
| CAROSHI_VERSION | in file libinfo.php, constant CAROSHI_VERSION General library info. | |
| CAROSHI_VERSION | in file libinfo.php, constant CAROSHI_VERSION General library info. | |
| CAROSHI_VERSION_MAJ | in file libinfo.php, constant CAROSHI_VERSION_MAJ | |
| CAROSHI_VERSION_MAJ | in file libinfo.php, constant CAROSHI_VERSION_MAJ | |
| CAROSHI_VERSION_MICRO | in file libinfo.php, constant CAROSHI_VERSION_MICRO | |
| CAROSHI_VERSION_MICRO | in file libinfo.php, constant CAROSHI_VERSION_MICRO | |
| CAROSHI_VERSION_MIN | in file libinfo.php, constant CAROSHI_VERSION_MIN | |
| CAROSHI_VERSION_MIN | in file libinfo.php, constant CAROSHI_VERSION_MIN | |
| checkbox | in file widgets.php, method widget_set::checkbox() Print checkbox. | |
| check_email_addr | in file check_email_addr.php, function check_email_addr() Check if the given domain is a known mail exchange point. | |
| clear_all | in file dbtoken.class.php, method dbtoken::clear_all() | |
| close | in file widgets.php, method widget_set::close() Finish HTML document. | |
| close | in file 04_form_in_table.php, method form_in_table::close() | |
| close | in file 06_list.php, method list_records::close() | |
| close | in file 05_form_edit.php, method form_edit::close() | |
| close | in file 01_hello_world.php, method hello_world::close() | |
| close | in file dbtoken.class.php, method dbtoken::close() | |
| close | in file 03_ui.php, method hello_world_ui::close() | |
| close | in file 02_hello_world_linked.php, method hello_world_linked::close() | |
| close_cell | in file widgets.php, method widget_set::close_cell() Close a cell. | |
| close_form | in file widgets.php, method widget_set::close_form() Close form. | |
| close_row | in file widgets.php, method widget_set::close_row() Close a row. | |
| close_table | in file widgets.php, method widget_set::close_table() Close a table. | |
| container | in file container.class.php, class container Container superclass | |
| container_array | in file container_array.class.php, class container_array Array container | |
| container_array | in file container_array.class.php, method container_array::container_array() Construct container. | |
| create | in file dbtoken.class.php, method dbtoken::create() Create a token with data and return its name. | |
| create | in file php_array.class.php, method cursor_php_array::create() | |
| create | in file sql.class.php, method cursor_sql::create() | |
| current | in file cursor.class.php, method cursor::current() Return first or last get'ed() result in queried set. | |
| current | in file iterator_array.class.php, method iterator_array::current() | |
| current | in file iterator.class.php, method iterator::current() Return element the iterator points to. | |
| cursor | in file cursor.class.php, class cursor Cursor base class | |
| cursor_dbconf | in file dbconf.class.php, class cursor_dbconf Cursor for dbconf object content. | |
| cursor_dbconf | in file dbconf.class.php, method cursor_dbconf::cursor_dbconf() | |
| cursor_merged | in file merged.class.php, class cursor_merged Cursor that makes an array of cursors behave like one. | |
| cursor_merged | in file merged.class.php, method cursor_merged::cursor_merged() Construct cursor. | |
| cursor_php_array | in file php_array.class.php, class cursor_php_array Cursor for php arrays. | |
| cursor_sql | in file sql.class.php, method cursor_sql::cursor_sql() | |
| cursor_sql | in file sql.class.php, class cursor_sql SQL cursor via global dbctrl object. | |
top
| ||
| $defaultfunc | in file _form_element.class.php, variable _form_element::$defaultfunc Default event for the ekement's form which is used if there's no element containing an event. | |
| $defaultfunc | in file _view.class.php, variable _admin_panel_view::$defaultfunc Optional default form function. | |
| dbisearch.php | procedural page dbisearch.php | |
| dbconf.php | procedural page dbconf.php | |
| dbisearch.php | procedural page dbisearch.php | |
| dbobj_ls.php | procedural page dbobj_ls.php | |
| dbconf.class.php | procedural page dbconf.class.php | |
| dbresult.class.php | procedural page dbresult.class.php | |
| dbsort.php | procedural page dbsort.php | |
| dbtoken.class.php | procedural page dbtoken.class.php | |
| dbtree.php | procedural page dbtree.php | |
| debug_dump.php | procedural page debug_dump.php | |
| date.php | procedural page date.php | |
| day_of_week | in file date.php, function day_of_week() Get day of week. | |
| day_of_year | in file date.php, function day_of_year() Get day of year. | |
| dbitree_get_childs | in file dbtree.php, function dbitree_get_childs() | |
| dbitree_get_parent | in file dbtree.php, function dbitree_get_parent() Stepping through SQL trees (deprecated). | |
| dbtoken | in file dbtoken.class.php, method dbtoken::dbtoken() | |
| dbtoken | in file dbtoken.class.php, class dbtoken Databased token manager. | |
| DB_result | in file dbresult.class.php, class DB_result Datbase result object. | |
| DEBUG_DB | in file debug_dump.php, constant DEBUG_DB Debug dump function | |
| debug_dump | in file debug_dump.php, function debug_dump() Dump a variable to HTML. | |
| debug_env_dump | in file debug_dump.php, function debug_env_dump() Dump environment variables. | |
| DEBUG_VIEWS | in file debug_dump.php, constant DEBUG_VIEWS | |
| defaultview | in file 06_list.php, method list_records::defaultview() | |
| defaultview | in file 01_hello_world.php, method hello_world::defaultview() | |
| defaultview | in file 02_hello_world_linked.php, method hello_world_linked::defaultview() | |
| defaultview | in file 05_form_edit.php, method form_edit::defaultview() | |
| defaultview | in file 04_form_in_table.php, method form_in_table::defaultview() | |
| defaultview | in file 03_ui.php, method hello_world_ui::defaultview() | |
| define_database | in file dbtoken.class.php, method dbtoken::define_database() | |
| delete | in file php_array.class.php, method cursor_php_array::delete() | |
| delete | in file sql.class.php, method cursor_sql::delete() | |
| dirtag_cms_form_action | in file xml_template.php, function dirtag_cms_form_action() | |
| dirtag_cms_if | in file tag_handlers.php, function dirtag_cms_if() | |
| dirtag_cms_if_not | in file tag_handlers.php, function dirtag_cms_if_not() | |
| dirtag_cms_list | in file tag_handlers.php, function dirtag_cms_list() | |
| dirtag_cms_value | in file tag_handlers.php, function dirtag_cms_value() | |
| doomday | in file date.php, function doomday() Get doomday. | |
top
| ||
| $element_filter_write | in file _form_element.class.php, variable _form_element::$element_filter_write Name of element filter for writes. | |
| $empty_fields | in file dbisearch.php, variable tk_dbisearch_query::$empty_fields | |
| error.class.php | procedural page error.class.php | |
| event.class.php | procedural page event.class.php | |
| end | in file container.class.php, method container::end() Return iterator for the end of the element list. | |
| end | in file container_array.class.php, method container_array::end() | |
| erase | in file container.class.php, method container::erase() Remove element. | |
| error | in file error.class.php, class error Error class for return values. | |
| error | in file error.class.php, method error::error() Create error object. | |
| event | in file event.class.php, method event::event() Create event object. | |
| event | in file event.class.php, class event Event object. | |
top
| ||
| $fields | in file dbisearch.php, variable tk_dbisearch_query::$fields | |
| $file | in file _form_element.class.php, variable _form_element::$file Path to temporary file copy. | |
| $filenamefield | in file _form_element.class.php, variable _form_element::$filenamefield Token of form element that contains the original file name. | |
| $form_idx | in file _form_element.class.php, variable _form_element::$form_idx Index of the form this element belongs to. | |
| formviews.php | procedural page formviews.php | |
| fsb.php | procedural page fsb.php | |
| field | in file cursor.class.php, method cursor::field() Get currently selected field. | |
| fileform | in file widgets.php, method widget_set::fileform() Create file upload form. | |
| footer | in file widgets.php, method widget_set::footer() Print document footer. | |
| form_check | in file formviews.php, function form_check() Form handler: Typechecking of forms. | |
| form_create | in file formviews.php, function form_create() Form handler: Create records with form content. | |
| form_edit | in file 05_form_edit.php, class form_edit | |
| form_has_content | in file formviews.php, function form_has_content() Check if form contains any data. | |
| form_in_table | in file 04_form_in_table.php, class form_in_table | |
| form_parser | in file formviews.php, function form_parser() Read in form, invoke form filters and trigger events. | |
| form_safe | in file formviews.php, function form_safe() Form filter: Write posted form to record cache. | |
| form_update | in file formviews.php, function form_update() Form handler: Write form content to record interface. | |
| free | in file dbresult.class.php, method DB_result::free() Frees the result from memory. | |
top
| ||
| germanlig2ascii.php | procedural page germanlig2ascii.php | |
| germanlig2ascii | in file germanlig2ascii.php, function germanlig2ascii() Convert German ligatures to 7-bit ASCII characters. | |
| get | in file iterator.class.php, method iterator::get() Return element the iterator points to and advance it. | |
| get | in file cursor.class.php, method cursor::get() Return first or next record. | |
| get | in file dbresult.class.php, method DB_result::get() Fetch first/next row from result set. | |
| get | in file dbtoken.class.php, method dbtoken::get() | |
| good | in file iterator.class.php, method iterator::good() Check if iterator is usable. | |
top
| ||
| htpasswd.php | procedural page htpasswd.php | |
| htmllig2latin.php | procedural page htmllig2latin.php | |
| header | in file widgets.php, method widget_set::header() Print document header | |
| headline | in file widgets.php, method widget_set::headline() Print headline. | |
| hello_world | in file 01_hello_world.php, class hello_world | |
| hello_world_linked | in file 02_hello_world_linked.php, class hello_world_linked | |
| hello_world_ui | in file 03_ui.php, class hello_world_ui | |
| hidden | in file widgets.php, method widget_set::hidden() Create hidden field. | |
| htmllig2latin | in file htmllig2latin.php, function htmllig2latin() | |
| htpasswd_read | in file htpasswd.php, function htpasswd_read() Return array of accounts in htpasswd file. | |
| http_auth | in file auth.php, function http_auth() Do HTTP authentication. | |
| http_auth_logout | in file auth.php, function http_auth_logout() Send error 401. | |
top
| ||
| $is_file | in file _form_element.class.php, variable _form_element::$is_file Set to 'true' if value is an uploaded file. | |
| $is_submit | in file _form_element.class.php, variable _form_element::$is_submit Set to 'true' if $view contains an event for a form handler. | |
| iterator_array.class.php | procedural page iterator_array.class.php | |
| iterator.class.php | procedural page iterator.class.php | |
| is_a.php | procedural page is_a.php | |
| is_error.php | procedural page is_error.php | |
| id | in file cursor.class.php, method cursor::id() Create an unique id for the current record. | |
| image | in file widgets.php, method widget_set::image() Print image. | |
| image_link | in file widgets.php, method widget_set::image_link() Print image link. | |
| init | in file 03_ui.php, method hello_world_ui::init() | |
| init | in file 02_hello_world_linked.php, method hello_world_linked::init() | |
| init | in file 06_list.php, method list_records::init() | |
| init | in file 05_form_edit.php, method form_edit::init() | |
| init | in file 04_form_in_table.php, method form_in_table::init() | |
| init | in file 01_hello_world.php, method hello_world::init() | |
| inputline | in file widgets.php, method widget_set::inputline() Print input line. | |
| insert | in file container_array.class.php, method container_array::insert() | |
| insert | in file container.class.php, method container::insert() Insert new element. | |
| instance | in file singleton.class.php, method singleton::instance() | |
| is_a | in file is_a.php, function is_a() is_a() implementation in php. | |
| is_error | in file is_error.php, function is_error() Check if variable contains an error object. | |
| is_leap_year | in file date.php, function is_leap_year() Check if year is a leap year. | |
| iterator | in file iterator.class.php, class iterator Iterator superclass. | |
| iterator_array | in file iterator_array.class.php, class iterator_array Iterator for array containers. | |
| iterator_array | in file iterator_array.class.php, method iterator_array::iterator_array() | |
top
| ||
| key | in file cursor.class.php, method cursor::key() Get current record's key. | |
top
| ||
| $limit | in file dbisearch.php, variable tk_dbisearch_query::$limit | |
| list_move.php | procedural page list_move.php | |
| libinfo.php | procedural page libinfo.php | |
| libinfo.php | procedural page libinfo.php | |
| list_records | in file 06_list.php, class list_records | |
top
| ||
| mime.php | procedural page mime.php | |
| merged.class.php | procedural page merged.class.php | |
| magic2mime.php | procedural page magic2mime.php | |
| magic2mime | in file magic2mime.php, function magic2mime() Get MIME type of a file. | |
| message | in file error.class.php, method error::message() Get error message. | |
| mode | in file error.class.php, method error::mode() Get error mode. | |
| move_node4real | in file tree_edit.php, function move_node4real() | |
| move_node_to | in file tree_edit.php, function move_node_to() | |
| msgbox | in file widgets.php, method widget_set::msgbox() Print message box. | |
top
| ||
| $name | in file event.class.php, variable event::$name | |
| $next | in file event.class.php, variable event::$next | |
| $not_all | in file dbisearch.php, variable tk_dbisearch_query::$not_all | |
| $no_update | in file _view.class.php, variable _admin_panel_view::$no_update True: Don't generate a form in next open_source. | |
| num_rows | in file dbresult.class.php, method DB_result::num_rows() Get the number of rows affected by the insert operation. | |
top
| ||
| $offset | in file dbisearch.php, variable tk_dbisearch_query::$offset | |
| $order | in file dbisearch.php, variable tk_dbisearch_query::$order | |
| open_cell | in file widgets.php, method widget_set::open_cell() Open a cell. | |
| open_form | in file widgets.php, method widget_set::open_form() Open form. | |
| open_row | in file widgets.php, method widget_set::open_row() Open a row. | |
| open_table | in file widgets.php, method widget_set::open_table() Open a table. | |
top
| ||
| php_array.class.php | procedural page php_array.class.php | |
| profile.php | procedural page profile.php | |
| password | in file widgets.php, method widget_set::password() Print password line. | |
| person_editieren | in file 05_form_edit.php, method form_edit::person_editieren() | |
| person_editieren | in file 06_list.php, method list_records::person_editieren() | |
| person_formular | in file 04_form_in_table.php, method form_in_table::person_formular() | |
| person_formular | in file 06_list.php, method list_records::person_formular() | |
| person_formular | in file 05_form_edit.php, method form_edit::person_formular() | |
| pop_back | in file container.class.php, method container::pop_back() Return last element from list. | |
| pop_front | in file container.class.php, method container::pop_front() Return first element from list. | |
| print_label | in file widgets.php, method widget_set::print_label() Print descriptive label. | |
| print_text | in file widgets.php, method widget_set::print_text() Print text. | |
| profile_end | in file profile.php, function profile_end() Get time from timer. | |
| profile_start | in file profile.php, function profile_start() Start timer. | |
| push_back | in file container.class.php, method container::push_back() Add element to end of list. | |
| push_front | in file container.class.php, method container::push_front() Add element to front of list. | |
top
| ||
| quick_record.php | procedural page quick_record.php | |
| quick_template.php | procedural page quick_template.php | |
| query | in file cursor.class.php, method cursor::query() Query a result set. | |
| quick_template | in file quick_template.php, function quick_template() Replace tags by data. | |
top
| ||
| $res | in file dbresult.class.php, variable DB_result::$res | |
| records.php | procedural page records.php | |
| range_edit.php | procedural page range_edit.php | |
| record_edit.php | procedural page record_edit.php | |
| rfc2110.inc.php | procedural page rfc2110.inc.php | |
| radiobox | in file widgets.php, method widget_set::radiobox() Print radio box. | |
| record_cache_fetch | in file formviews.php, function record_cache_fetch() Fetch record cache from session. | |
| record_cache_safe | in file formviews.php, function record_cache_safe() Save record cache to session. | |
| record_create | in file records.php, function record_create() Event handler: Create a new row in table. | |
| record_create_set | in file records.php, function record_create_set() Create record listed in $sources with optional field values or alieases. | |
| record_delete | in file records.php, function record_delete() Event handler: Ask to delete records. | |
| record_delete_force | in file records.php, function record_delete_force() Event handler: Delete records. | |
| record_update | in file records.php, function record_update() Calls form_update() and outputs a success or error message. | |
| reset | in file widgets.php, method widget_set::reset() Print form reset button. | |
| rfc2110_attachment | in file rfc2110.inc.php, function rfc2110_attachment() Create attachment | |
| rfc2110_boundary | in file rfc2110.inc.php, function rfc2110_boundary() Common boundary string. | |
| rfc2110_file | in file rfc2110.inc.php, function rfc2110_file() Create base64 encoded file attachment | |
| rfc2110_header | in file rfc2110.inc.php, function rfc2110_header() Create multipart header extension. | |
| rfc2110_tail | in file rfc2110.inc.php, function rfc2110_tail() End of message body. | |
top
| ||
| $short_links | in file widgets.php, variable widget_set::$short_links Use relative links if true. | |
| $size | in file dbisearch.php, variable tk_dbisearch_query::$size | |
| $subsession | in file event.class.php, variable event::$subsession | |
| sql.class.php | procedural page sql.class.php | |
| singleton.class.php | procedural page singleton.class.php | |
| strhead.php | procedural page strhead.php | |
| select | in file widgets.php, method widget_set::select() Select key from string array. | |
| set | in file sql.class.php, method cursor_sql::set() | |
| set | in file dbconf.class.php, method cursor_dbconf::set() | |
| set | in file php_array.class.php, method cursor_php_array::set() | |
| set_arg | in file event.class.php, method event::set_arg() Set an argument. | |
| set_caller | in file event.class.php, method event::set_caller() | |
| set_db | in file sql.class.php, method cursor_sql::set_db() | |
| set_dbconf | in file dbconf.class.php, method cursor_dbconf::set_dbconf() | |
| set_field | in file cursor.class.php, method cursor::set_field() Select a record field. | |
| set_key | in file merged.class.php, method cursor_merged::set_key() | |
| set_key | in file cursor.class.php, method cursor::set_key() Set record key. | |
| set_next | in file event.class.php, method event::set_next() Set next event that must be called after this one. | |
| set_source | in file merged.class.php, method cursor_merged::set_source() | |
| set_source | in file cursor.class.php, method cursor::set_source() Set source name. | |
| set_table | in file dbtoken.class.php, method dbtoken::set_table() | |
| set_timeout | in file dbtoken.class.php, method dbtoken::set_timeout() | |
| singleton | in file singleton.class.php, method singleton::singleton() | |
| singleton | in file singleton.class.php, class singleton Base class for singletons. | |
| size | in file container_array.class.php, method container_array::size() | |
| size | in file sql.class.php, method cursor_sql::size() | |
| size | in file cursor.class.php, method cursor::size() Number of records in result set. | |
| sort_linked_list | in file dbsort.php, function sort_linked_list() | |
| source | in file cursor.class.php, method cursor::source() Get source name. | |
| strhead | in file strhead.php, function strhead() Check if $haystack starts with $needle. | |
| submit | in file widgets.php, method widget_set::submit() Print submit button. | |
| submit_image | in file widgets.php, method widget_set::submit_image() Print submit image. | |
top
| ||
| $typefield | in file _form_element.class.php, variable _form_element::$typefield Token of form element containing the file's MIME type. | |
| tree_edit.php | procedural page tree_edit.php | |
| types.php | procedural page types.php | |
| tag_handlers.php | procedural page tag_handlers.php | |
| table_headers | in file widgets.php, method widget_set::table_headers() Create table header from array of strings. | |
| textarea | in file widgets.php, method widget_set::textarea() Print textarea | |
| tk_autoform_create_form | in file autoform.php, function tk_autoform_create_form() Create form from dbdepend description. | |
| tk_autoform_create_widget | in file autoform.php, function tk_autoform_create_widget() Create a widget from dbdepend description. | |
| tk_autoform_init | in file autoform.php, function tk_autoform_init() Initialise toolkit. | |
| TK_AUTOFORM_LABELS | in file autoform.php, constant TK_AUTOFORM_LABELS Generic editor for records in a single table. | |
| tk_autoform_list_cursor | in file autoform.php, function tk_autoform_list_cursor() List a result set initiated by get() before. | |
| tk_autoform_list_search_results | in file dbisearch.php, function tk_autoform_list_search_results() List result from tk/dbisearch. | |
| TK_AUTOFORM_NO_INPUT | in file autoform.php, constant TK_AUTOFORM_NO_INPUT | |
| tk_dbconf | in file dbconf.php, function tk_dbconf() Event handler: Toolkit entry point. | |
| tk_dbconf_init | in file dbconf.php, function tk_dbconf_init() Call this before init'ing admin_panel. | |
| tk_dbisearch | in file dbisearch.php, function tk_dbisearch() Full-text search event handler. | |
| tk_dbisearch_browse | in file browse.php, function tk_dbisearch_browse() Print widget to browse dbisearch results. | |
| TK_DBISEARCH_FOUND | in file dbisearch.php, constant TK_DBISEARCH_FOUND | |
| tk_dbisearch_get_query_object | in file dbisearch.php, function tk_dbisearch_get_query_object() Get query object of last result. | |
| tk_dbisearch_get_results | in file dbisearch.php, function tk_dbisearch_get_results() Get cursor with results. | |
| tk_dbisearch_has_result | in file dbisearch.php, function tk_dbisearch_has_result() Check if a search was performed or not and if records were found. | |
| tk_dbisearch_init | in file dbisearch.php, function tk_dbisearch_init() Initialise the toolkit. | |
| TK_DBISEARCH_NOT_FOUND | in file dbisearch.php, constant TK_DBISEARCH_NOT_FOUND | |
| TK_DBISEARCH_NOT_SEARCHED | in file dbisearch.php, constant TK_DBISEARCH_NOT_SEARCHED | |
| tk_dbisearch_query | in file dbisearch.php, class tk_dbisearch_query Search description object. | |
| tk_dbobj_ls | in file dbobj_ls.php, function tk_dbobj_ls() Event handler or widget: Show path and subdirectories. | |
| tk_dbobj_ls_init | in file dbobj_ls.php, function tk_dbobj_ls_init() Initialise the toolkit. | |
| tk_fsb | in file fsb.php, function tk_fsb() Event handler: Toolkit entry point. | |
| tk_fsb_init | in file fsb.php, function tk_fsb_init() Initialise the toolkit. | |
| tk_list_move | in file list_move.php, function tk_list_move() Event handler: Toolkit entry point. | |
| tk_list_move_init | in file list_move.php, function tk_list_move_init() Initialise the toolkit. | |
| tk_list_move_to | in file list_move.php, function tk_list_move_to() | |
| tk_quick_record | in file quick_record.php, function tk_quick_record() | |
| tk_quick_record_init | in file quick_record.php, function tk_quick_record_init() Editor for SQL tables. | |
| tk_range_edit_all_selected | in file range_edit.php, function tk_range_edit_all_selected() Check if all markers are selected. | |
| tk_range_edit_call | in file range_edit.php, function tk_range_edit_call() Event handler: Call a function with array of cursors where markers were placed. | |
| tk_range_edit_do_select_all | in file range_edit.php, function tk_range_edit_do_select_all() Select/unselect all markers. | |
| tk_range_edit_init | in file range_edit.php, function tk_range_edit_init() Initialise the tooklit. | |
| tk_range_edit_select | in file range_edit.php, function tk_range_edit_select() Get new selection from posted form. | |
| tk_range_edit_select_all | in file range_edit.php, function tk_range_edit_select_all() Event handler: Select all markers. | |
| tk_range_edit_unselect_all | in file range_edit.php, function tk_range_edit_unselect_all() Event handler: Unselect all markers. | |
| tk_record_edit | in file record_edit.php, function tk_record_edit() | |
| tk_record_edit_init | in file record_edit.php, function tk_record_edit_init() | |
| tk_template_forms_init | in file xml_template.php, function tk_template_forms_init() XML template bindings for admin_panel. | |
| tk_template_get_field | in file xml_template.php, function tk_template_get_field() | |
| TOKEN_DEFAULT | in file dbtoken.class.php, constant TOKEN_DEFAULT Default token time which is erased after timeout. | |
| TOKEN_ONETIME | in file dbtoken.class.php, constant TOKEN_ONETIME Token that can be used axactly once. | |
| TOKEN_REUSE | in file dbtoken.class.php, constant TOKEN_REUSE Token that is always reused for the same content. | |
| tree_edit | in file tree_edit.php, function tree_edit() | |
| tree_edit_move | in file tree_edit.php, function tree_edit_move() | |
| tree_edit_register | in file tree_edit.php, function tree_edit_register() Tree editor for admin_panel.class. | |
| tv_move_node | in file tree_edit.php, function tv_move_node() | |
| tv_move_to_node | in file tree_edit.php, function tv_move_to_node() | |
| tv_node | in file tree_edit.php, function tv_node() | |
| type | in file cursor.class.php, method cursor::type() Get currently selected field. | |
| type_check | in file types.php, function type_check() | |
top
| ||
| $use_filter | in file _form_element.class.php, variable _form_element::$use_filter Name of form filter. | |
| util.php | procedural page util.php | |
| util_add_functions | in file util.php, function util_add_functions() Add handler functions to an application. | |
| util_add_raw_functions | in file util.php, function util_add_raw_functions() Add 'raw' handler functions to an application. | |
| util_init_modules | in file util.php, function util_init_modules() Initialise modules. | |
top
| ||
| $val | in file _form_element.class.php, variable _form_element::$val Posted value. | |
| $view | in file _form_element.class.php, variable _form_element::$view Event to trigger if this element was posted. | |
top
| ||
| $where | in file dbisearch.php, variable tk_dbisearch_query::$where | |
| widgets.php | procedural page widgets.php | |
| widget_set | in file widgets.php, method widget_set::widget_set() Initialise the class. | |
| widget_set | in file widgets.php, class widget_set Standard HTML widget set. | |
| write | in file dbtoken.class.php, method dbtoken::write() Update existing token. | |
top
| ||
| xml_template.php | procedural page xml_template.php | |
| xml_types | in file types.php, function xml_types() | |
top
| ||
| zeige_text | in file 02_hello_world_linked.php, method hello_world_linked::zeige_text() | |
top
| ||
| $_array | in file php_array.class.php, variable cursor_php_array::$_array | |
| $_array | in file container_array.class.php, variable container_array::$_array | |
| $_ct | in file iterator.class.php, variable iterator::$_ct | |
| $_cursors | in file merged.class.php, variable cursor_merged::$_cursors | |
| $_db | in file dbtoken.class.php, variable dbtoken::$_db | |
| $_id_token | in file dbtoken.class.php, variable dbtoken::$_id_token | |
| $_index | in file merged.class.php, variable cursor_merged::$_index | |
| $_is_end | in file iterator.class.php, variable iterator::$_is_end | |
| $_key | in file iterator_array.class.php, variable iterator_array::$_key | |
| $_keys | in file container_array.class.php, variable container_array::$_keys | |
| $_num_tokens | in file dbtoken.class.php, variable dbtoken::$_num_tokens | |
| $_res | in file sql.class.php, variable cursor_sql::$_res | |
| $_session | in file dbtoken.class.php, variable dbtoken::$_session | |
| $_size | in file sql.class.php, variable cursor_sql::$_size | |
| $_size | in file merged.class.php, variable cursor_merged::$_size | |
| $_sql_queries | in file dbisearch.php, variable tk_dbisearch_query::$_sql_queries | |
| $_tokens | in file dbtoken.class.php, variable dbtoken::$_tokens | |
| $_token_table | in file dbtoken.class.php, variable dbtoken::$_token_table | |
| $_uniqid | in file dbtoken.class.php, variable dbtoken::$_uniqid | |
| _form_element.class.php | procedural page _form_element.class.php | |
| _view.class.php | procedural page _view.class.php | |
| _subsession.class.php | procedural page _subsession.class.php | |
| _admin_panel_view | in file _view.class.php, class _admin_panel_view Context object | |
| _attrs | in file widgets.php, method widget_set::_attrs() Create HTML attribute string from array. | |
| _fetch_array | in file php_array.class.php, method cursor_php_array::_fetch_array() | |
| _formviews_init | in file formviews.php, function _formviews_init() Form parser and generic form handlers. | |
| _form_element | in file _form_element.class.php, class _form_element Form element object | |
| _form_update_fileinfo | in file formviews.php, function _form_update_fileinfo() Write file type and name to record. | |
| _get | in file dbconf.class.php, method cursor_dbconf::_get() | |
| _get | in file php_array.class.php, method cursor_php_array::_get() | |
| _get | in file sql.class.php, method cursor_sql::_get() | |
| _input | in file widgets.php, method widget_set::_input() Print input/password line. | |
| _kill_old_tokens | in file dbtoken.class.php, method dbtoken::_kill_old_tokens() | |
| _mime_init | in file mime.php, function _mime_init() Initialise this module. | |
| _query | in file php_array.class.php, method cursor_php_array::_query() | |
| _query | in file sql.class.php, method cursor_sql::_query() | |
| _query | in file dbconf.class.php, method cursor_dbconf::_query() | |
| _records_init | in file records.php, function _records_init() Initialise this module. | |
| _record_create_continue | in file records.php, function _record_create_continue() Create records, print messagebox and jump to next view. | |
| _sort_update | in file dbsort.php, function _sort_update() Sorting doubly linked lists and trees of them (deprecated). | |
| _tk_autoform_create_widget | in file autoform.php, function _tk_autoform_create_widget() | |
| _tk_dbconf_reset | in file dbconf.php, function _tk_dbconf_reset() | |
| _tk_dbconf_reset_ask | in file dbconf.php, function _tk_dbconf_reset_ask() | |
| _tk_dbconf_set_file | in file dbconf.php, function _tk_dbconf_set_file() | |
| _tk_dbconf_update | in file dbconf.php, function _tk_dbconf_update() | |
| _tk_dbobj_ls_node | in file dbobj_ls.php, function _tk_dbobj_ls_node() | |
| _tk_list_move_destlink | in file list_move.php, function _tk_list_move_destlink() | |
| _tk_list_move_go | in file list_move.php, function _tk_list_move_go() | |
| _tk_list_move_list | in file list_move.php, function _tk_list_move_list() | |
| _tk_record_edit_edit_record | in file record_edit.php, function _tk_record_edit_edit_record() | |
| _tk_record_edit_list_records | in file record_edit.php, function _tk_record_edit_list_records() | |
| _tk_record_edit_submit_buttons | in file record_edit.php, function _tk_record_edit_submit_buttons() | |
| _tk_record_edit_update_buttons | in file record_edit.php, function _tk_record_edit_update_buttons() | |
| _update | in file container_array.class.php, method container_array::_update() | |
| _writeback | in file php_array.class.php, method cursor_php_array::_writeback() | |
| _write_token | in file dbtoken.class.php, method dbtoken::_write_token() | |
| _write_tokens | in file dbtoken.class.php, method dbtoken::_write_tokens() | |
| __return_mime | in file mime.php, function __return_mime() Event handler: Output a file with MIME header. | |
| __sleep | in file sql.class.php, method cursor_sql::__sleep() | |
| __tk_dbconf_fields | in file dbconf.php, function __tk_dbconf_fields() |


Welcome to newest video-converter web service
Contents of this Project
This service is hosted on amazon web services and uses
encoding.com video converter service. When you upload your video file
this is saved in an arbitrary amazon s3 bucket and a request to the
encoding.com converter workers is triggered. This ones will convert
your video and put back to the amazon s3 bucket in the mp4 format,
ready to be played by any web browser player. After that we will
redirect you to a page witch contains a HTML5 video tag pointing to
the converted video.
Enjoy your experience!


This is paragraph - 1
This is paragraph - 2
This is paragraph - 3
This is head tag - 1
This is paragraph - 4
This is paragraph - 5
This is paragraph - 1
This is paragraph - 2
This is paragraph - 3
This is head tag - 1
This is head tag - 1
This is paragraph - 4
This is paragraph - 5


Introduction
This project focused on implementing algorithms to organize Yelp Database information including Yelp Users, Yelp Restaurants and Yelp Reviews. Business and User obejcts were created. The classes of YelpRestaurant and YelpUser extended the Business and User classes respectively.
YelpDatabase
The following code describes my YelpDatabase object implementation. I chose to represent a database in the following way. This class implemented the "MP5Db" Interface provided to us in the CPEN 221 course.
package ca.ece.ubc.cpen221.mp5;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.function.ToDoubleBiFunction;
import java.util.stream.Collectors;
import com.google.gson.Gson;
public class YelpDB implements MP5Db<YelpDB> {
String restaurantsFile;
String usersFile;
String reviewsFile;
HashMap<String, YelpRestaurant> restaurants = new HashMap<>();
HashMap<String, YelpUser> users = new HashMap<>();
HashMap<String, YelpReview> reviews = new HashMap<>();
public YelpDB(String restaurantsFile, String usersFile, String reviewsFile) throws FileNotFoundException {
//Abstraction Function: represents a Yelp database containing a map of users, restaurants, and reviews
//Rep-Invariant: restaurants.contains(reviews.getRestaurantID)
this.restaurantsFile = restaurantsFile;
this.usersFile = usersFile;
this.reviewsFile = reviewsFile;
Gson gson = new Gson();
FileReader reader = new FileReader(restaurantsFile);
Scanner scanner = new Scanner(reader);
while (scanner.hasNextLine()) {
YelpRestaurant restaurantObject = gson.fromJson(scanner.nextLine(), YelpRestaurant.class);
String business_id = restaurantObject.getBusiness_id();
restaurants.put(business_id, restaurantObject);
}
scanner.close();
FileReader userReader = new FileReader(usersFile);
Scanner userScanner = new Scanner(userReader);
while (userScanner.hasNextLine()) {
YelpUser userObject = gson.fromJson(userScanner.nextLine(), YelpUser.class);
String user_id = userObject.getUser_id();
users.put(user_id, userObject);
}
userScanner.close();
FileReader reviewReader = new FileReader(reviewsFile);
Scanner reviewScanner = new Scanner(reviewReader);
while (reviewScanner.hasNextLine()) {
YelpReview reviewObject = gson.fromJson(reviewScanner.nextLine(), YelpReview.class);
String review_id = reviewObject.getReview_id();
reviews.put(review_id, reviewObject);
}
reviewScanner.close();
}
/**
*
* @param s
* the json string representing the details of the new restaurant being added to the Yelp Database
* @return
* returns the newly made restaurant object
*/
public YelpRestaurant addRestaurant(String s) {
Gson gson = new Gson();
YelpRestaurant restaurantObject = gson.fromJson(s, YelpRestaurant.class);
Integer BusinessID = (int) (Math.random() * 10);
while(this.restaurants.containsKey(BusinessID.toString())){
BusinessID = (int) (Math.random() * 10);
}
restaurantObject.setBusiness_id(BusinessID.toString());
restaurantObject.setStars(0.0);
String business_id = restaurantObject.getBusiness_id();
restaurants.put(business_id, restaurantObject);
return restaurantObject;
}
/**
*
* @param s
* JSON string representing the name of the User
* @return
* the newly made YelpUser object
* @throws InvalidString
*/
public YelpUser addUser(String s) throws InvalidString {
Gson gson = new Gson();
YelpUser userObject = gson.fromJson(s, YelpUser.class);
if(userObject.getName() == null) {
throw new InvalidString();
}
Integer UserID = (int) (Math.random() * 10);
while(this.restaurants.containsKey(UserID.toString())){
UserID = (int) (Math.random() * 10);
}
userObject.setUser_id(UserID.toString());
userObject.setUrl("http://www.yelp.com/user_details?userid=" + UserID.toString());
userObject.setAverage_stars(0.0);
userObject.setReview_count(0);
userObject.setType("user");
HashMap<String,Integer> votes = new HashMap<String,Integer>();
votes.put("funny", 0); votes.put("useful", 0); votes.put("cool",0);
userObject.setVotes(votes);
String user_id = userObject.getUser_id();
users.put(user_id, userObject);
return userObject;
}
/**
*
* @param s
* A JSON string representing the details of the new review
* @return
* The YelpReview object representing the newly created review
* @throws InvalidRestaurantID
* @throws InvalidUserID
*/
public YelpReview addReview(String s) throws InvalidRestaurantID, InvalidUserID{
//RepInvariant: business id and user id associated with review must be valid, otherwise will throw
// InvalidRestaurantID/InvalidUserID exceptions
Gson gson = new Gson();
YelpReview reviewObject = gson.fromJson(s, YelpReview.class);
if(!this.restaurants.containsKey(reviewObject.getBusiness_id())) {
throw new InvalidRestaurantID();
}
if(!this.users.containsKey(reviewObject.getUser_id())) {
throw new InvalidUserID();
}
Integer ReviewID = (int) (Math.random() * 10);
while(this.restaurants.containsKey(ReviewID.toString())){
ReviewID = (int) (Math.random() * 10);
}
reviewObject.setReview_id(ReviewID.toString());
reviewObject.setStars(0);
reviewObject.setType("review");
HashMap<String,Integer> votes = new HashMap<String,Integer>();
votes.put("cool", 0); votes.put("funny", 0); votes.put("useful",0);
reviewObject.setVotes(votes);
String review_id = reviewObject.getReview_id();
reviews.put(review_id, reviewObject);
return reviewObject;
}
/**
*
* @param business_id
* the business ID associated with a restaurant
* @return
* the YelpRestaurant object associated with the specified ID
* @throws InvalidRestaurantID
*/
public YelpRestaurant getRestaurant(String business_id) throws InvalidRestaurantID {
if(this.restaurants.containsKey(business_id))
throw new InvalidRestaurantID();
return restaurants.get(business_id);
}
/**
*
* @param user_id
* the user id associated with a specific Yelp User
* @return
* the YelpUser object associated with the specified user id
*/
public YelpUser getUser(String user_id) {
return users.get(user_id);
}
/**
*
* @param review_id
* the review id associated with a specific Yelp review
* @return
* the YelpReview object associated with the specified review id
*/
public YelpReview getReview(String review_id) {
return reviews.get(review_id);
}
@Override
public Set<YelpDB> getMatches(String queryString) {
// TODO Auto-generated method stub
Set<YelpDB> db = new HashSet<>();
db.add(this);
return db ;
}
/**
* @return String
* Returns a string representing a list of clusters in JSON format
* Each cluster is determined using K-means clustering and K-means plus plus initialization
*
*
*/
@Override
public String kMeansClusters_json(int k) {
// TODO Auto-generated method stub
List<Point> dataset = this.restaurants.values().stream().map(r -> new Point(r)).collect(Collectors.toList());
Kmeans kclusters = new Kmeans(dataset,k);
boolean reattempt = true;
List<Set<ClusterObject>> clusterList = new ArrayList<>();
while(reattempt) {
reattempt = false;
clusterList = kclusters.clustering();
//int count = 0;
for(Set<ClusterObject> o : clusterList) {
if(o.isEmpty())
reattempt = true;
}
}
Gson gson = new Gson();
System.out.println(gson.toJson(clusterList));
return gson.toJson(clusterList);
}
public ArrayList<Point> getPoints() {
ArrayList<Point> points = new ArrayList<Point>();
for (String s : this.restaurants.keySet()) {
YelpRestaurant tempRestaurant = this.restaurants.get(s);
double longitude = tempRestaurant.getLongitude();
double latitude = tempRestaurant.getLatitude();
Point point = new Point(longitude, latitude, tempRestaurant);
points.add(point);
}
return points;
}
@Override
public ToDoubleBiFunction<MP5Db<YelpDB>, String> getPredictorFunction(String user) {
List <Integer> x = this.reviews.keySet().stream()
.map( r->this.reviews.get(r))
.filter(r -> r.getUser_id().equals(user))
.map(r-> this.restaurants.get(r.getBusiness_id()).getPrice())
.collect(Collectors.toList());
List <Integer> y = this.reviews.keySet().stream()
.map( r->this.reviews.get(r))
.filter(r -> r.getUser_id().equals(user))
.map(r->r.getStars())
.collect(Collectors.toList());
System.out.println(x);
System.out.println(y);
ToDoubleBiFunction<MP5Db<YelpDB>, String> userPredictor = new LinearRegression(x,y);
System.out.println(userPredictor);
return userPredictor;
}
}
K-means/K-means++ Clustering
All restaurants had an associated longitude and latitude value describing their location. Therefore, I created an object called Point that represents a point with coordinates (x.y). Each Point object also had an associated restaurant name. K-means clustering was used to organize these restaurants (Points) into clusters based on their location. Each cluster had a corresponding centroid value.
K-means is an algorithm used to for cluster analysis and for partitioning data into n number of clusters. The method initializes by picking random points as centroids. The data is then analyzed, and points are allocated to their closest centroid. Once allocation is over, each point belongs to a cluster with a correponding centroid. The centroid values are then recalcuated by taking the mean of the elements in the cluseter. Once the new centroids are determined, the entire process is repeated. These set of steps continue to repeat till centroid locations, and cluster allocations no longer change.
K-means VS K-means++ Clustering:
The main difference between K-means and K-means++ Clustering is the process of picking the initial centroids. In K-means++ Clustering the initialization method is not random.
The initialization method of K-means++ involves the following steps:
- An initial random centroid point is chosen
- For each point in the dataset (each restaurant) the distance from the point to the centroid is calculated
- A probability distribution is created using the distance values. High probability is allocated to datapoints that are not near any of the previously chosen centers. (Probability is proportional to distance2)
- A new centroid is chosen according to the probability distribution
- Steps 2,3 and 4 are repeated till the required number of centroids (for n clusters) is chosen. Then K-means clustering takes place.
This initialization methods ensures that the centroids are initially spread far apart, therefore reducing the number of iterations required to cluster the points. The following code describes my personal implementation of this clustering method:
package ca.ece.ubc.cpen221.mp5;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.stream.Collectors;
public class Kmeans {
private List<Point> dataset;
private int numCluster;
/**
*
* @param dataset
* A list of points representing the dataset for which clustering will occur
* @param numCluster
* An integer representing the desired number of clusters the dataset should
* be assigned to
*/
public Kmeans(List<Point> dataset, int numCluster) {
//Abstraction Function: a group of points that need to be clustered in
// association with a numerical value representing
// the number of desired clusters
//Rep-Invariant: !dataset.isEmpty
this.dataset = dataset;
this.numCluster = numCluster;
}
/**
*
* @return HashSet<Point>
* returns the initial centroids chosen using the K-means plus plus
* initialization method
*
*/
public HashSet<Point> getInitialCentroids() {
Random rand = new Random();
HashMap<Point, Double> probDistribution = new HashMap<Point, Double>();
HashSet<Point> centroids = new HashSet<Point>();
int centerIndex = rand.nextInt(this.dataset.size() - 1);
Point center = new Point(this.dataset.get(centerIndex).getLatitude(),
this.dataset.get(centerIndex).getLongitude(), this.dataset.get(centerIndex).getRestaurant());
centroids.add(center);
while (centroids.size() < this.numCluster) {
double sum = 0.0;
for (Point p : this.dataset) {
double nearestCentroid = centroids.stream().map(c -> Math.pow(c.getDistance(p), 2))
.reduce(Double.MAX_VALUE, Double::min);
probDistribution.put(p, nearestCentroid);
sum += nearestCentroid;
}
final double sumF = sum;
probDistribution.forEach((p, v) -> probDistribution.put(p, v / sumF));
centroids.add(pickCentroid(probDistribution));
}
return centroids;
}
/**
*
* @param probabilityDistribution
* a map representing the probability distribution for a set of points
* probability values are dependent on the location of a point in comparison
* to the chosen centroids
* @return Point
* returns a point chosen from the probability distribution map in
* accordance with a probability distribution
*
*/
public Point pickCentroid(HashMap<Point, Double> probabilityDistribution) {
double random = Math.random();
double cumulativeProbability = 0.0;
for (Point p : probabilityDistribution.keySet()) {
double probability = probabilityDistribution.get(p);
cumulativeProbability += probability;
if (random <= cumulativeProbability) {
return p;
}
}
return null;
}
/**
*
* @return List<Set<ClusterObject>>
* returns a list of sets of ClusterObjects. Each set represents a cluster
* determined using the kmeans clustering method
*/
public List<Set<ClusterObject>> clustering() {
HashMap<Point, Set<Point>> clusters = new HashMap<Point, Set<Point>>();
HashSet<Point> centroids = this.getInitialCentroids();
HashSet<Point> centroidsPrev = new HashSet<Point>();
while (!this.checkMatch(centroidsPrev, centroids)) {
clusters.clear();
for (Point c : centroids)
clusters.put(c, new HashSet<Point>());
centroidsPrev = centroids;
for (Point p : this.dataset) {
Point closest = Collections.min(centroids, Comparator.comparingDouble(c -> c.getDistance(p)));
Set<Point> set = clusters.get(closest);
set.add(p);
clusters.put(closest, set);
}
centroids = this.getCentroids(clusters);
}
List<Set<ClusterObject>> clusterList = new ArrayList<Set<ClusterObject>>();
Integer clusterNum = 0;
for (Point centroid : clusters.keySet()) {
clusterNum++;
Integer n = clusterNum;
Set<Point> group = clusters.get(centroid);
clusterList.add(group.stream().map(p -> new ClusterObject(p, centroid, n)).collect(Collectors.toSet()));
}
return clusterList;
}
/**
*
* @param clusters
* sets of points for which centroids must be found
* @return HashSet<Point>
* a hashset of points representing the newly computed cluster centroids (measured
* by taking the means of longitudes and latitudes of the cluster points)
*/
public HashSet<Point> getCentroids(HashMap<Point, Set<Point>> clusters) {
HashSet<Point> newCentroids = new HashSet<Point>();
for (Point c : clusters.keySet()) {
List<Double> longitudes = new ArrayList<Double>();
List<Double> latitudes = new ArrayList<Double>();
clusters.get(c).stream().mapToDouble(x -> x.getLongitude()).forEach(longitudes::add);
clusters.get(c).stream().mapToDouble(x -> x.getLatitude()).forEach(latitudes::add);
Double averageLong = longitudes.stream().mapToDouble(val -> val).average().getAsDouble();
Double averageLat = latitudes.stream().mapToDouble(val -> val).average().getAsDouble();
newCentroids.add(new Point(averageLat, averageLong));
}
return newCentroids;
}
/**
*
* @param prevPoints
* @param currentPoints
* @return boolean
* checks if prevPoints contains equal Point objects as currentPoints (latitudes
* and longitudes are equivalent between points)
*/
private boolean checkMatch(HashSet<Point> prevPoints, HashSet<Point> currentPoints) {
HashSet<Double> xPrev = new HashSet<Double>();
HashSet<Double> yPrev = new HashSet<Double>();
HashSet<Double> xCurr = new HashSet<Double>();
HashSet<Double> yCurr = new HashSet<Double>();
prevPoints.stream().mapToDouble(a -> a.getLatitude()).forEach(xPrev::add);
prevPoints.stream().mapToDouble(a -> a.getLongitude()).forEach(yPrev::add);
currentPoints.stream().mapToDouble(a -> a.getLatitude()).forEach(xCurr::add);
currentPoints.stream().mapToDouble(a -> a.getLongitude()).forEach(yCurr::add);
if (xPrev.equals(xCurr) && yPrev.equals(yCurr))
return true;
return false;
}
}


You can now get paid £30,000 per year to look after two dogs in a plush mansion
If you’re in the market for a job that will allow you to cuddle up to two golden retrievers every day, the perfect role has just opened up.
A high-flying couple who travel a lot are looking for someone to become a live-in dog carer and look after for their pets full-time.
Not only will you get a decent salary of between £30,000 to £32,000 per year, but you’ll also get to live in their plush, six-storey townhouse in Kensington.
You’ll be responsible for taking care of golden retrievers Milo and Oscar, taking them for morning and evening walks, managing all dog appointments, insurances and provisioning, as well as liaising with the regular dog walker.
There’s just one teeny, tiny catch: you also have to do housekeeping.
The job, advertised on Silver Swan Recruitment, is part dog nanny, part cleaner with daily housekeeping, laundry as required, food shopping and errands also included in the job description.
Advertisement Advertisement
Additionally, you need to maintain the ‘general management of the property’, welcome guests and take calls, and occasionally cook light evening meals for a vegan.
You might also get roped into ‘assisting in other areas of the household when needed’, though it’s not specified what this entails, and teamwork is key to ‘ensure everything is done to the highest possible standard’.
To be in with a chance to get the gig, you must not only have a passion for pooches but prior experience in looking after dogs is ‘essential’, and the ideal candidate will also have good housekeeping experience.
The couple ask that all applicants be ‘fit and active’ and ‘hard-working and trustworthy’.
Cooking experience isn’t required, but could give you an edge, and the working days are Monday to Friday, with occasional weekends.
We’re going to go out on a limb here and say this job isn’t just about cosy dog cuddles.
Then again, Milo and Oscar are part of the package and you do get to live in a luxury mansion, so if you don’t mind a bit of cleaning on the side, go for it.


Brazilian Grand Prix promoters keen to make sure that racing remains in Interlagos
by Tom MasonThe promoter of the Brazilian Grand Prix has made a case to keep racing in Brazil at Interlagos after 2020. There are plans in place for a new race to take place in Rio de Janerio.
The race in Interlagos expires at the end of next season, with it widely expected that a change will be made.
However, Promoter Tamas Rohonyi doesn't feel that this will happen at the end of 2020.
“I'm as sure that the race will stay here as our president thinks [that the race is moving to Rio], namely 99 per cent," Rohonyi told Motorsport.com.
"Either the Formula 1 stays here or there is no Brazilian Grand Prix. I am not going to make statements about Rio de Janeiro, but I know that there are trees and animals on that piece of land for the time being.
"I think it is physically impossible for a race to take place there in 2021, but there are people who disagree.
"Rio has become an option because the president supports it."
Max Verstappen won the most recent race, ahead of Pierre Gasly last weekend.


|
|
def | __init__ |
| |
|
def | reinit |
| |
|
def | startPrefixMapping |
| |
|
def | startElement |
| |
|
def | endElement |
| |
|
def | startElementNS |
| |
|
def | endElementNS |
| |
|
def | characters |
| |
|
def | ignorableWhitespace |
| |
|
def | processingInstruction |
| |
|
def | skippedEntity |
| |
|
|
| saveElementIndexes |
| |
|
| hashAttributesNames |
| |
|
| hashAttributes |
| |
|
| stripWS |
| |
|
| currentText |
| |
|
| currentPath |
| |
|
| pathLines |
| |
|
| currentLine |
| |
|
| recordWordCount |
| |
|
| elementHash |
| |
|
| elementIndexes |
| |
|
| namespaces |
| |
|
|
list | currentText = [] |
| |
|
list | currentPath = [] |
| |
|
list | pathLines = [] |
| |
|
int | currentLine = -1 |
| |
|
int | recordWordCount = 0 |
| |
|
dictionary | elementHash = {} |
| |
|
list | namespaces = [] |
| |
|
dictionary | hashAttributesNames = {} |
| |
|
list | hashAttributes = [] |
| |
|
int | stripWS = 0 |
| |
|
int | saveElementIndexes = 1 |
| |
Cheshire3 SAX implementation.
1 <name> <attrHash> parent predicate end
Element
4 <as 1>
Namespaced Element
2 <name> <startLine>
End Element
5 <as 2>
End Namespaced
3 <text>
Characters
9 <element hash>
pickled hash of locations
The documentation for this class was generated from the following file:


This plugin provides a source ip based "authentication" for clients which are not able to authenticate themselves to MTA.
Certain applications (eg. SAP) are not able to send emails with authentication. In this case to avoid setting up open relay one would have to allow mail receipt by source IP. While this option is available even on Microsoft Exchange (restrict mail connector access by source IP), it is not possible to enforce certain sender on the receipt side. That means, (eg.) SAP application server can send email in anyone's name.
Since email communication within enterprise is highly trusted that is not a good idea: an attacker breaking into SAP application server can impersonate anyone within the domain. Too bad.
There is two option: elevate SAP server's trust level to that of Active Directory's or create a controlled mail sending facility. This plugin is to solve this problem.
Suppose we have two servers (server1 and server2) both hosting services not able to authenticate against AD. Server1 has to send emails from<EMAIL_ADDRESS>to example.com while server2 has to send emails from<EMAIL_ADDRESS>or<EMAIL_ADDRESS>to<EMAIL_ADDRESS>The network setup is like this:
server1 (<IP_ADDRESS>) ------+
|----> haraka (<IP_ADDRESS>) ----> AD (<IP_ADDRESS>)
server2 (<IP_ADDRESS>) ------+
To set up haraka for the example setup you should do the following:
haraka -i /path/to/harakatest
queue/smtp_proxy
tls
enforce_route_by_ip
host=<IP_ADDRESS>
port=25
enable_tls=1
[auth]
type=plain
user=<your Active Directory user name>
pass=<your password>
[mail_from]
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>[rcpt_to]
<EMAIL_ADDRESS>nessus<EMAIL_ADDRESS>syslog<EMAIL_ADDRESS>By setting open_relay=no
in enforce_route_by_ip.ini
the plugin will allow email exchanges for sources which are not configured. It is an optional unsafe mode. The strict mode is set to yes be default, of course.
any
is a special sender, which means any email addresses is accepted from given host. For any
send one can define rcptto rules. In the following example from host <IP_ADDRESS> any mailfrom address is accepted to gmail.com domain.
[mailfrom]
<IP_ADDRESS>=any
[rcptto]
any=gmail.com


EVERYONE SAYS I LOVE YOU A film review by Adam Joyce Copyright 1997 Adam Joyce
The return of the musical is upon us. It began with "Evita", and now Woody Allen has brought the musical-comedy back to life with "Everyone Says I Love You". It is the story of a very well off family living in New York, and takes the audience on a journey through their daily lives, highlighting both the high and lows. The basic family set-up involves the two parents, Bob (Alan Alda) and Steffi (Goldie Hawn), four daughters, a son, a grandfather, and Joe (Woody Allen), Steffi's ex-husband. Joe is still very much a part of the family and regularly visits from his home in Paris. Joe seems to have had an endless array of failed relationships, and continuously pines for his ex-lovers. Meanwhile, the eldest daughter, Skylar (Drew Barrymore) is deeply in love with Holden (Edward Norton). In one of the many comical scenes, Holden has the engagement ring placed on a dessert dish which is served to Skylar. Unfortunately Skylar eats the dessert immediately, swallowing the ring. What follows is a highly amusing scene in which the couple visit the hospital and look at an x-ray of the ring. The hospital staff congratulate the couple, marvelling at the ring on the x-ray. From here they break into one of the many song and dances, involving all manner of patients and staff. At first it is somewhat bizarre to see the cast break into a song, but gradually one becomes accustomed to it. Beyond merely being accustomed to the singing, one actually begins to enjoy these scenes immensely. All the singing scenes have been superbly choreographed. This choreography has been combined with the cinematography to provide the audience with very smooth, clever, entertaining sequences. They are definitely one of the film's highlights. By the end of the film, it's hard not to sing along with the actors. Woody Allen's success with this film comes as a result of how he has dealt with it. He has very much followed the traditional musical-comedy style. Everything is 'picture perfect'. It's like looking at a postcard: it's always so much better than the real thing. This is true of the scenes in "Everyone Says I Love You". There are the scenes in Venice, with the fresh, smooth, clean water flowing through the channels. New York is covered in a layer of crisp, white snow, and is unbelievably beautiful. Paris, particularly in the final scene is beyond perfection. It involves a scene in which Joe and Steffi dance beside the River Seine on Christmas Eve. The light reflects off the dark water as the pair dance, and Steffi begins to fly. This probably sounds ridiculous, but the flying (gliding more suitably describes it) adds to the perfection of the scene. This is all a key part of the musical, which in this case could be re-labelled as fantasy. The script is witty and clever, the acting near faultless. Follow the family dilemmas of this upper class (near perfect) family, and enjoy the ride!
4.5 out of 5
Please visit Movie Mania at http://www.home.aone.net.au/joyce/review.htm
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


How and when to take it
Propranolol comes as 2 different types of medicine: standard release and sustained release (also called modified release).
- Standard release - releases propranolol into your body quickly. You may need to take it several times a day depending on your dose.
- Sustained release (SR) - this dissolves slowly so you don't have to take it as often. Once a day is usually enough.
If you are taking it once a day, your doctor may advise you to take your first dose before bedtime, because it can make you feel dizzy. After the first dose, if you don't feel dizzy, take propranolol in the morning.
Important
Keep taking propranolol even if you feel well. You will still be getting the benefits of the medicine.
How much will I take?
How much you take depends on why you need propranolol.
Doses for adults and children over the age of 12:
- For high blood pressure, the starting dose is usually 80mg twice a day. If this dose isn't working well enough (if your blood pressure doesn't go down enough), your doctor may increase it to a maximum of 160mg twice a day.
- For migraine or angina (chest pain), the usual dose is 40mg taken 2 or 3 times a day. This can be increased to 120mg to 240mg a day. Your doctor or pharmacist will explain how to split the dose over the day.
- For irregular heartbeat (arrhythmia), the usual dose is 10mg to 40mg 3 or 4 times a day.
- For anxiety, the usual dose is 40mg once a day which can be increased to 40mg 3 times a day.
- For too much thyroid hormone (thyrotoxicosis), the dose is 10mg to 40mg taken 3 or 4 times a day.
Doses are usually lower for the elderly or people with a kidney or liver problem.
If your child is under 12 years old and they need propranolol, your doctor will usually use your child's weight to work out the right dose.
How to take it
Propranolol doesn't usually upset your tummy so you can take it with or without food. It's best to do the same each day.
Swallow the tablets whole with a drink of water. If you find them difficult to swallow, some brands have a score line to help you break the tablet in half. Check the information leaflet for your brand to see if you can do this.
If you're taking propranolol as a liquid, it will come with a plastic syringe or spoon to help you measure out the right dose. If you don't have one, ask your pharmacist for one. Don't use a kitchen teaspoon as it won't give you the right amount of medicine.
What if I forget to take it?
If you forget to take a dose of propranolol, take it as soon as you remember, unless it is nearly time for your next dose. In this case, just leave out the missed dose and take your next dose as normal.
Never take 2 doses at the same time. Never take an extra dose to make up for a forgotten one.
If you often forget doses, it may help to set an alarm to remind you. You could also ask your pharmacist for advice on other ways to help you remember to take your medicine.
What if I take too much?
An overdose of propranolol can slow down your heart rate and make it difficult to breathe. It can also cause dizziness and trembling.
The amount of propranolol that can lead to an overdose varies from person to person.
Urgent advice: Call your doctor or go to A&E straight away if you take too much propranolol
If you need to go to hospital, don't drive yourself - get someone else to drive you or call for an ambulance. Take the propranolol packet or leaflet inside it plus any remaining medicine with you.
Find your nearest hospital A&E department.


Input/Output writer. This class is designed to make basic scripts
work in CLI and in a browser without having to make alot of if/else
constructs.
| Constant | Description |
| STYLE_BOLD | Dev Style mode constant - indicates bold text (web) |
| STYLE_HIDDEN_DOT | Dev Style mode constant - indicates a hidden 'dot' for \DevTools\Utilities\IO::li() (cli) |
| STYLE_ITALIC | Dev Style mode constant - indicates italic text (web) |
| STYLE_UNDERLINE | Dev Style mode constant - indicates underlined text (web) |
| TAG_END | Dev Tag mode constant - indicates end of a tag |
| TAG_START | Dev Tag mode constant - indicates start of a tag |
| Property | Description |
| $depth | Dev Static Nesting level of block elements |
| Method | Description |
| eol() | Dev Static Repeats an end of line character |
| error() | Dev Static Prints a serve error message |
| headline() | Dev Static Writes a headline |
| input() | Dev Static Gets an input variable, this uses argv in CLI and $_GET in web |
| isCli() | Dev Static Checks if the script is running using a console |
| li() | Dev Static Writes a list item, optionally using a style |
| signature() | Dev Static Engine signature line |
| style() | Dev Static Styles a text string |
| text() | Dev Static Writes a text string, optionally using a style |
| ul() | Dev Static Starts or end writing an unordered list |
Generated by Tuxxedo Engine 1.3.0 "Intergalactic" Alpha 1 (experimental).


Put an angular face on your inbox
In the last installment I got vert.x to emit a Notes view, read from your local mail file, to be emitted as JSON stream. While that might be perfectly fine for the inner geek, normal mortals want to look (and interact) with something more pretty.
The cool kids on the block for web interfaces and applications are Twitter BootStrap and AngularJS, so these will be the tools in this installment.
Not familiar with them? Go and watch some videos. Back? Let's get going.
Since I'm not much of a designer, I choose the ready made Admin LTE template based on bootstrap. The main reason for choosing this one, was a timeline layout that I wanted for the inbox.
My inbox is already sorted by date, so it should fit nicely (so I thought). However the view optically is categorized by date and under the hood just a flat list of
The steps to get there:
In my page template I defined the Angular app and controller on the body level:
This was necessary to be able to have the message count displayed in the upper right hand corner:
The template pieces are short, this is the main page (excerpt, download link below):
The interesting part in the above template are the
So far so good, now the final moving piece is the Angular app code.  For production quality you would separate out the data fetching into a service and you add tests and error handling. Anyway, learning and poking around doesn't need this, so here you go:
The interestin part is the
The cool kids on the block for web interfaces and applications are Twitter BootStrap and AngularJS, so these will be the tools in this installment.
Not familiar with them? Go and watch some videos. Back? Let's get going.
Since I'm not much of a designer, I choose the ready made Admin LTE template based on bootstrap. The main reason for choosing this one, was a timeline layout that I wanted for the inbox.
My inbox is already sorted by date, so it should fit nicely (so I thought). However the view optically is categorized by date and under the hood just a flat list of

elements. A little tweaking was necessary. The result looks quite OK for an after hour exercise:
The steps to get there:
- Tweak the vert.x service to render a categorized by date version of the inbox. You can do that without touching the underlying view. I'll provide details on that modules in a later article (and some sample data below). The main difference for now: the inbox data will be available at the URL
/notes/categorized/($Inbox)
- Create templates and directives for Angular
- Create the Angular.js app and its Controllers
{ "messagecount": 23, "messages": [
{"date": "11 Oct. 2014", "events": [
{"time": "17:05","sender": "John Doe","message": "message 1"}
]},
{"date": "10 Oct. 2014", "events": [
{"time": "16:30","sender": "Jane Doe","message": "message 2"},
{"time": "14:00","sender": "Mogli Bear","message": "message 3"},
{"time": "10:00","sender": "F. Zappa","message":"message 4"}
]
}]}
In my page template I defined the Angular app and controller on the body level:
>
This was necessary to be able to have the message count displayed in the upper right hand corner:
{{dc.messagecount}}
.
The template pieces are short, this is the main page (excerpt, download link below):

The interesting part in the above template are the
ng-repeat-start
and ng-repeat-end
statements. What they do: for every date in the JSON, they will create two

entries: one for the date and one for the first message. Angular then needs to be convinced to expand that into all messages. More on that below. The individual message entries use this template:

{{event.time}}

{{event.sender}} sent you an eMail

{{event.message}}

Read more...
File
Delete

So far so good, now the final moving piece is the Angular app code.  For production quality you would separate out the data fetching into a service and you add tests and error handling. Anyway, learning and poking around doesn't need this, so here you go:
angular.module('inbox', ['ngSanitize'])
.controller('dayController', ['$http',dayMessages])
.directive('timeLineStart', timeStartAccess)
.directive('timeLineEnd', ['$compile',timeEndAccess])
.directive('timeLine', timeAccess);
function dayMessages($http) {
var self = this;
self.messageCount = 0;
$http.get('days.json').then(function(response) {
self.days = response.data.messages;
self.messagecount = response.data.messagecount;
console.log("Data fetched");
}, function(errResponse) {
console.error('Error while fetching menu data!');
});
}
function timeStartAccess() {
return {
replace : false,
transclude: true,
scope : true,
template : "{{day.date}}"
};
}
function timeEndAccess($compile) {
return {
transclude: true,
scope : {event : '=',
day : '=' },
template : "",
link : function timeLink($scope, $element, $attrs) {
var newHTML = "

";
var linkingFunction = $compile(newHTML);
var elem = linkingFunction($scope);
$element.after(elem);
}
};
}
function timeAccess() {
return {
replace : false,
scope : {event : '='},
templateUrl : "demotimeline.html"
};
}
The interestin part is the
link
function in the timeEndAccess function. Since we have an outer loop over the date creating one li element per date, instead of one per message for that date, the function replaces that with a loop over the messages for that day. Seems to work quite nicely. The template contains Angular code, so it needs to compile, that's what $compile
does for us. You can try for yourself, to run the Demo:
- Download the Admin LTE template and expand it
- Download my sample files and copy them into the directory where you have expanded the template. Put it into the template root
- Either download Angular.js or edit my sample to point to a CDN
- Open
demoinbox.html
in your browser and enjoy
days.js
, so no vert.x or Domino is required for you to have a look. As usual YMMVPosted by Stephan H Wissel on 30 September 2014 | Comments (0) | categories: IBM Notes JavaScript Software WebDevelopment


Team: Ashwath, Jonathan, Yuan and Richard
Duration: 1 week.
My role: Writing arduino code, circuit building and installation of Domed in the space.
Softwares: Arduino, Illustrator.
The Challenge
This project started as an assignment to make a fun interactive installation with the contents of a 'magic' cup given to us in class.
Our cup contained an infrared motion sensor, a compass, a small speaker and a few LEDs.
The Idea
After some brain storming we decided to build an interactive music device using the components.We envisioned this to be an installment in a place where busy people could stop for a few seconds and get some laughs with just their cell phones.
Inside the Dome
Construction
After a lot of testing and iteration, we were able to build the circuit and also built the housing for it using lego bricks.