mPDF set Height for SetHTMLHeader - height

Exist any way to set the Height of header when use SetHTMLHeader function?
In the first page the size by default is correct but in the next pages, the content overwrites the end part of the header.
Regards, Oscar.

Finally use this:
$this->mpdf->mPDF('utf-8','A4','','','15','15','28','18');
When 15=margin-left, 15=margin-right, 28=margin-top, 18=margin-bottom
And now works well.
Regards, Oscar

UPDATE 2019
Since version 7 parameter set as an array:
$mpdfConfig = array(
'mode' => 'utf-8',
'format' => 'A4',
'margin_header' => 30, // 30mm not pixel
'margin_footer' => 10, // 10mm
'orientation' => 'P'
);
$mpdf = new \Mpdf\Mpdf($mpdfConfig);
References:
https://mpdf.github.io/reference/mpdf-functions/construct.html
https://mpdf.github.io/configuration/configuration-v7-x.html

Related

Oracle APEX how do I populate cascading select lists without page submit

I have an APEX page with a few select lists, using collections to save and refresh the page. The "System" select list is dependent upon the "Brand" selected value. I have the page working how I want, but it requires the page to be submitted after a "Brand" value is chosen so that the "System" lov is properly populated.
I am trying to make it so that when the "Brand" value is changed or selected, the "System" lov is changed immediately without needing a page submit. I've been reading and it seems you need to use jQuery and AJAX callback, but I just cannot get my head around that and make any progress.
Hoping someone can help me. I am certainly a rookie with web coding in general.
Added: my local APEX version is 5.0.3.
https://apex.oracle.com/pls/apex/f?p=4550
Workspace: UNCLE_BUCK_WS
User: developer1
Pwd: developer1
Application 83513 - Tooth Selector
Page 5: Page that works using submit page
Page 6: Page I started trying to use jQuery, but did not get very far
Added:
There is no cascading LOV for manual tabular form. See my region definition below. Hoping someone can still help, maybe copy my page and make the required changes.
select apex_item.select_list_from_query(p_idx => 1,
p_value => n001,
p_query => 'SELECT tooth_number display_value, tooth_number return_value FROM psp_teeth WHERE tooth_numbering_method = :P5_TOOTH_NUMBER_METHOD
ORDER BY tooth_number',
p_null_text => '- Choose Tooth -')
|| apex_item.hidden(p_idx => 50, p_value => seq_id) Tooth_Number
, apex_item.select_list_from_lov(p_idx => 10, p_value => c001, p_lov => 'BRAND', p_null_text => '- Choose Brand -') brand
, apex_item.select_list_from_lov(p_idx => 12, p_value => c002, p_lov => 'TYPE', p_null_text => '- Choose Type -') type
, apex_item.select_list (p_idx => 14,
p_value => c003,
p_list_values => CASE c001
WHEN 'BRAND_A' THEN 'SYSTEM_A1,SYSTEM_A2'
WHEN 'BRAND_B' THEN 'SYSTEM_B1,SYSTEM_B2'
END,
p_show_null => 'YES',
p_null_text => '- Choose System -') system
, apex_item.checkbox2(p_idx => 16, p_value => seq_id, p_checked_values => CASE c004 WHEN '1' THEN seq_id END) delete_row
from apex_collections
where collection_name = 'TEMPCOL'
Don't use tabular forms, they are archaic! Use an Interactive Grid instead, which supports cascading LOVs declaratively (you don't need to write any code, just specify that column TYPE cascades from column BRAND):
See page 9 in your app where I have created one (I didn't bother creating the master region). My LOV definition for TYPE is a bit cumbersome, you may be able to improve on that (i.e. get back to the "dynamic static" LOV that you had before).

Unable to get text value in hybrid app using Calabash

We have a hybrid app built using Cordova and it has a login user and password field. The applicatio is developed based on EmberJs stack. We are using Calabash 1.* version and other components works fine except all text boxes.
I am able to successfully query the input elements using the below code in console.
query("systemWebview css:'input'")
I get the below query result in console. But text value is always empty even if I enter some value.
{
"class" => "ember-view ember-text-field",
"nodeType" => "ELEMENT_NODE",
"id" => "ember555",
"textContent" => "",
"html" => "<input id=\"ember555\" class=\"ember-view ember-tex
ld\" placeholder=\"Enter User name\" type=\"text\">",
"rect" => {
"y" => 202,
"x" => 0,
"center_x" => 360,
"height" => 74,
"width" => 720,
"top" => 76,
"left" => 0,
"center_y" => 238
},
"nodeName" => "INPUT",
"webView" => "NoResourceEntry-100"
},
In the Ruby section, I have the below code and it also returns empty value.
query(objectName, :textContent).first
Any help is appreciated. Thanks in advance.
Code
query "UIWebView", :calabashStringByEvaluatingJavaScript => "document.querySelectorAll('input#ember555')[0].value"
Explanation
Breaking it down,
1.
query "UIWebView",
Gets the webview.
2.
:calabashStringByEvaluatingJavaScript => ...
This is a selector which calabash-ios-server adds to webviews such that any webview (UIWebView or WKWebView) should respond to it. The selector is invoked on the result of query "UIWebView"
3.
"document.querySelectorAll('input#ember555')[0].value"
This is a standard javascript selector that you can tweak as necessary to get your element. E.g., you could use document.getElementById() or whatever is most convenient. This string of javascript is used as an argument to the calabashStringByEvaluatingJavaScript selector.
I realize it would be nice to have the text just returned as part of the object, I'll check with the team and see if we should file an issue (or, feel free to file one yourself at https://github.com/calabash/calabash-ios-server/issues ).
Thanks to #christoper, I found some working solution for android.
evaluate_javascript("systemWebView", "return document.getElementById('nicknameid').value;")
The same logic works for checkbox validation too.

wpdb Update function getting "Undefined Index" error for each table column

I'm developing a plugin that lets me add and delete custom table records. Adding and deleting records works fine.
I also want to be able to update the records. This is where I cannot figure out what I'm doing wrong.
Here is my update code if anyone can point me in the right direction (I'm currently focused on the "update selected record" script:
function url_update() {
global $wpdb;
$id = $_GET["id"];
$launchname=$_POST["launchname"];
$url1 = $_POST["url1"];
$url2 = $_POST["url2"];
$urluser = $_POST["urluser"];
$urlpwd = $_POST["urlpwd"];
$wpfirstname = $_POST["wpfirstname"];
$wplastname = $_POST["wplastname"];
$wpemail = $_POST["wpemail"];
$activated = $_POST["activated"];
//update selected record
if(isset($_POST['update'])){
$wpdb->update('launcher',
array(
'id' => $id,
'launchname' => $launchname,
'url1' => $url1,
'url2' => $url2,
'urluser' => $urluser,
'urlpwd' => $urlpwd,
'wpfirstname' => $wpfirstname,
'wplastname' => $wplastname,
'wpemail' => $wpemail,
'activated' => $activated
),
array( 'ID' => $id ), //this line fixed the issue
array('%d','%s','%s','%s','%s','%s','%s','%s','%s','%s'));
}
//delete
else if(isset($_POST['delete'])){
$wpdb->query($wpdb->prepare(
"DELETE FROM wp_tincan_launcher WHERE id = %d",$id
));
}
else{
//selecting row to update
$selected_record = $wpdb->get_results($wpdb->prepare(
"SELECT id,launchname,url1,url2,urluser,urlpwd,wpfirstname,
wplastname,wpemail,activated from launcher where id=%d",$id
));
foreach ( $selected_record as $s ){
$launchname=$s->launchname;
$url1=$s->url1;
$url2=$s->url2;
$urluser=$s->urluser;
$urlpwd=$s->urlpwd;
$wpfirstname=$s->wpfirstname;
$wplastname=$s->wplastname;
$wpemail=$s->wpemail;
$activated=$s->activated;
}
}
I think my code is correct, however, I would really appreciate some feedback that directly addresses my code.
EDIT: Thanks to Pekka for pointing out that I did not identify the error results.
The Error I'm getting from WP is "Notice: Undefined index: each column in the DB."
Best Regards
I resolved it myself by changing my update query to include a new line as follows: array( 'ID' => $id ), before the types line.
None of the links I was led to, not any of the generic advice I was provided was of any help what-so-ever.
I've edited the original code to reflect the complete working code.

retrieve cookie value in cakephp

I'm storing a multidimensional array in a cookie.
$this->Cookie->write('Cart',
$products, false, 3600
);
Below is the multidimensional array which I'm storing in the cookie
Array
(
[Cart] => Array
(
[user_id] =>
[product_id] => 92
[quantity] => 1
[date_created] =>
[date_modified] =>
[product_name] => shoes
[price] => 12
)
)
but when i read the cookie, it gives me this output
[{\"Cart\":{\"user_id\":\"\",\"product_id\":\"7\",\"quantity\":\"1\",\"date_created\":\"\",\"date_modified\":\"\",\"product_name\":\"iPhone\",\"price\":\"12\"}}]
below is the code which i'm using to read the cookie
$this->Cookie->read('Cart');
On my local server it works perfectly alright but gives me above mentioned output when I try it on Online server
You could try the following to write
$this->Cookie->write('Cart', serialize($products), false, 3600);
And this to read
unserialize($this->Cookie->read('Cart'));
Your cookie is probably being saved as plain text.

Google Charts Axis Label Issues Line Chart

I am creating google charts to show Google Analytics data from the past 7 days. I have an issue with the X-Axis labels stacking on top of each other when I have certain data (or at least that's all I can tell is different.)
I am generating the API call using this gem: https://github.com/mattetti/googlecharts and I've looked at what each part of the URL is doing and can't find the issue, but I'm sure I'm missing something.
Here is an example of two sites data over the same time period, the first one shows the issue and the second one is a working example:
Here is the URL, these are text encoded for readability, but it has the same issues when switched to simple or extended encoding:
BROKEN VERSION:
https://chart.apis.google.com/chart?chxl=0:|11-22|11-23|11-24|11-25|11-26|11-27&chxt=x&chco=58838C,BF996B,BF5841,A61C1C&chf=bg,s,ffffff&chd=t:979,807,681,653,580,509|822,724,602,562,519,455|540,409,381,375,336,301|307,156,173,176,155,133&chds=0,979&chdl=Visits|Visitors|New+Visits|Organic+Searches&chtt=Google+Analytics+-+Last+7+Days&cht=lc&chs=600x200&chxr=0,979,979|1,822,822|2,540,540|3,307,307
WORKING VERSION:
https://chart.apis.google.com/chart?chxl=0:|11-22|11-23|11-24|11-25|11-26|11-27&chxt=x&chco=58838C,BF996B,BF5841,A61C1C&chf=bg,s,ffffff&chd=t:1385,1395,981,947,863,731|1083,1222,832,715,690,546|580,566,427,413,387,329|247,151,151,171,162,135&chds=0,1395&chdl=Visits|Visitors|New+Visits|Organic+Searches&chtt=Google+Analytics+-+Last+7+Days&cht=lc&chs=600x200&chxr=0,1385,1395|1,1083,1222|2,580,580|3,247,247
The chxr values were incorrect. The gem was generating them for multiple axes when it should have only been generating them for one. I manually overrode the min, max and step in the gem and it worked.
Here is my code using the gem, first getting the max value from all my data points:
[#visits,#visitors,#new_visits,#organic_searches].each do |array|
array.values.each do |value|
#max_value = value if (value > #max_value)
end
end
# Chart it
chart = Gchart.line(
:title => prop.to_s.upcase + ' Google Analytics - Past 7 Days',
:size => '600x200',
:bg => 'ffffff',
:axis_with_labels => ['x'],
:axis_labels => [#visits.keys],
:legend => ['Visits','Visitors','New Visits','Organic Searches'],
:line_colors => ['58838C','BF996B','BF5841','A61C1C'],
:encoding => 'text',
:data => [#visits.values,#visitors.values, #new_visits.values, #organic_searches.values],
:max_value => #max_value,
:axis_range => [nil, [0, #max_value, (#max_value / 10).to_i]],
:format => 'image_tag')