plesk_kit 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTQ2MWY4YTVlZDI0MDhhODRmODNhZTU1ZDRmMzczNmMwYzc3NDk4Yw==
4
+ MTkyZTEwYTU5OTA2NzU2MTZiODllZWZjOWYyNDdkYTE4ODRjODQ4Nw==
5
5
  data.tar.gz: !binary |-
6
- YzJhNzhhYzkyMjljOTZiZDE0ZjU0NGM0NGE4MDM5ZThhOGQ4OTdhMA==
6
+ MWZlMTA0YWIwZTQzMmIxYzNkZWM0NTZkMzVhMTQwZDQxZmY5OGQ0ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZDk5MDRkMTZhMzAwZTA3ZTM3MTJlYjM5M2MyOTRjZjhjNTA3YmVmMGZhNTgw
10
- NTZmZDFlNmQ4MDYzYWFiZTExZTRmOTE4ZGE0ODQ3NTlhOGM0MTVlODVkYzU5
11
- NzI5NmQ3NTY1ZjQ3ODFkNmU4ZjZiOTQ4ZDFhYjgwY2VkODIwYjI=
9
+ ZGViMTU3MmExYmYzNTdkZWE0MzU3OTM4ZjkxZmI1NzNlNWM2OTU1ZGE2MDdl
10
+ ZDc2N2E0NGEzYjViMDgzMDk1NzhkODg3MmZlNGI1NjIyYmU5MTJkN2JjZWNk
11
+ ZjUxOGQ4NjVmYjQ5NWM0MjUzYzY3MWFlZDc1ODYwNTc2ZGViMGI=
12
12
  data.tar.gz: !binary |-
13
- N2M2NjRlNmViNDcwZDU5NzYzZjUxMTE3OTlhYzlhNGJiODljOWViMGYxNDAz
14
- MDZlNTg2NGY5ZDljOWUyYjlkODVmYmI4M2FkZjQ3ZGY5MmJkN2FiNzZjMTJh
15
- NzQzYmY4NjdlZDQyYmExZjFhNzkzNmQ4YzZlOWM0OTYwMDZiY2E=
13
+ OWUwYmQ2MzAyMzBhNGNhZjc3Yzk5YWNjZTE5MDYwZjk0MjkzZTY1YmI0ZDlm
14
+ MTBmN2Y5Yjc5NzM0ZmY4MWQ0NjM3YTdlOTkyZDJmMmFjODFjMzk1MTBhYjEw
15
+ ZGI0YzAwMzk2MzJmMjg5ODQxMjM3ZDY2NmVlNGU0MDg3NGFiN2E=
@@ -22,4 +22,94 @@ module PleskKit
22
22
  return res.body, xml
23
23
  end
24
24
  end
25
- end
25
+ end
26
+
27
+
28
+
29
+
30
+ class Client
31
+ attr_accessor :host, :user, :pass, :timeout, :rpc_version, :xml_response, :xml_target
32
+ def initialize(host,user,pass)
33
+ @host, @user, @pass, @timeout = host, user, pass, 30
34
+ end
35
+
36
+ def send
37
+ http = Net::HTTP.new(@host)
38
+ puts http.inspect
39
+ http.use_ssl = true
40
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
41
+ @headers = {
42
+ 'HTTP_AUTH_LOGIN' => @user,
43
+ 'HTTP_AUTH_PASSWD' => @pass
44
+ }
45
+ puts @headers
46
+ path = "/REST/1.0/NoAuth/mail-gateway"
47
+ res, data = http.get(path, @headers)
48
+ puts res
49
+ return res
50
+ end
51
+ end
52
+
53
+
54
+ url = 'https://rt.ahq.net.au/REST/1.0/NoAuth/mail-gateway'
55
+ 'https://rt.ahq.net.au/REST/1.0/NoAuth/mail-gateway'
56
+
57
+
58
+
59
+
60
+ class Client
61
+ attr_accessor :host, :user, :pass, :timeout, :rpc_version, :xml_response, :xml_target
62
+ def initialize(host,user,pass)
63
+ @host, @user, @pass, @timeout = host, user, pass, 30
64
+ end
65
+
66
+ def send(params)
67
+ http = Net::HTTP.new(@host)
68
+ puts http.inspect
69
+ http.use_ssl = true
70
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
71
+ @headers = {
72
+ 'HTTP_AUTH_LOGIN' => @user,
73
+ 'HTTP_AUTH_PASSWD' => @pass
74
+ }
75
+ puts @headers
76
+ path = "/REST/1.0/NoAuth/mail-gateway"
77
+ res, data = http.post2(path, params, @headers)
78
+ puts res
79
+ return res.body, params
80
+ end
81
+ end
82
+ end
83
+
84
+
85
+
86
+ // Set the headers and message
87
+ $msgtext = "From: $msgfrom <$msgemail>\n";
88
+ $msgtext .= "To: $msgto\n";
89
+ $msgtext .= "Content-Type: text/plain\n";
90
+ $msgtext .= "Content-Transfer-Encoding: 7bit\n";
91
+ $msgtext .= "Mime-Version: 1.0\n";
92
+ $msgtext .= "Subject: $msgsubject\n";
93
+ $msgtext .= "Date: ".date("D, d M Y H:i:s O")."\n";
94
+ $msgtext .= "\n";
95
+ $msgtext .= "$msgbody";
96
+
97
+ 'SessionType'=>urlencode("REST"),
98
+ 'action'=>urlencode("correspond"),
99
+ 'queue'=>urlencode($queue),
100
+ 'message'=>urlencode($msgtext)
101
+
102
+ msgtext = "From: $msgfrom <$msgemail>\nTo: $msgto\nContent-Type: text/plain\nContent-Transfer-Encoding: 7bit\nMime-Version: 1.0\nSubject: $msgsubject\nSubject: $msgsubject\nDate: ''\).\n\n"
103
+
104
+ strr="name=blah&subject=blah&body=foo&email=d.saunders@uber.com.au&SessionType=REST&action=correspond&queue=13&message=#{msgtext}"
105
+
106
+
107
+ <form method='POST',action='https://rt.ahq.net.au/REST/1.0/NoAuth/mail-gateway'>
108
+ <input name='name' value='x'>
109
+ <input name='subject' value='x'>
110
+ <input name='body' value='x'>
111
+ <input name='email' value='d.saunders@uber.com.au'>
112
+ <input name='queue' value='13'>
113
+ <input name='message' value='From: $msgfrom <$msgemail>\nTo: $msgto\nContent-Type: text/plain\nContent-Transfer-Encoding: 7bit\nMime-Version: 1.0\nSubject: $msgsubject\nSubject: $msgsubject\nDate: ''\).\n\n'>
114
+
115
+
@@ -43,6 +43,12 @@ module PleskKit
43
43
  service_plan.analyse response[0], server
44
44
  end
45
45
 
46
+ def self.push_windows_service_plan service_plan, server
47
+ packet = service_plan.build_windows_xml_for_add shell
48
+ response = transportation_for packet, server
49
+ service_plan.analyse response[0], server
50
+ end
51
+
46
52
  def self.get_server_stats server
47
53
  packet = server.pack_this shell
48
54
  response = transportation_for(packet,server)
@@ -14,7 +14,11 @@ module PleskKit
14
14
  puts response_string
15
15
  if xml.root.elements['//get'].present?
16
16
  if status == 'error'
17
- PleskKit::Communicator.push_service_plan self, server
17
+ if server.platform == 'linux'
18
+ PleskKit::Communicator.push_service_plan self, server
19
+ elsif server.platform == 'windows'
20
+ PleskKit::Communicator.push_windows_service_plan self, server
21
+ end
18
22
  elsif status == 'ok'
19
23
  return true
20
24
  end
@@ -355,5 +359,316 @@ module PleskKit
355
359
  end
356
360
 
357
361
 
362
+
363
+
364
+ def build_windows_xml_for_add shell
365
+ xml = shell
366
+ xml.instruct!
367
+ xml.packet(:version => '1.6.3.0') {
368
+ xml.send(:"service-plan") {
369
+ xml.add{
370
+ xml.name("#{self.name.to_s}")
371
+ xml.mail{
372
+ xml.webmail('horde')
373
+ }
374
+ xml.limits{
375
+ xml.overuse('block')
376
+
377
+ xml.limit{
378
+ xml.name('max_site')
379
+ xml.value("#{self.domains.to_s}")
380
+ }
381
+ xml.limit{
382
+ xml.name('max_subdom')
383
+ xml.value('-1')
384
+ }
385
+ xml.limit{
386
+ xml.name('max_dom_aliases')
387
+ xml.value('-1')
388
+ }
389
+ xml.limit{
390
+ xml.name('disk_space')
391
+ xml.value("#{self.storage}") #10gb
392
+ }
393
+ xml.limit{
394
+ xml.name('disk_space_soft')
395
+ xml.value('0')
396
+ }
397
+ xml.limit{
398
+ xml.name('max_traffic')
399
+ xml.value("#{self.traffic.to_s}") # unlimited
400
+ }
401
+ xml.limit{
402
+ xml.name('max_traffic_soft')
403
+ xml.value('0')
404
+ }
405
+ xml.limit{
406
+ xml.name('max_wu')
407
+ xml.value('-1')
408
+ }
409
+ xml.limit{
410
+ xml.name('max_subftp_users')
411
+ xml.value('-1')
412
+ }
413
+ xml.limit{
414
+ xml.name('max_db')
415
+ xml.value('10')
416
+ }
417
+ xml.limit{
418
+ xml.name('max_box')
419
+ xml.value("#{self.mailboxes.to_s}") # mailboxes
420
+ }
421
+ xml.limit{
422
+ xml.name('mbox_quota')
423
+ xml.value('1073741824')
424
+ }
425
+ xml.limit{
426
+ xml.name('max_maillists')
427
+ xml.value('100')
428
+ }
429
+ xml.limit{
430
+ xml.name('max_webapps')
431
+ xml.value('0')
432
+ }
433
+ xml.limit{
434
+ xml.name('max_site_builder')
435
+ xml.value('1')
436
+ }
437
+ xml.limit{
438
+ xml.name('max_unity_mobile_sites')
439
+ xml.value('0')
440
+ }
441
+ xml.limit{
442
+ xml.name('expiration')
443
+ xml.value('-1')
444
+ }
445
+ xml.limit{
446
+ xml.name('upsell_site_builder')
447
+ xml.value('0')
448
+ }
449
+
450
+ }
451
+ xml.send(:"log-rotation"){
452
+ xml.on{
453
+ xml.send(:"log-condition"){
454
+ xml.tag!("log-bysize", "10485760")
455
+ }
456
+ xml.tag!("log-max-num-files", "10")
457
+ xml.tag!("log-compress", "true")
458
+ }
459
+ }
460
+ xml.preferences{
461
+ xml.stat('3')
462
+ xml.maillists('false')
463
+ xml.dns_zone_type('master')
464
+ }
465
+ xml.hosting{
466
+ xml.property{
467
+ xml.name('ssl')
468
+ xml.value('false')
469
+ }
470
+ xml.property{
471
+ xml.name('fp')
472
+ xml.value('false')
473
+ }
474
+ xml.property{
475
+ xml.name('fp_ssl')
476
+ xml.value('false')
477
+ }
478
+ xml.property{
479
+ xml.name('fp_auth')
480
+ xml.value('false')
481
+ }
482
+ xml.property{
483
+ xml.name('webstat')
484
+ xml.value('awstats')
485
+ }
486
+ xml.property{
487
+ xml.name('webstat_protected')
488
+ xml.value('true')
489
+ }
490
+ xml.property{
491
+ xml.name('wu_script')
492
+ xml.value('true')
493
+ }
494
+ #xml.property{
495
+ # xml.name('shell')
496
+ # xml.value('/bin/false')
497
+ #}
498
+ xml.property{
499
+ xml.name('ftp_quota')
500
+ xml.value('-1')
501
+ }
502
+ xml.property{
503
+ xml.name('php_handler_type')
504
+ xml.value('fastcgi')
505
+ }
506
+ xml.property{
507
+ xml.name('asp')
508
+ xml.value('false')
509
+ }
510
+ xml.property{
511
+ xml.name('ssi')
512
+ xml.value('false')
513
+ }
514
+ xml.property{
515
+ xml.name('php')
516
+ xml.value('true')
517
+ }
518
+ xml.property{
519
+ xml.name('cgi')
520
+ xml.value('true')
521
+ }
522
+ xml.property{
523
+ xml.name('perl')
524
+ xml.value('true')
525
+ }
526
+ xml.property{
527
+ xml.name('python')
528
+ xml.value('true')
529
+ }
530
+ xml.property{
531
+ xml.name('fastcgi')
532
+ xml.value('true')
533
+ }
534
+ xml.property{
535
+ xml.name('miva')
536
+ xml.value('false')
537
+ }
538
+ xml.property{
539
+ xml.name('coldfusion')
540
+ xml.value('false')
541
+ }
542
+ }
543
+ xml.performance{
544
+ xml.bandwidth('-1')
545
+ xml.max_connections('-1')
546
+ }
547
+ xml.permissions{
548
+ xml.permission{
549
+ xml.name('create_domains')
550
+ xml.value('true')
551
+ }
552
+ xml.permission{
553
+ xml.name('manage_phosting')
554
+ xml.value('false')
555
+ }
556
+ xml.permission{
557
+ xml.name('manage_php_settings')
558
+ xml.value('false')
559
+ }
560
+ xml.permission{
561
+ xml.name('manage_sh_access')
562
+ xml.value('false')
563
+ }
564
+ xml.permission{
565
+ xml.name('manage_not_chroot_shell')
566
+ xml.value('false')
567
+ }
568
+ xml.permission{
569
+ xml.name('manage_quota')
570
+ xml.value('false')
571
+ }
572
+ xml.permission{
573
+ xml.name('manage_subdomains')
574
+ xml.value('true')
575
+ }
576
+ xml.permission{
577
+ xml.name('manage_domain_aliases')
578
+ xml.value('false')
579
+ }
580
+ xml.permission{
581
+ xml.name('manage_log')
582
+ xml.value('true')
583
+ }
584
+ xml.permission{
585
+ xml.name('manage_anonftp')
586
+ xml.value('false')
587
+ }
588
+ xml.permission{
589
+ xml.name('manage_subftp')
590
+ xml.value('true')
591
+ }
592
+ xml.permission{
593
+ xml.name('manage_crontab')
594
+ xml.value('false')
595
+ }
596
+ xml.permission{
597
+ xml.name('manage_dns')
598
+ xml.value('true')
599
+ }
600
+ xml.permission{
601
+ xml.name('manage_webapps')
602
+ xml.value('false')
603
+ }
604
+ xml.permission{
605
+ xml.name('manage_webstat')
606
+ xml.value('true')
607
+ }
608
+ xml.permission{
609
+ xml.name('manage_mail_settings')
610
+ xml.value('true')
611
+ }
612
+ xml.permission{
613
+ xml.name('manage_maillists')
614
+ xml.value('true')
615
+ }
616
+ xml.permission{
617
+ xml.name('manage_spamfilter')
618
+ xml.value('true')
619
+ }
620
+ xml.permission{
621
+ xml.name('manage_virusfilter')
622
+ xml.value('true')
623
+ }
624
+ xml.permission{
625
+ xml.name('allow_local_backups')
626
+ xml.value('true')
627
+ }
628
+ xml.permission{
629
+ xml.name('allow_ftp_backups')
630
+ xml.value('true')
631
+ }
632
+ xml.permission{
633
+ xml.name('manage_performance')
634
+ xml.value('false')
635
+ }
636
+ xml.permission{
637
+ xml.name('select_db_server')
638
+ xml.value('false')
639
+ }
640
+ xml.permission{
641
+ xml.name('access_appcatalog')
642
+ xml.value('true')
643
+ }
644
+ xml.permission{
645
+ xml.name('allow_insecure_sites')
646
+ xml.value('true')
647
+ }
648
+ xml.permission{
649
+ xml.name('manage_website_maintenance')
650
+ xml.value('true')
651
+ }
652
+ xml.permission{
653
+ xml.name('manage_protected_dirs')
654
+ xml.value('true')
655
+ }
656
+ xml.permission{
657
+ xml.name('access_service_users')
658
+ xml.value('true')
659
+ }
660
+ xml.permission{
661
+ xml.name('allow_license_stubs')
662
+ xml.value('false')
663
+ }
664
+ }
665
+ }
666
+ }
667
+ }
668
+ puts xml.target!
669
+ return xml.target!
670
+ end
671
+
672
+
358
673
  end
359
674
  end
@@ -1,3 +1,3 @@
1
1
  module PleskKit
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plesk_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dionne Saunders
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-25 00:00:00.000000000 Z
11
+ date: 2013-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails