Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2023-3122: Changeset 2923988 for gd-mail-queue – WordPress Plugin Repository

The GD Mail Queue plugin for WordPress is vulnerable to Stored Cross-Site Scripting via email contents in versions up to, and including, 3.9.3 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

CVE
#sql#xss#vulnerability#web#js#wordpress#php#auth
  • gd-mail-queue/trunk/admin/scss/plugin.scss

    r2375699

    r2923988

9

9

10

10

                &.liner {

11

 

                    border-bottom: 1px solid #ddd;

 

11

                    border-bottom: 1px solid #DDD;

12

12

                    padding-bottom: 5px;

13

13

                    margin-bottom: 7px;

…

…

 

21

21

                        border-radius: 2px;

22

22

                        margin-left: 5px;

23

 

                        color: #ffffff;

 

23

                        color: #FFF;

24

24

                        display: inline-block;

25

25

                        padding: 0 6px 2px;

…

…

 

39

39

40

40

                        &.gdmaq-engine {

41

 

                            background: #0a63a5;

 

41

                            background: #0A63A5;

42

42

                        }

43

43

44

44

                        &.gdmaq-service {

45

 

                            background: #8e0676;

 

45

                            background: #8E0676;

46

46

                        }

47

47

                    }

…

…

 

89

89

.gdmaq-result-ok {

90

90

    background-color: #E8FFEA;

91

 

    border: 1px solid #00CC00;

 

91

    border: 1px solid #0C0;

92

92

}

93

93

94

94

.gdmaq-result-error {

95

95

    background-color: #FFEBE8;

96

 

    border: 1px solid #CC0000;

 

96

    border: 1px solid #C00;

97

97

}

98

98

…

…

 

145

145

        margin: 0 5px 5px 0;

146

146

        padding: 0 6px 1px;

147

 

        color: #ffffff;

 

147

        color: #FFF;

148

148

        display: inline-block;

149

 

        background: #0073aa;

 

149

        background: #0073AA;

150

150

        line-height: 1.5;

151

151

…

…

 

153

153

        &.gdmaq-tag-toqueue,

154

154

        &.gdmaq-tag-plain {

155

 

            background: #10ad3a;

 

155

            background: #10AD3A;

156

156

        }

157

157

158

158

        &.gdmaq-tag-fail,

159

159

        &.gdmaq-tag-html {

160

 

            background: #dc3232;

 

160

            background: #DC3232;

161

161

        }

162

162

163

163

        &.gdmaq-tag-engine {

164

 

            background: #8e0676;

 

164

            background: #8E0676;

165

165

        }

166

166

    }

…

…

 

171

171

172

172

    .gdmaq-log-row-fail {

173

 

        background: #ffeeee !important;

 

173

        background: #FEE !important;

174

174

    }

175

175

176

176

    .gdmaq-log-row-queue {

177

 

        background: #eef7ff !important;

 

177

        background: #EEF7FF !important;

178

178

    }

179

179
  • gd-mail-queue/trunk/core/admin/ajax.php

    r2347977

    r2923988

141

141

            die(\_\_("HTML for this email not found.", "gd-mail-queue"));

142

142

        } else {

143

 

            if (gdmaq\_settings()->get('preview\_html\_disable\_links', 'log')) {

 

143

            $html = wp\_kses($html, gdmaq\_allowed\_tags\_iframe\_display());

 

144

 

145

            if (gdmaq\_settings()->get('preview\_html\_disable\_links', 'log')) {

144

146

                $html = preg\_replace('/(<a.+href=\["|\\'\])(.+?)(\["|\\'\])/i', '$1#$3', $html);

145

147

            }
  • gd-mail-queue/trunk/core/admin/options.php

    r2516163

    r2923988

18

18

    }

19

19

20

 

    public function settings($panel) {

 

20

    public function settings($panel) : array {

21

21

        $list = array();

22

22

…

…

 

39

39

                )),

40

40

                'htmlfy' => array('name' => \_\_("Turn Plain text emails into HTML", "gd-mail-queue"), 'settings' => array(

41

 

                    new d4pSettingElement('settings', 'htmlfy', \_\_("HTMLfy", "gd-mail-queue"), \_\_("Emails that are only plain text, will be turned into the HTML emails, where all plain text content is wrapped in the email ready HTML.", "gd-mail-queue"), d4pSettingType::BOOLEAN, gdmaq\_settings()->get('htmlfy', 'settings'))

 

41

                    new d4pSettingElement('settings', 'htmlfy', \_\_("HTMLfy", "gd-mail-queue"), \_\_("Emails that are only plain text, will be turned into the HTML emails, where all plain text content is wrapped in the email ready HTML.", "gd-mail-queue"), d4pSettingType::BOOLEAN, gdmaq\_settings()->get('htmlfy', 'settings')),

 

42

                    new d4pSettingElement('htmlfy', 'preprocess', \_\_("HTML tags handling", "gd-mail-queue"), \_\_("The goal of this process is to take plain text email content and turn it into HTML. Plain text should not contain HTML tags, but if it does, it may contain malicious SCRIPT tags, and it is important to process it, before use.", "gd-mail-queue"), d4pSettingType::SELECT, gdmaq\_settings()->get('preprocess', 'htmlfy'), 'array', $this->get\_htmlfy\_preprocess())

42

43

                )),

43

44

                'engine' => array('name' => \_\_("Mail sending Engine", "gd-mail-queue"), 'settings' => array(

…

…

 

181

182

            ),

182

183

            'htmlfy' => array(

183

 

                'template' => array('name' => \_\_("HTML Template", "gd-mail-queue"), 'settings' => array(

 

184

                'htmlfy\_what' => array('name' => \_\_("HTML Template", "gd-mail-queue"), 'settings' => array(

184

185

                    new d4pSettingElement('htmlfy', 'replace', \_\_("What to use", "gd-mail-queue"), \_\_("Select what you want to use to turn plain text into HTML email.", "gd-mail-queue"), d4pSettingType::SELECT, gdmaq\_settings()->get('replace', 'htmlfy'), 'array', $this->get\_htmlfy\_replace())

185

186

                )),

186

 

                'template\_template' => array('name' => \_\_("Built-in HTML Templates", "gd-mail-queue"), 'settings' => array(

 

187

                'htmlfy\_template' => array('name' => \_\_("Built-in HTML Templates", "gd-mail-queue"), 'settings' => array(

187

188

                    new d4pSettingElement('htmlfy', 'template', \_\_("Template", "gd-mail-queue"), \_\_("Plugin includes some default templates that are email valid and tested with various email clients.", "gd-mail-queue"), d4pSettingType::SELECT, gdmaq\_settings()->get('template', 'htmlfy'), 'array', $this->get\_htmlfy\_templates())

188

189

                ))

…

…

 

211

212

    }

212

213

213

 

    private function get\_phpmailer\_mode() {

 

214

    private function get\_phpmailer\_mode() : array {

214

215

        return array(

215

216

            'mail' => \_\_("PHP Mail Function", "gd-mail-queue"),

…

…

 

218

219

    }

219

220

220

 

    private function get\_phpmailer\_encryption() {

 

221

    private function get\_phpmailer\_encryption() : array {

221

222

        return array(

222

223

            '' => \_\_("None", "gd-mail-queue"),

…

…

 

226

227

    }

227

228

228

 

    private function get\_queue\_methods() {

 

229

    private function get\_queue\_methods() : array {

229

230

        return array(

230

231

            'all' => \_\_("All emails will be added to queue", "gd-mail-queue"),

…

…

 

235

236

    }

236

237

237

 

    private function get\_htmlfy\_replace() {

 

238

    private function get\_htmlfy\_preprocess() : array {

 

239

        return array(

 

240

            'kses\_post' => \_\_("Allow post editor set of HTML tags", "gd-mail-queue"),

 

241

            'kses\_basic' => \_\_("Allow basic HTML tags", "gd-mail-queue"),

 

242

            'kses\_expanded' => \_\_("Allow expanded set of HTML tags", "gd-mail-queue"),

 

243

            'strip\_tags' => \_\_("Strip all HTML tags", "gd-mail-queue")

 

244

        );

 

245

    }

 

246

 

247

    private function get\_htmlfy\_replace() : array {

238

248

        $list = array(

239

249

            'template' => \_\_("Built-in HTML Templates", "gd-mail-queue")

…

…

 

247

257

    }

248

258

249

 

    private function get\_htmlfy\_plain\_text\_detection() {

 

259

    private function get\_htmlfy\_plain\_text\_detection() : array {

250

260

        return array(

251

261

            'tags' => \_\_("Check for common HTML tags and Content Type", "gd-mail-queue"),

…

…

 

254

264

    }

255

265

256

 

    private function get\_htmlfy\_additional\_templates() {

 

266

    private function get\_htmlfy\_additional\_templates() : array {

257

267

        return gdmaq()->get\_additional\_templates\_list();

258

268

    }

259

269

260

 

    private function get\_htmlfy\_templates() {

 

270

    private function get\_htmlfy\_templates() : array {

261

271

        return array(

262

272

            'clean-basic' => \_\_("Clean template with content and footer area", "gd-mail-queue"),

…

…

 

265

275

    }

266

276

267

 

    private function get\_htmlfy\_preheader() {

 

277

    private function get\_htmlfy\_preheader() : array {

268

278

        return array(

269

279

            'none' => \_\_("None", "gd-mail-queue"),

…

…

 

273

283

    }

274

284

275

 

    public function get\_queue\_method() {

 

285

    public function get\_queue\_method() : array {

276

286

        return array(

277

287

            'classic' => \_\_("Classic", "gd-mail-queue")

…

…

 

279

289

    }

280

290

281

 

    private function get\_shared\_template\_tags() {

 

291

    private function get\_shared\_template\_tags() : array {

282

292

        return gdmaq\_admin()->get\_shared\_template\_tags();

283

293

    }

284

294

285

 

    public function get\_cleanup\_scope() {

 

295

    public function get\_cleanup\_scope() : array {

286

296

        return array(

287

297

            'sent' => \_\_("All successfully sent emails", "gd-mail-queue"),

…

…

 

290

300

    }

291

301

292

 

    private function render\_toggle\_table($title, $elements) {

 

302

    private function render\_toggle\_table($title, $elements) : string {

293

303

        $render = '<div class="d4p-section-toggle d4p-free-height">';

294

304

        $render.= '<div class="d4p-toggle-title"><i class="fa fa-fw fa-caret-down"></i> '.$title.'</div>';

…

…

 

306

316

    }

307

317

308

 

    private function render\_ports() {

 

318

    private function render\_ports() : string {

309

319

        $list = array(

310

320

            array(\_x("Standard", "Connection type for the SMTP ports common list.", "gd-mail-queue"), '25, 2525, 587'),
  • gd-mail-queue/trunk/core/build.php

    r2776206

    r2923988

1

 

<?php $build = 115;

 

1

<?php $build = 120;
  • gd-mail-queue/trunk/core/functions.php

    r2516163

    r2923988

14

14

}

15

15

16

 

function gdmaq\_default\_from() {

 

16

function gdmaq\_default\_from() : array {

17

17

    $sitename = strtolower( $\_SERVER\['SERVER\_NAME'\] );

18

18

…

…

 

26

26

}

27

27

28

 

function gdmaq\_flat\_email\_from\_array($in) {

 

28

function gdmaq\_flat\_email\_from\_array($in) : array {

29

29

    $out = array();

30

30

…

…

 

36

36

}

37

37

38

 

function gdmaq\_normalize\_email($in) {

 

38

function gdmaq\_normalize\_email($in) : array {

39

39

    $con = array('email' => '', 'name' => '');

40

40

…

…

 

49

49

}

50

50

51

 

function gdmaq\_mail\_to\_queue($args = array()) {

 

51

function gdmaq\_mail\_to\_queue($args = array()) : int {

52

52

    $defaults = array(

53

53

        'to' => array(),

…

…

 

64

64

    $args = wp\_parse\_args($args, $defaults);

65

65

66

 

    if (!is\_array($args\['to'\]) && is\_string($args\['to'\])) {

 

66

    if ( is\_string($args\['to'\]) ) {

67

67

        $args\['to'\] = explode(',', $args\['to'\]);

68

68

    }

…

…

 

100

100

    }

101

101

 

102

    if (apply\_filters('gdmaq\_mail\_to\_queue\_content\_processing', true)) {

 

103

        $args\['subject'\] = wp\_kses($args\['subject'\], 'strip');

 

104

        $args\['plain'\] = gdmaq\_process\_plain\_content\_for\_html($args\['plain'\]);

 

105

    }

 

106

 

107

    if (!empty($args\['html'\]) && apply\_filters('gdmaq\_mail\_to\_queue\_html\_processing', false)) {

 

108

        $args\['html'\] = gdmaq\_kses\_max\_allowed($args\['html'\]);

 

109

    }

 

110

102

111

    $item = $args;

103

112

    $item\['extras'\] = json\_encode($item\['extras'\]);

…

…

 

128

137

129

138

    gdmaq\_settings()->save('statistics');

 

139

 

140

    return $added;

130

141

}

 

142

 

143

function gdmaq\_allowed\_tags\_iframe\_display() : array {

 

144

    return array\_merge(d4p\_kses\_wide\_list\_of\_tags(), d4p\_kses\_expanded\_list\_of\_tags());

 

145

}

 

146

 

147

function gdmaq\_process\_plain\_content\_for\_html($text, $preprocess = null) : string {

 

148

    $preprocess = $preprocess ?? gdmaq\_settings()->get('preprocess', 'htmlfy');

 

149

 

150

    $context = 'strip';

 

151

 

152

    switch ($preprocess) {

 

153

        case 'kses\_post':

 

154

            $context = 'post';

 

155

            break;

 

156

        case 'kses\_basic':

 

157

            $context = 'user\_description';

 

158

            break;

 

159

        case 'kses\_expanded':

 

160

            $context = apply\_filters( 'gdmaq\_plain\_text\_preprocess\_html', d4p\_kses\_expanded\_list\_of\_tags() );

 

161

            break;

 

162

    }

 

163

 

164

    return wp\_kses($text, $context);

 

165

}

 

166

 

167

function gdmaq\_kses\_max\_allowed($text) : string {

 

168

    return wp\_kses($text, gdmaq\_allowed\_tags\_iframe\_display());

 

169

}
  • gd-mail-queue/trunk/core/grids/log.php

    r2516163

    r2923988

203

203

204

204

    protected function column\_email($item) {

205

 

        $render = '<div class="gdmaq-subject">'.$item->subject.'</div>';

 

205

        $render = '<div class="gdmaq-subject">'.esc\_html($item->subject).'</div>';

206

206

207

207

        if ($item->type != 'mail' && isset(gdmaq\_mailer()->detection()->supported\_types\[$item->type\])) {

…

…

 

323

323

        $per\_page = $this->rows\_per\_page();

324

324

325

 

        $last = isset($\_GET\['filter-period'\]) && !empty($\_GET\['filter-period'\]) ? d4p\_sanitize\_slug($\_GET\['filter-period'\]) : 0;

326

 

        $status = isset($\_GET\['filter-status'\]) && !empty($\_GET\['filter-status'\]) ? d4p\_sanitize\_slug($\_GET\['filter-status'\]) : '';

327

 

        $search = isset($\_GET\['s'\]) && $\_GET\['s'\] != '' ? d4p\_sanitize\_basic($\_GET\['s'\]) : '';

328

 

        $type = isset($\_GET\['filter-type'\]) && !empty($\_GET\['filter-type'\]) ? d4p\_sanitize\_slug($\_GET\['filter-type'\]) : '';

 

325

        $last = !empty($\_GET\['filter-period'\]) ? d4p\_sanitize\_slug($\_GET\['filter-period'\]) : 0;

 

326

        $status = !empty($\_GET\['filter-status'\]) ? d4p\_sanitize\_slug($\_GET\['filter-status'\]) : '';

 

327

        $search = !empty($\_GET\['s'\]) ? d4p\_sanitize\_basic(urldecode($\_GET\['s'\])) : '';

 

328

        $type = !empty($\_GET\['filter-type'\]) ? d4p\_sanitize\_slug($\_GET\['filter-type'\]) : '';

329

329

330

330

        $select = "l.\*, COUNT(\*) AS emails";
  • gd-mail-queue/trunk/core/objects/core.db.php

    r2347977

    r2923988

28

28

29

29

    public function add\_mail\_to\_queue($args = array()) {

30

 

        if (!isset($args\['blog\_id'\]) || empty($args\['blog\_id'\]) || $args\['blog\_id'\] === false || $args\['blog\_id'\] == 0) {

 

30

        if ( empty($args\['blog\_id'\]) || $args\['blog\_id'\] == 0) {

31

31

            $args\['blog\_id'\] = get\_current\_blog\_id();

32

32

        }

…

…

 

80

80

        $entry = shortcode\_atts($defaults, $entry);

81

81

 

82

        $entry\['subject'\] = wp\_kses($entry\['subject'\], 'post');

 

83

        $entry\['plain'\] = wp\_kses($entry\['plain'\], 'post');

 

84

82

85

        if (strlen($entry\['message'\]) > 254) {

83

86

            $entry\['message'\] = substr($entry\['message'\], 0, 254);
  • gd-mail-queue/trunk/core/objects/core.htmlfy.php

    r2347977

    r2923988

7

7

    public $template;

8

8

    public $additional;

 

9

    public $preprocess;

9

10

    public $header;

10

11

    public $footer;

…

…

 

18

19

19

20

    public function \_\_construct() {

20

 

        foreach (array('replace', 'template', 'additional', 'header', 'footer', 'preheader', 'preheader\_limit', 'embed\_local\_images') as $key) {

 

21

        foreach (array('replace', 'template', 'additional', 'preprocess', 'header', 'footer', 'preheader', 'preheader\_limit', 'embed\_local\_images') as $key) {

21

22

            $this->$key = gdmaq\_settings()->get($key, 'htmlfy');

22

23

        }

…

…

 

61

62

            'is\_html' => false,

62

63

            'preheader' => true,

63

 

 

64

            'preprocess' => $this->preprocess,

64

65

            'replace' => $this->replace,

65

66

            'template' => $this->template,

…

…

 

79

80

        $template = $this->\_get\_template($args);

80

81

81

 

        $html\_content = $args\['is\_html'\] ? $content : $this->\_process\_text\_to\_html($content);

 

82

        $html\_content = $args\['is\_html'\] ? $content : $this->\_process\_text\_to\_html($content, $args\['preprocess'\]);

82

83

        $preheader = $args\['preheader'\] === true ? $this->\_generate\_preheader($subject, $content) : ($args\['preheader'\] === false ? '' : $args\['preheader'\]);

83

84

…

…

 

145

146

    }

146

147

147

 

    private function \_convert\_textlinks($body) {

148

 

        return preg\_replace('#<(https?://\[^\*\]+)>#', '$1', $body);

149

 

    }

 

148

    private function \_convert\_text\_links($body) {

 

149

        return preg\_replace('#<(https?://\[^\*\]+)>#', '$1', $body);

 

150

    }

150

151

151

 

    private function \_process\_text\_to\_html($body) {

152

 

        $body = $this->\_convert\_textlinks($body);

153

 

        $body = nl2br($body);

154

 

        $body = make\_clickable($body);

 

152

    private function \_convert\_line\_breaks($body) : string {

 

153

        return nl2br($body);

 

154

    }

155

155

156

 

        return $body;

157

 

    }

 

156

    private function \_process\_text\_to\_html($body, $preprocess) : string {

 

157

        $body = $this->\_convert\_text\_links($body);

 

158

        $body = $this->\_convert\_line\_breaks($body);

 

159

 

160

        $body = gdmaq\_process\_plain\_content\_for\_html($body, $preprocess);

 

161

 

162

        return make\_clickable($body);

 

163

    }

158

164

159

165

    private function \_generate\_preheader($subject, $body) {
  • gd-mail-queue/trunk/core/settings.php

    r2327878

    r2923988

75

75

        ),

76

76

        'htmlfy' => array(

77

 

            'replace' => 'template', // template, custom

 

77

            'preprocess' => 'kses\_post',

 

78

            'replace' => 'template',

78

79

            'template' => 'clean-basic',

79

80

            'additional' => '',
  • gd-mail-queue/trunk/core/version.php

    r2776206

    r2923988

7

7

    public $code = 'gd-mail-queue';

8

8

9

 

    public $version = '3.9.3';

10

 

    public $build = 115;

 

9

    public $version = '4.0';

 

10

    public $build = 120;

11

11

    public $edition = 'free';

12

12

    public $status = 'stable';

13

 

    public $updated = '2022.08.26';

 

13

    public $updated = '2023.06.09';

14

14

    public $url = 'https://plugins.dev4press.com/gd-mail-queue/';

15

15

    public $author\_name = 'Milan Petrovic';

…

…

 

17

17

    public $released = '2019.05.02';

18

18

19

 

    public $php = '7.0';

 

19

    public $php = '7.3';

20

20

    public $mysql = '5.1';

21

 

    public $wordpress = '4.9';

22

 

    public $classicpress = '1.0';

 

21

    public $wordpress = '5.2';

 

22

    public $classicpress = '1.2';

23

23

24

24

    public $install = false;
  • gd-mail-queue/trunk/d4plib/admin/d4p.grid.php

    r2516163

    r2923988

84

84

                        return $default;

85

85

                    }

86

 

                    break;

87

 

                case 'order':

 

86

                case 'order':

88

87

                    $value = strtoupper($value);

89

88

…

…

 

93

92

                        return $default;

94

93

                    }

95

 

                    break;

96

94

            }

97

95

        }
  • gd-mail-queue/trunk/d4plib/admin/d4p.settings.php

    r2516163

    r2923988

174

174

            foreach ($this->groups as $group => $obj) {

175

175

                if (isset($obj\['type'\]) && $obj\['type'\] == 'separator') {

176

 

                    $args = isset($obj\['args'\]) ? $obj\['args'\] : array();

 

176

                    $args = $obj\['args'\] ?? array();

177

177

178

178

                    $classes = array('d4p-group-separator', 'd4p-group-'.$group);

…

…

 

186

186

                    echo '</div>';

187

187

                } else {

188

 

                    $args = isset($obj\['args'\]) ? $obj\['args'\] : array();

 

188

                    $args = $obj\['args'\] ?? array();

189

189

190

190

                    $classes = array('d4p-group', 'd4p-group-'.$group);

…

…

 

202

202

203

203

                        if ($kb != '') {

204

 

                            $type = isset($obj\['kb'\]\['type'\]) ? $obj\['kb'\]\['type'\] : 'article';

 

204

                            $type = $obj\['kb'\]\['type'\] ?? 'article';

205

205

                            $kb = str\_replace('%type%', $type, $kb);

206

206

…

…

 

736

736

            echo '</ol>';

737

737

738

 

            $label = isset($element->args\['label\_button\_add'\]) ? $element->args\['label\_button\_add'\] : \_\_("Add New Value", "d4plib");

 

738

            $label = $element->args\['label\_button\_add'\] ?? \_\_( "Add New Value", "d4plib" );

739

739

740

740

            echo '<a role="button" class="button-primary" href="#">'.$label.'</a>';

…

…

 

764

764

            foreach ($this->settings as $setting) {

765

765

                if ($setting->type != '\_') {

766

 

                    $post = isset($request\[$this->base\]\[$setting->type\]) ? $request\[$this->base\]\[$setting->type\] : array();

 

766

                    $post = $request\[ $this->base \]\[ $setting->type \] ?? array();

767

767

768

768

                    $list\[$setting->type\]\[$setting->name\] = $this->process\_single($setting, $post);

…

…

 

775

775

        public function slug\_slashes($key) {

776

776

            $key = strtolower($key);

777

 

            $key = preg\_replace('/\[^a-z0-9.\\/\_\\-\]/', '', $key);

778

 

779

 

            return $key;

 

777

 

778

            return preg\_replace('/\[^a-z0-9.\\/\_\\-\]/', '', $key);

780

779

        }

781

780

   

…

…

 

853

852

                case 'text\_html':

854

853

                case 'text\_rich':

855

 

                    $tags = isset($args\['allowed\_html'\]) ? $args\['allowed\_html'\] : null;

 

854

                    $tags = $args\['allowed\_html'\] ?? null;

856

855

857

856

                    $value = d4p\_sanitize\_html($post\[$key\], $tags);
  • gd-mail-queue/trunk/d4plib/changelog.txt

    r2639078

    r2923988

1

1

\=== Dev4Press Library ===

2

2

\== Changelog ==

 

3

 

4

\= Version 2.8.15 - 2023.02.18 =

 

5

\* Fixed: some issues with PHP 8.x

3

6

4

7

\= Version 2.8.14 - 2021.07.22 =
  • gd-mail-queue/trunk/d4plib/classes/d4p.four.php

    r2516163

    r2923988

175

175

            $url = add\_query\_arg('utm\_source', $this->data\['url'\], $url);

176

176

            $url = add\_query\_arg('utm\_medium', 'web-'.$this->data\['name'\], $url);

177

 

            $url = add\_query\_arg('utm\_campaign', $campaign.'-panel', $url);

178

 

179

 

            return $url;

 

177

 

178

            return add\_query\_arg('utm\_campaign', $campaign . '-panel', $url);

180

179

        }

181

180
  • gd-mail-queue/trunk/d4plib/classes/d4p.geoip.php

    r2516163

    r2923988

116

116

117

117

        public function \_\_get($name) {

118

 

            if (isset($this->\_data->$name)) {

119

 

                return $this->\_data->$name;

120

 

            } else {

121

 

                return '';

122

 

            }

 

118

            return $this->\_data->$name ?? '';

123

119

        }

124

120

…

…

 

248

244

if (!class\_exists('d4p\_geojsio\_geoip')) {

249

245

    class d4p\_geojsio\_geoip {

250

 

        private $\_ips = array();

251

 

        private $\_expire = 14;

 

246

        private $\_ips;

 

247

        private $\_expire;

252

248

253

249

        private $\_data = array();

…

…

 

283

279

284

280

        public function get($ip) {

285

 

            return isset($this->\_data\[$ip\]) ? $this->\_data\[$ip\] : 'invalid';

 

281

            return $this->\_data\[ $ip \] ?? 'invalid';

286

282

        }

287

283

…

…

 

320

316

                    } else {

321

317

                        $code = array(

322

 

                            'error\_code' => isset($raw\['response'\]\['code'\]) ? $raw\['response'\]\['code'\] : 'error',

323

 

                            'error\_message' => isset($raw\['response'\]\['message'\]) ? $raw\['response'\]\['message'\] : 'Unspecified Error');

 

318

                            'error\_code' => $raw\['response'\]\['code'\] ?? 'error',

 

319

                            'error\_message' => $raw\['response'\]\['message'\] ?? 'Unspecified Error'

 

320

                        );

324

321

                    }

325

322
  • gd-mail-queue/trunk/d4plib/classes/d4p.ip.php

    r2516163

    r2923988

247

247

            if (is\_null($ip)) {

248

248

                if (isset($\_SERVER\['HTTP\_CF\_CONNECTING\_IP'\])) {

249

 

                    if (isset($\_SERVER\['HTTP\_X\_REAL\_IP'\])) {

250

 

                        $ip = $\_SERVER\['HTTP\_X\_REAL\_IP'\];

251

 

                    } else {

252

 

                        $ip = $\_SERVER\['REMOTE\_ADDR'\];

253

 

                    }

 

249

                    $ip = $\_SERVER\['HTTP\_X\_REAL\_IP'\] ?? $\_SERVER\['REMOTE\_ADDR'\];

254

250

                } else {

255

251

                    return false;
  • gd-mail-queue/trunk/d4plib/core/d4p.scope.php

    r2516163

    r2923988

30

30

if (!class\_exists('d4p\_core\_scope')) {

31

31

    abstract class d4p\_core\_scope {

32

 

        private $scope = 'blog';

 

32

        private $scope;

33

33

34

 

        private $multisite = false;

 

34

        private $multisite;

35

35

36

36

        private $admin = false;

…

…

 

41

41

        private $frontend = false;

42

42

43

 

        private $blog\_id = 0;

 

43

        private $blog\_id;

44

44

45

45

        function \_\_construct() {
  • gd-mail-queue/trunk/d4plib/core/d4p.wpdb.php

    r2516163

    r2923988

114

114

            $ids = array\_map('absint', $ids);

115

115

            $ids = array\_unique($ids);

116

 

            $ids = array\_filter($ids);

117

 

118

 

            return $ids;

 

116

 

117

            return array\_filter($ids);

119

118

        }

120

119
  • gd-mail-queue/trunk/d4plib/d4p.access.php

    r2516163

    r2923988

86

86

if (!function\_exists('d4p\_current\_url\_request')) {

87

87

    function d4p\_current\_url\_request() {

88

 

        $pathinfo = isset($\_SERVER\['PATH\_INFO'\]) ? $\_SERVER\['PATH\_INFO'\] : '';

89

 

        list($pathinfo) = explode('?', $pathinfo);

90

 

        $pathinfo = str\_replace('%', '%25', $pathinfo);

 

88

        $path\_info = $\_SERVER\['PATH\_INFO'\] ?? '';

 

89

        list( $path\_info ) = explode( '?', $path\_info );

 

90

        $path\_info = str\_replace( '%', '%25', $path\_info );

91

91

92

 

        $request = explode('?', $\_SERVER\['REQUEST\_URI'\]);

93

 

        $req\_uri = $request\[0\];

94

 

        $req\_query = isset($request\[1\]) ? $request\[1\] : false;

95

 

        $home\_path = trim(parse\_url(home\_url(), PHP\_URL\_PATH), '/');

96

 

        $home\_path\_regex = sprintf('|^%s|i', preg\_quote($home\_path, '|'));

 

92

        $request         = explode( '?', $\_SERVER\['REQUEST\_URI'\] );

 

93

        $req\_uri         = $request\[0\];

 

94

        $req\_query       = $request\[1\] ?? false;

 

95

        $home\_path       = parse\_url( home\_url(), PHP\_URL\_PATH );

 

96

        $home\_path       = $home\_path ? trim( $home\_path, '/' ) : '';

 

97

        $home\_path\_regex = sprintf( '|^%s|i', preg\_quote( $home\_path, '|' ) );

97

98

98

 

        $req\_uri = str\_replace($pathinfo, '', $req\_uri);

99

 

        $req\_uri = trim($req\_uri, '/');

100

 

        $req\_uri = preg\_replace($home\_path\_regex, '', $req\_uri);

101

 

        $req\_uri = trim($req\_uri, '/');

 

99

        $req\_uri = str\_replace( $path\_info, '', $req\_uri );

 

100

        $req\_uri = ltrim( $req\_uri, '/' );

 

101

        $req\_uri = preg\_replace( $home\_path\_regex, '', $req\_uri );

 

102

        $req\_uri = ltrim( $req\_uri, '/' );

102

103

103

 

        $url\_request = $req\_uri;

 

104

        $url\_request = $req\_uri;

104

105

105

 

        if ($req\_query !== false) {

106

 

            $url\_request.= '?'.$req\_query;

107

 

        }

 

106

        if ( $req\_query !== false ) {

 

107

            $url\_request .= '?' . $req\_query;

 

108

        }

108

109

109

 

        return $url\_request;

 

110

        return $url\_request;

110

111

    }

111

112

}
  • gd-mail-queue/trunk/d4plib/d4p.core.php

    r2639078

    r2923988

29

29

30

30

if (!defined('D4P\_VERSION')) {

31

 

    define('D4P\_VERSION', '2.8.14');

32

 

    define('D4P\_BUILD', '2914');

 

31

    define('D4P\_VERSION', '2.8.15');

 

32

    define('D4P\_BUILD', '2815');

33

33

}

34

34
  • gd-mail-queue/trunk/d4plib/d4p.sanitize.php

    r2516163

    r2923988

49

49

    function d4p\_sanitize\_key\_expanded($key) {

50

50

        $key = strtolower($key);

51

 

    $key = preg\_replace('/\[^a-z0-9.\_\\-\]/', '', $key);

52

 

53

 

        return $key;

 

51

 

52

        return preg\_replace('/\[^a-z0-9.\_\\-\]/', '', $key);

54

53

    }

55

54

}

…

…

 

122

121

        $ids = array\_map('trim', $ids);

123

122

        $ids = array\_map($map, $ids);

124

 

        $ids = array\_filter($ids);

125

 

126

 

        return $ids;

 

123

 

124

        return array\_filter($ids);

127

125

    }

128

126

}

…

…

 

131

129

    function d4p\_kses\_wide\_list\_of\_tags() {

132

130

        return array\_merge(d4p\_kses\_expanded\_list\_of\_tags(), array(

 

131

            'html' => array(

 

132

                'class' => true,

 

133

                'lang' => true

 

134

            ),

133

135

            'head' => array(),

134

136

            'title' => array(),

135

 

                'html' => array(

136

 

                    'lang' => true

137

 

                ),

138

137

            'link' => array(

139

138

                'rel' => true,

…

…

 

172

171

                'target' => true

173

172

            ),

 

173

            'br' => array(

 

174

                'class' => true,

 

175

                'style' => true

 

176

            ),

174

177

            'abbr' => array(

175

178

                'class' => true,

…

…

 

281

284

                'border' => true,

282

285

                'class' => true,

283

 

                'style' => true

 

286

                'style' => true,

 

287

                'width' => true

284

288

            ),

285

289

            'tbody' => array(

…

…

 

293

297

                'valign' => true,

294

298

                'class' => true,

295

 

                'style' => true

 

299

                'style' => true,

 

300

                'colspan' => true,

 

301

                'rowspan' => true

296

302

            ),

297

303

            'tfoot' => array(

…

…

 

305

311

                'valign' => true,

306

312

                'class' => true,

307

 

                'style' => true

 

313

                'style' => true,

 

314

                'colspan' => true,

 

315

                'rowspan' => true

308

316

            ),

309

317

            'thead' => array(
  • gd-mail-queue/trunk/d4plib/d4p.wp.php

    r2516163

    r2923988

178

178

179

179

        $content = apply\_filters('the\_content', $content);

180

 

        $content = str\_replace('\]\]>', '\]\]&gt;', $content);

181

 

182

 

        return $content;

 

180

 

181

        return str\_replace('\]\]>', '\]\]&gt;', $content);

183

182

    }

184

183

}

…

…

 

529

528

        $image = wp\_get\_attachment\_image\_src($attachment\_id, $size, $icon);

530

529

531

 

        return isset($image\['0'\]) ? $image\['0'\] : false;

 

530

        return $image\['0'\] ?? false;

532

531

    }

533

532

}
  • gd-mail-queue/trunk/d4plib/plugin/d4p.customizer.php

    r2516163

    r2923988

89

89

90

90

        public function enqueue() {

91

 

            wp\_enqueue\_style('d4p-customizer', $this->\_file('css', 'customizer', true), array(), D4P\_VERSION);

92

 

            wp\_enqueue\_script('d4p-customizer', $this->\_file('js', 'customizer', true), array('jquery','customize-preview'), D4P\_VERSION, true);

 

91

            wp\_enqueue\_style('d4p-customizer', $this->\_file('css', 'customizer'), array(), D4P\_VERSION);

 

92

            wp\_enqueue\_script('d4p-customizer', $this->\_file('js', 'customizer'), array('jquery','customize-preview'), D4P\_VERSION, true);

93

93

        }

94

94

…

…

 

111

111

            $atts = $setting->manager->get\_control($setting->id)->input\_attrs;

112

112

113

 

            $min = isset($atts\['min'\]) ? $atts\['min'\] : $input;

114

 

            $max = isset($atts\['max'\]) ? $atts\['max'\] : $input;

115

 

            $step = isset($atts\['step'\]) ? $atts\['step'\] : 1;

 

113

            $min = $atts\['min'\] ?? $input;

 

114

            $max = $atts\['max'\] ?? $input;

 

115

            $step = $atts\['step'\] ?? 1;

116

116

117

117

            $number = $step != 1 ? floor($input / $step) \* $step : $input;
  • gd-mail-queue/trunk/d4plib/plugin/d4p.settings.php

    r2516163

    r2923988

92

92

93

93

        public function group($group) {

94

 

            if (isset($this->settings\[$group\])) {

95

 

                return $this->settings\[$group\];

96

 

            } else {

97

 

                return null;

98

 

            }

 

94

            return $this->settings\[ $group \] ?? null;

99

95

        }

100

96
  • gd-mail-queue/trunk/d4plib/plugin/d4p.shortcodes.php

    r2516163

    r2923988

85

85

86

86

        protected function \_args($code) {

87

 

            return isset($this->shortcodes\[$code\]\['args'\]) ? $this->shortcodes\[$code\]\['args'\] : array();

 

87

            return $this->shortcodes\[ $code \]\['args'\] ?? array();

88

88

        }

89

89
  • gd-mail-queue/trunk/d4plib/readme.txt

    r2639078

    r2923988

1

1

\=== Dev4Press Library ===

2

 

Version: v2.8.14

3

 

Build:   2914

 

2

Version: v2.8.15

 

3

Build:   2815

4

4

Author:  Milan Petrovic

5

5

Email:   [email protected]
  • gd-mail-queue/trunk/d4plib/resources/js/admin.js

    r2347977

    r2923988

34

34

                e.preventDefault();

35

35

36

 

                var checkall = $(this).attr("href").substr(1) === "checkall";

 

36

                var checkall = $(this).attr("href").substring(1) === "checkall";

37

37

38

38

                $(this).parent().parent().find("input\[type=checkbox\]").prop("checked", checkall);
  • gd-mail-queue/trunk/d4plib/resources/js/admin.min.js

    r2347977

    r2923988

1

 

var d4plib\_admin;!function(r,n,e,t){(d4plib\_admin={scroll\_offset:40,active\_element:null,init:function(){r(".d4p-nav-button > a").click(function(e){e.preventDefault(),r(this).next().slideToggle("fast")}),setTimeout(function(){r(".d4p-wrap .updated").slideUp("slow")},4e3),r(n).bind("load resize orientationchange",function(){e.body.clientWidth<800?d4plib\_admin.scroll\_offset=60:d4plib\_admin.scroll\_offset=40,e.body.clientWidth<640?r(".d4p-panel-scroller").removeClass("d4p-scroll-active"):r(".d4p-panel-scroller").addClass("d4p-scroll-active")}),r(".d4p-check-uncheck a").click(function(e){e.preventDefault();var t="checkall"===r(this).attr("href").substr(1);r(this).parent().parent().find("input\[type=checkbox\]").prop("checked",t)})},settings:function(){"undefined"!=typeof d4plib\_media\_image&&null!==d4plib\_media\_image&&d4plib\_media\_image.init(),r.numeric&&(r(".d4p-setting-number input, .d4p-field-number").numeric(),r(".d4p-setting-integer input, .d4p-field-integer").numeric({decimalPlaces:0,negative:!1})),r(".d4p-color-picker").wpColorPicker(),r(e).on("click",".d4p-group h3 i.fa.fa-caret-down, .d4p-group h3 i.fa.fa-caret-up",function(){var e=r(this).hasClass("fa-caret-down"),t=r(this).parent().next();e?(r(this).removeClass("fa-caret-down").addClass("fa-caret-up"),t.slideDown(300)):(r(this).removeClass("fa-caret-up").addClass("fa-caret-down"),t.slideUp(300))}),r(e).on("click",".d4p-section-toggle .d4p-toggle-title",function(){var e=r(this).find("i.fa"),t=e.hasClass("fa-caret-down"),a=r(this).next();t?(e.removeClass("fa-caret-down").addClass("fa-caret-up"),a.slideDown(300)):(e.removeClass("fa-caret-up").addClass("fa-caret-down"),a.slideUp(300))}),r(e).on("click",".d4p-setting-expandable\_pairs .button-secondary",function(e){e.preventDefault();var t=r(this).parent();t.fadeOut(200,function(){t.remove()})}),r(".d4p-setting-expandable\_pairs a.button-primary").click(function(e){e.preventDefault();var t=r(this).closest(".d4p-setting-expandable\_pairs"),a=r(".d4p-next-id",t),n=a.val(),i=r(".pair-element-0",t).clone();r("input",i).each(function(){var e=r(this).attr("id").replace("\_0\_","\_"+n+"\_"),t=r(this).attr("name").replace("\[0\]","\["+n+"\]");r(this).attr("id",e).attr("name",t)}),i.attr("class","pair-element-"+n).fadeIn(),r(this).before(i),n++,a.val(n)}),r(e).on("click",".d4p-setting-expandable\_text .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),r(e).on("click",".d4p-setting-expandable\_raw .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),r(e).on("click",".d4p-setting-expandable\_regex .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),r(".d4p-setting-expandable\_text a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_text")}),r(".d4p-setting-expandable\_raw a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_raw")}),r(".d4p-setting-expandable\_regex a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_regex")})},scroller:function(){var e=r(".d4p-panel-scroller"),t=r(n);if(0<e.length){var a=e.offset();t.scroll(function(){t.scrollTop()>a.top&&e.hasClass("d4p-scroll-active")?e.stop().animate({marginTop:t.scrollTop()-a.top+d4plib\_admin.scroll\_offset}):e.stop().animate({marginTop:0})})}},handlers:{expendable\_text\_remove:function(e,t){t.preventDefault();var a=r(e).parent();a.fadeOut(200,function(){a.remove()})},expendable\_text\_add:function(e,t,a){t.preventDefault();var n=r(e).closest(a),i=r(".d4p-next-id",n),d=i.val(),l=r(".exp-text-element-0",n).clone();r("input",l).each(function(){var e=r(this).attr("id").replace("\_0\_","\_"+d+"\_"),t=r(this).attr("name").replace("\[0\]","\["+d+"\]");r(this).attr("id",e).attr("name",t)}),l.attr("class","exp-text-element exp-text-element-"+d).fadeIn(),r("ol",n).append(l),d++,i.val(d)}}}).init(),d4plib\_admin.settings(),d4plib\_admin.scroller()}(jQuery,window,document);

 

1

var d4plib\_admin;!function(i,n,e){(d4plib\_admin={scroll\_offset:40,active\_element:null,init:function(){i(".d4p-nav-button > a").click(function(e){e.preventDefault(),i(this).next().slideToggle("fast")}),setTimeout(function(){i(".d4p-wrap .updated").slideUp("slow")},4e3),i(n).bind("load resize orientationchange",function(){e.body.clientWidth<800?d4plib\_admin.scroll\_offset=60:d4plib\_admin.scroll\_offset=40,e.body.clientWidth<640?i(".d4p-panel-scroller").removeClass("d4p-scroll-active"):i(".d4p-panel-scroller").addClass("d4p-scroll-active")}),i(".d4p-check-uncheck a").click(function(e){e.preventDefault();e="checkall"===i(this).attr("href").substring(1);i(this).parent().parent().find("input\[type=checkbox\]").prop("checked",e)})},settings:function(){"undefined"!=typeof d4plib\_media\_image&&null!==d4plib\_media\_image&&d4plib\_media\_image.init(),i.numeric&&(i(".d4p-setting-number input, .d4p-field-number").numeric(),i(".d4p-setting-integer input, .d4p-field-integer").numeric({decimalPlaces:0,negative:!1})),i(".d4p-color-picker").wpColorPicker(),i(e).on("click",".d4p-group h3 i.fa.fa-caret-down, .d4p-group h3 i.fa.fa-caret-up",function(){var e=i(this).hasClass("fa-caret-down"),t=i(this).parent().next();e?(i(this).removeClass("fa-caret-down").addClass("fa-caret-up"),t.slideDown(300)):(i(this).removeClass("fa-caret-up").addClass("fa-caret-down"),t.slideUp(300))}),i(e).on("click",".d4p-section-toggle .d4p-toggle-title",function(){var e=i(this).find("i.fa"),t=e.hasClass("fa-caret-down"),a=i(this).next();t?(e.removeClass("fa-caret-down").addClass("fa-caret-up"),a.slideDown(300)):(e.removeClass("fa-caret-up").addClass("fa-caret-down"),a.slideUp(300))}),i(e).on("click",".d4p-setting-expandable\_pairs .button-secondary",function(e){e.preventDefault();var t=i(this).parent();t.fadeOut(200,function(){t.remove()})}),i(".d4p-setting-expandable\_pairs a.button-primary").click(function(e){e.preventDefault();var e=i(this).closest(".d4p-setting-expandable\_pairs"),t=i(".d4p-next-id",e),a=t.val(),e=i(".pair-element-0",e).clone();i("input",e).each(function(){var e=i(this).attr("id").replace("\_0\_","\_"+a+"\_"),t=i(this).attr("name").replace("\[0\]","\["+a+"\]");i(this).attr("id",e).attr("name",t)}),e.attr("class","pair-element-"+a).fadeIn(),i(this).before(e),a++,t.val(a)}),i(e).on("click",".d4p-setting-expandable\_text .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),i(e).on("click",".d4p-setting-expandable\_raw .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),i(e).on("click",".d4p-setting-expandable\_regex .button-secondary",function(e){d4plib\_admin.handlers.expendable\_text\_remove(this,e)}),i(".d4p-setting-expandable\_text a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_text")}),i(".d4p-setting-expandable\_raw a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_raw")}),i(".d4p-setting-expandable\_regex a.button-primary").click(function(e){d4plib\_admin.handlers.expendable\_text\_add(this,e,".d4p-setting-expandable\_regex")})},scroller:function(){var e,t=i(".d4p-panel-scroller"),a=i(n);0<t.length&&(e=t.offset(),a.scroll(function(){a.scrollTop()>e.top&&t.hasClass("d4p-scroll-active")?t.stop().animate({marginTop:a.scrollTop()-e.top+d4plib\_admin.scroll\_offset}):t.stop().animate({marginTop:0})}))},handlers:{expendable\_text\_remove:function(e,t){t.preventDefault();var a=i(e).parent();a.fadeOut(200,function(){a.remove()})},expendable\_text\_add:function(e,t,a){t.preventDefault();var t=i(e).closest(a),e=i(".d4p-next-id",t),n=e.val(),a=i(".exp-text-element-0",t).clone();i("input",a).each(function(){var e=i(this).attr("id").replace("\_0\_","\_"+n+"\_"),t=i(this).attr("name").replace("\[0\]","\["+n+"\]");i(this).attr("id",e).attr("name",t)}),a.attr("class","exp-text-element exp-text-element-"+n).fadeIn(),i("ol",t).append(a),n++,e.val(n)}}}).init(),d4plib\_admin.settings(),d4plib\_admin.scroller()}(jQuery,window,document);
  • gd-mail-queue/trunk/d4plib/resources/js/meta.js

    r2079713

    r2923988

8

8

                e.preventDefault();

9

9

10

 

                var tab = $(this).attr("href").substr(1),

 

10

                var tab = $(this).attr("href").substring(1),

11

11

                    wrap = $(this).closest(".d4plib-metabox-wrapper");

12

12

…

…

 

26

26

                e.preventDefault();

27

27

28

 

                var checkall = $(this).attr("href").substr(1) === "checkall";

 

28

                var checkall = $(this).attr("href").substring(1) === "checkall";

29

29

30

30

                $(this).parent().parent().find("input\[type=checkbox\]").prop("checked", checkall);
  • gd-mail-queue/trunk/d4plib/resources/js/meta.min.js

    r2079713

    r2923988

1

 

var d4plib\_metabox;!function(i,a,t,e){(d4plib\_metabox={init:function(){i(".d4plib-metabox-wrapper .wp-tab-bar a").click(function(a){a.preventDefault();var t=i(this).attr("href").substr(1),e=i(this).closest(".d4plib-metabox-wrapper");i(this).closest("ul").find("li").removeClass("wp-tab-active"),i(this).parent().addClass("wp-tab-active"),e.find(".wp-tab-panel").removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),e.find("#"+t).removeClass("tabs-panel-inactive").addClass("tabs-panel-active")}),i(".d4plib-metabox-check-uncheck a").click(function(a){a.preventDefault();var t="checkall"===i(this).attr("href").substr(1);i(this).parent().parent().find("input\[type=checkbox\]").prop("checked",t)})}}).init()}(jQuery,window,document);

 

1

var d4plib\_metabox;!function(e){(d4plib\_metabox={init:function(){e(".d4plib-metabox-wrapper .wp-tab-bar a").click(function(t){t.preventDefault();var t=e(this).attr("href").substring(1),a=e(this).closest(".d4plib-metabox-wrapper");e(this).closest("ul").find("li").removeClass("wp-tab-active"),e(this).parent().addClass("wp-tab-active"),a.find(".wp-tab-panel").removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a.find("#"+t).removeClass("tabs-panel-inactive").addClass("tabs-panel-active")}),e(".d4plib-metabox-check-uncheck a").click(function(t){t.preventDefault();t="checkall"===e(this).attr("href").substring(1);e(this).parent().parent().find("input\[type=checkbox\]").prop("checked",t)})}}).init()}(jQuery,(window,document));
  • gd-mail-queue/trunk/d4plib/resources/js/widgets.js

    r2106296

    r2923988

8

8

                e.preventDefault();

9

9

10

 

                var checkall = $(this).attr("href").substr(1) === "checkall";

 

10

                var checkall = $(this).attr("href").substring(1) === "checkall";

11

11

12

12

                $(this).parent().parent().find("input\[type=checkbox\]").prop("checked", checkall);

…

…

 

18

18

                var tabs = $(this).parent(),

19

19

                    content = tabs.next(),

20

 

                    tab = $(this).attr("href").substr(1),

 

20

                    tab = $(this).attr("href").substring(1),

21

21

                    tab\_name = typeof $(this).data("tabname") !== 'undefined' ? $(this).data("tabname") : tab;

22

22
  • gd-mail-queue/trunk/d4plib/resources/js/widgets.min.js

    r2106296

    r2923988

1

 

var d4plib\_widgets;!function(n,t,i,e){(d4plib\_widgets={init:function(){n(i).on("click",".d4p-check-uncheck a",function(t){t.preventDefault();var i="checkall"===n(this).attr("href").substr(1);n(this).parent().parent().find("input\[type=checkbox\]").prop("checked",i)}),n(i).on("click",".d4plib-widget-tab",function(t){t.preventDefault();var i=n(this).parent(),e=i.next(),a=n(this).attr("href").substr(1),c=void 0!==n(this).data("tabname")?n(this).data("tabname"):a;n(".d4plib-widget-active-tab",i).val(c),n(".d4plib-widget-tab",i).removeClass("d4plib-tab-active").attr("aria-selected","false"),n(".d4plib-tabname-"+a,i).addClass("d4plib-tab-active").attr("aria-selected","true"),n(".d4plib-tab-content",e).removeClass("d4plib-content-active").attr("aria-hidden","true"),n(".d4plib-tabname-"+a,e).addClass("d4plib-content-active").attr("aria-hidden","false")}),n(i).on("keydown",".d4plib-widget-tab\[role='tab'\]",function(t){13===t.which?n(this).click():39===t.which?n(this).next().focus().click():37===t.which&&n(this).prev().focus().click()}),n(i).on("change",".d4plib-widget-save",function(t){n(this).closest("form").find(".widget-control-actions input.button").click()}),n(i).on("change",".d4plib-div-switch",function(){var t=n(this).val(),i=n(this).data().hasOwnProperty("prefix")?n(this).data("prefix"):"",e=""===i?".d4p-div-block":".d4p-div-block-"+i,a=n(this).closest(".widget-content");n(e,a).hide(),n(e+"-"+t,a).show()}),n(i).on("change",".d4plib-block-switch",function(t){var i=n(this).data("block"),e=n(this).val(),a=n(this).closest("table");n(".cellblock-"+i,a).hide(),n(".cellblockname-"+e,a).show()}),n(i).ajaxStop(function(){d4plib\_widgets.settings()})},settings:function(){n(".d4p-color-picker:not(.wp-color-picker)").on("focus",function(){n(this).wpColorPicker()})}}).init(),d4plib\_widgets.settings()}(jQuery,window,document);

 

1

var d4plib\_widgets;!function(c,t){(d4plib\_widgets={init:function(){c(t).on("click",".d4p-check-uncheck a",function(t){t.preventDefault();t="checkall"===c(this).attr("href").substring(1);c(this).parent().parent().find("input\[type=checkbox\]").prop("checked",t)}),c(t).on("click",".d4plib-widget-tab",function(t){t.preventDefault();var t=c(this).parent(),i=t.next(),e=c(this).attr("href").substring(1),a=void 0!==c(this).data("tabname")?c(this).data("tabname"):e;c(".d4plib-widget-active-tab",t).val(a),c(".d4plib-widget-tab",t).removeClass("d4plib-tab-active").attr("aria-selected","false"),c(".d4plib-tabname-"+e,t).addClass("d4plib-tab-active").attr("aria-selected","true"),c(".d4plib-tab-content",i).removeClass("d4plib-content-active").attr("aria-hidden","true"),c(".d4plib-tabname-"+e,i).addClass("d4plib-content-active").attr("aria-hidden","false")}),c(t).on("keydown",".d4plib-widget-tab\[role='tab'\]",function(t){13===t.which?c(this).click():39===t.which?c(this).next().focus().click():37===t.which&&c(this).prev().focus().click()}),c(t).on("change",".d4plib-widget-save",function(t){c(this).closest("form").find(".widget-control-actions input.button").click()}),c(t).on("change",".d4plib-div-switch",function(){var t=c(this).val(),i=c(this).data().hasOwnProperty("prefix")?c(this).data("prefix"):"",i=""===i?".d4p-div-block":".d4p-div-block-"+i,e=c(this).closest(".widget-content");c(i,e).hide(),c(i+"-"+t,e).show()}),c(t).on("change",".d4plib-block-switch",function(t){var i=c(this).data("block"),e=c(this).val(),a=c(this).closest("table");c(".cellblock-"+i,a).hide(),c(".cellblockname-"+e,a).show()}),c(t).ajaxStop(function(){d4plib\_widgets.settings()})},settings:function(){c(".d4p-color-picker:not(.wp-color-picker)").on("focus",function(){c(this).wpColorPicker()})}}).init(),d4plib\_widgets.settings()}(jQuery,(window,document));
  • gd-mail-queue/trunk/forms/about/changelog.php

    r2776206

    r2923988

1

1

<?php if (!defined('ABSPATH')) { exit; } ?>

2

2

<div class="d4p-group d4p-group-changelog">

3

 

    <h3><?php \_e("Version", "gd-mail-queue"); ?> 3</h3>

 

3

    <h3><?php esc\_html\_e("Version", "gd-mail-queue"); ?> 4</h3>

 

4

    <div class="d4p-group-inner">

 

5

        <h4>Version: 4.0 / june 9 2023</h4>

 

6

        <ul>

 

7

            <li><strong>new</strong> plugin tested with WordPress up to 6.2</li>

 

8

            <li><strong>new</strong> system requirements: plugin requires PHP 7.3</li>

 

9

            <li><strong>new</strong> system requirements: plugin requires WordPress 5.2</li>

 

10

            <li><strong>new</strong> option to control HTMLfy pre-processing of plain text</li>

 

11

            <li><strong>new</strong> run KSES filter when adding email into queue</li>

 

12

            <li><strong>new</strong> run KSES filter when saving email into the log</li>

 

13

            <li><strong>new</strong> logged email preview with proper data escaping</li>

 

14

            <li><strong>new</strong> filters to control pre-processing of emails going to queue</li>

 

15

            <li><strong>new</strong> process logged email preview with KSES before displaying</li>

 

16

            <li><strong>new</strong> filter for HTMLfy pre-processing control for KSES</li>

 

17

            <li><strong>edit</strong> many more additional content escaping for display</li>

 

18

            <li><strong>edit</strong> various small updates to improve PHP code standards</li>

 

19

            <li><strong>edit</strong> d4pLib 2.8.15</li>

 

20

            <li><strong>fix</strong> unauthenticated stored cross-site scripting vulnerability</li>

 

21

        </ul>

 

22

    </div>

 

23

</div>

 

24

 

25

<div class="d4p-group d4p-group-changelog">

 

26

    <h3><?php esc\_html\_e("Version", "gd-mail-queue"); ?> 3</h3>

4

27

    <div class="d4p-group-inner">

5

28

        <h4>Version: 3.9.3 / august 26 2022</h4>

…

…

 

188

211

189

212

<div class="d4p-group d4p-group-changelog">

190

 

    <h3><?php \_e("Version", "gd-mail-queue"); ?> 2</h3>

 

213

    <h3><?php esc\_html\_e("Version", "gd-mail-queue"); ?> 2</h3>

191

214

    <div class="d4p-group-inner">

192

215

        <h4>Version: 2.1.2 / may 30 2019</h4>

…

…

 

245

268

246

269

<div class="d4p-group d4p-group-changelog">

247

 

    <h3><?php \_e("Version", "gd-mail-queue"); ?> 1</h3>

 

270

    <h3><?php esc\_html\_e("Version", "gd-mail-queue"); ?> 1</h3>

248

271

    <div class="d4p-group-inner">

249

272

        <h4>Version: 1.0 / may 2 2019</h4>
  • gd-mail-queue/trunk/forms/about/header.php

    r2079713

    r2923988

4

4

5

5

$\_classes = array(

6

 

    'd4p-wrap',

7

 

    'wpv-'.GDMAQ\_WPV,

8

 

    'd4p-page-'.gdmaq\_admin()->page,

9

 

    'd4p-panel',

10

 

    'd4p-panel-'.$\_panel);

 

6

    'd4p-wrap',

 

7

    'wpv-'.GDMAQ\_WPV,

 

8

    'd4p-page-'.gdmaq\_admin()->page,

 

9

    'd4p-panel',

 

10

    'd4p-panel-'.$\_panel);

11

11

12

12

$\_tabs = array(

13

 

    'whatsnew' => \_\_("What&#8217;s New", "gd-mail-queue"),

14

 

    'info' => \_\_("Info", "gd-mail-queue"),

15

 

    'changelog' => \_\_("Changelog", "gd-mail-queue"),

16

 

    'dev4press' => \_\_("Dev4Press", "gd-mail-queue")

 

13

    'whatsnew' => \_\_("What&#8217;s New", "gd-mail-queue"),

 

14

    'info' => \_\_("Info", "gd-mail-queue"),

 

15

    'changelog' => \_\_("Changelog", "gd-mail-queue"),

 

16

    'dev4press' => \_\_("Dev4Press", "gd-mail-queue")

17

17

);

18

18

19

19

?>

20

20

21

 

<div class="<?php echo join(' ', $\_classes); ?>">

 

21

<div class="<?php echo esc\_attr(join(' ', $\_classes)); ?>">

22

22

    <h1><?php printf(\_\_("Welcome to GD Mail Queue&nbsp;%s", "gd-mail-queue"), gdmaq\_settings()->info\_version); ?></h1>

23

23

    <p class="d4p-about-text">

24

 

        <?php \_e("Configure various security related HTTP headers, including Content Security Policy, Referrer Policy and more. All headers can be added to .HTACCESS file.", "gd-mail-queue"); ?>

 

24

        <?php esc\_html\_e("Configure various security related HTTP headers, including Content Security Policy, Referrer Policy and more. All headers can be added to .HTACCESS file.", "gd-mail-queue"); ?>

25

25

    </p>

26

26

    <div class="d4p-about-badge" style="background-color: #773355;">

27

27

        <i class="d4p-icon d4p-plugin-icon-gd-mail-queue"></i>

28

 

        <?php printf(\_\_("Version %s", "gd-mail-queue"), gdmaq\_settings()->info\_version); ?>

 

28

        <?php printf(\_\_("Version %s", "gd-mail-queue"), gdmaq\_settings()->info\_version); ?>

29

29

    </div>

30

30

31

31

    <h2 class="nav-tab-wrapper wp-clearfix">

32

 

        <?php

 

32

        <?php

33

33

34

 

        foreach ($\_tabs as $\_tab => $\_label) {

35

 

            echo '<a href="admin.php?page=gd-mail-queue-about&panel='.$\_tab.'" class="nav-tab'.($\_tab == $\_panel ? ' nav-tab-active' : '').'">'.$\_label.'</a>';

36

 

        }

 

34

        foreach ($\_tabs as $\_tab => $\_label) {

 

35

            echo '<a href="admin.php?page=gd-mail-queue-about&panel='.$\_tab.'" class="nav-tab'.($\_tab == $\_panel ? ' nav-tab-active' : '').'">'.$\_label.'</a>';

 

36

        }

37

37

38

 

        ?>

 

38

        ?>

39

39

    </h2>

40

40
  • gd-mail-queue/trunk/forms/about/info.php

    r2081206

    r2923988

3

3

    <div class="d4p-group-inner">

4

4

        <ul>

5

 

            <li><?php \_e("Version", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_version; ?></span></li>

6

 

            <li><?php \_e("Status", "gd-mail-queue"); ?>: <span><?php echo ucfirst(gdmaq\_settings()->info\_status); ?></span></li>

7

 

            <li><?php \_e("Edition", "gd-mail-queue"); ?>: <span><?php echo ucfirst(gdmaq\_settings()->info\_edition); ?></span></li>

8

 

            <li><?php \_e("Build", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_build; ?></span></li>

9

 

            <li><?php \_e("Date", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_updated; ?></span></li>

 

5

            <li><?php esc\_html\_e("Version", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_version ); ?></span></li>

 

6

            <li><?php esc\_html\_e("Status", "gd-mail-queue"); ?>: <span><?php echo esc\_html( ucfirst(gdmaq\_settings()->info\_status)); ?></span></li>

 

7

            <li><?php esc\_html\_e("Edition", "gd-mail-queue"); ?>: <span><?php echo esc\_html( ucfirst(gdmaq\_settings()->info\_edition)); ?></span></li>

 

8

            <li><?php esc\_html\_e("Build", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_build); ?></span></li>

 

9

            <li><?php esc\_html\_e("Date", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_updated); ?></span></li>

10

10

        </ul>

11

11

        <hr style="margin: 1em 0 .7em; border-top: 1px solid #eee"/>

12

12

        <ul>

13

 

            <li><?php \_e("First released", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_released; ?></span></li>

 

13

            <li><?php esc\_html\_e("First released", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_released); ?></span></li>

14

14

        </ul>

15

15

    </div>

…

…

 

17

17

18

18

<div class="d4p-group d4p-group-import d4p-group-about">

19

 

    <h3><?php \_e("System Requirements", "gd-mail-queue"); ?></h3>

 

19

    <h3><?php esc\_html\_e("System Requirements", "gd-mail-queue"); ?></h3>

20

20

    <div class="d4p-group-inner">

21

21

        <ul>

22

 

            <li><?php \_e("WordPress", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_wordpress; ?></span></li>

23

 

            <li><?php \_e("PHP", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_php; ?></span></li>

24

 

            <li><?php \_e("MySQL", "gd-mail-queue"); ?>: <span><?php echo gdmaq\_settings()->info\_mysql; ?></span></li>

 

22

            <li><?php esc\_html\_e("WordPress", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_wordpress); ?></span></li>

 

23

            <li><?php esc\_html\_e("PHP", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_php); ?></span></li>

 

24

            <li><?php esc\_html\_e("MySQL", "gd-mail-queue"); ?>: <span><?php echo esc\_html( gdmaq\_settings()->info\_mysql); ?></span></li>

25

25

        </ul>

26

26

    </div>

…

…

 

28

28

29

29

<div class="d4p-group d4p-group-import d4p-group-about">

30

 

    <h3><?php \_e("Knowledge Base and Support Forums", "gd-mail-queue"); ?></h3>

 

30

    <h3><?php esc\_html\_e("Knowledge Base and Support Forums", "gd-mail-queue"); ?></h3>

31

31

    <div class="d4p-group-inner">

32

32

        <ul>

…

…

 

39

39

40

40

<div class="d4p-group d4p-group-import d4p-group-about">

41

 

    <h3><?php \_e("Important Links", "gd-mail-queue"); ?></h3>

 

41

    <h3><?php esc\_html\_e("Important Links", "gd-mail-queue"); ?></h3>

42

42

    <div class="d4p-group-inner">

43

43

        <ul>

44

 

            <li><?php \_e("On WordPress.org", "gd-mail-queue"); ?>: <span><a href="https://wordpress.org/plugins/gd-mail-queue/" target="\_blank">wordpress.org/plugins/gd-mail-queue</a></span></li>

45

 

            <li><?php \_e("On Dev4Press", "gd-mail-queue"); ?>: <span><a href="https://plugins.dev4press.com/gd-mail-queue/" target="\_blank">plugins.dev4press.com/gd-mail-queue</a></span></li>

 

44

            <li><?php esc\_html\_e("On WordPress.org", "gd-mail-queue"); ?>: <span><a href="https://wordpress.org/plugins/gd-mail-queue/" target="\_blank">wordpress.org/plugins/gd-mail-queue</a></span></li>

 

45

            <li><?php esc\_html\_e("On Dev4Press", "gd-mail-queue"); ?>: <span><a href="https://plugins.dev4press.com/gd-mail-queue/" target="\_blank">plugins.dev4press.com/gd-mail-queue</a></span></li>

46

46

        </ul>

47

47

    </div>
  • gd-mail-queue/trunk/forms/about/minor.php

    r2776206

    r2923988

1

1

<div class="d4p-about-minor">

2

 

    <h3><?php \_e("Maintenance and Security Releases", "gd-mail-queue"); ?></h3>

 

2

    <h3><?php esc\_html\_e("Maintenance and Security Releases", "gd-mail-queue"); ?></h3>

3

3

    <p>

4

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.9.3</span></strong> &minus;

5

 

        Few improvements and fixes.

6

 

    </p>

7

 

    <p>

8

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.9.2</span></strong> &minus;

9

 

        WordPress 6.0 compatibility tested.

10

 

    </p>

11

 

    <p>

12

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.9.1</span></strong> &minus;

 

4

        <strong><?php esc\_html\_e("Version", "gd-mail-queue"); ?> <span>4.0</span></strong> &minus;

13

5

        Various improvements and fixes.

14

 

    </p>

15

 

    <p>

16

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.9</span></strong> &minus;

17

 

        Various improvements and fixes.

18

 

    </p>

19

 

    <p>

20

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.8</span></strong> &minus;

21

 

        Expanded email detection. Few updates and fixes.

22

 

    </p>

23

 

    <p>

24

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.7</span></strong> &minus;

25

 

        Support for WordPress 5.5. Few updates and fixes.

26

 

    </p>

27

 

    <p>

28

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.6</span></strong> &minus;

29

 

        Latest errors dashboard widget. Few updates and fixes.

30

 

    </p>

31

 

    <p>

32

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.5.1</span></strong> &minus;

33

 

        Few updates and fixes.

34

 

    </p>

35

 

    <p>

36

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.5</span></strong> &minus;

37

 

        Major updates to the queue processing. Many core updates and improvements.

38

 

    </p>

39

 

    <p>

40

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.4.2</span></strong> &minus;

41

 

        Few updates and improvements.

42

 

    </p>

43

 

    <p>

44

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.4.1</span></strong> &minus;

45

 

        Few updates and improvements.

46

 

    </p>

47

 

    <p>

48

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.4</span></strong> &minus;

49

 

        Colour coded emails log and action to retry failed emails. Various improvements and bug fixes.

50

 

    </p>

51

 

    <p>

52

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.3</span></strong> &minus;

53

 

        Many new options and settings, various improvements and bug fixes.

54

 

    </p>

55

 

    <p>

56

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.2</span></strong> &minus;

57

 

        Few improvements to detection, email building and plugin information.

58

 

    </p>

59

 

    <p>

60

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.1</span></strong> &minus;

61

 

        New email core class. Various updates and fixes.

62

 

    </p>

63

 

    <p>

64

 

        <strong><?php \_e("Version", "gd-mail-queue"); ?> <span>3.0.1</span></strong> &minus;

65

 

        Few updates and improvements.

66

6

    </p>

67

7

    <p>
  • gd-mail-queue/trunk/forms/dashboard/errors.php

    r2327878

    r2923988

14

14

    ?>

15

15

    <div class="d4p-group d4p-group-dashboard-card d4p-double-card d4p-group-dashboard-queue">

16

 

        <h3><?php \_e("Logged Email Sending Errors", "gd-mail-queue"); ?></h3>

 

16

        <h3><?php esc\_html\_e("Logged Email Sending Errors", "gd-mail-queue"); ?></h3>

17

17

        <div class="d4p-group-stats">

18

18

            <ul class="d4p-items-list">

19

19

                <li>

20

 

                    <strong><i class="fa fa-warning fa-fw"></i> <?php echo $label; ?></strong>

21

 

                    <span><?php echo $total\_errors; ?></span>

 

20

                    <strong><i class="fa fa-warning fa-fw"></i> <?php echo esc\_html( $label); ?></strong>

 

21

                    <span><?php echo esc\_html($total\_errors); ?></span>

22

22

                </li>

23

23

            </ul><div class="d4p-clearfix"></div>

24

24

        </div>

25

25

        <div class="d4p-group-inner">

26

 

            <h4><?php \_e("Latest logged errors", "gd-mail-queue"); ?></h4>

 

26

            <h4><?php esc\_html\_e("Latest logged errors", "gd-mail-queue"); ?></h4>

27

27

            <ul class="d4p-items-list">

28

28

                <?php foreach ($latest\_errors as $error) { ?>

29

29

                    <li>

30

30

                        <strong><i class="fa fa-times fa-fw"></i> <?php echo gdmaq()->get\_engine\_label($error->engine); ?></strong> -

31

 

                        <?php echo empty(trim($error->message)) ? \_\_("Unspecified error", "gd-mail-queue") : ucfirst($error->message); ?>

32

 

                        <span><?php echo $error->logged ?></span>

 

31

                        <?php echo empty(trim($error->message)) ? esc\_html\_\_("Unspecified error", "gd-mail-queue") : ucfirst($error->message); ?>

 

32

                        <span><?php echo esc\_html($error->logged); ?></span>

33

33

                    </li>

34

34

                <?php } ?>

…

…

 

36

36

        </div>

37

37

        <div class="d4p-group-footer">

38

 

            <a href="admin.php?page=gd-mail-queue-log&filter-status=fail" class="button-primary"><?php \_e("Errors in Log", "gd-mail-queue"); ?></a>

 

38

            <a href="admin.php?page=gd-mail-queue-log&filter-status=fail" class="button-primary"><?php esc\_html\_e("Errors in Log", "gd-mail-queue"); ?></a>

39

39

40

 

            <a href="admin.php?page=gd-mail-queue-front&gdmaq\_handler=getback&dashboard-action=clear-board&\_nonce=<?php echo wp\_create\_nonce("gdmaq-clear-board"); ?>" class="button-secondary gdmaq-button-control"><?php \_e("Clear the board", "gd-mail-queue"); ?></a>

 

40

            <a href="admin.php?page=gd-mail-queue-front&gdmaq\_handler=getback&dashboard-action=clear-board&\_nonce=<?php echo wp\_create\_nonce("gdmaq-clear-board"); ?>" class="button-secondary gdmaq-button-control"><?php esc\_html\_e("Clear the board", "gd-mail-queue"); ?></a>

41

41

        </div>

42

42

    </div>
  • gd-mail-queue/trunk/forms/dashboard/last.php

    r2106296

    r2923988

1

1

<?php if (!defined('ABSPATH')) { exit; }  ?>

2

2

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

3

 

    <h3><?php \_e("Last Queue Information", "gd-mail-queue"); ?></h3>

 

3

    <h3><?php esc\_html\_e("Last Queue Information", "gd-mail-queue"); ?></h3>

4

4

    <div class="d4p-group-stats">

5

5

        <ul class="d4p-items-list">

6

6

            <li class="liner">

7

 

                <strong><i class="fa fa-clock-o fa-fw"></i> <?php \_e("Queue Started", "gd-mail-queue"); ?></strong>

8

 

                <span><?php $val = gdmaq\_settings()->get\_statistics('last\_queue\_started'); echo $val == 0 ? \_\_("Never", "gd-mail-queue") : date('Y-m-d H:i:s', gdmaq()->datetime->timestamp\_gmt\_to\_local($val)); ?></span>

 

7

                <strong><i class="fa fa-clock-o fa-fw"></i> <?php esc\_html\_e("Queue Started", "gd-mail-queue"); ?></strong>

 

8

                <span><?php $val = gdmaq\_settings()->get\_statistics('last\_queue\_started'); echo $val == 0 ? esc\_html\_\_("Never", "gd-mail-queue") : date('Y-m-d H:i:s', gdmaq()->datetime->timestamp\_gmt\_to\_local($val)); ?></span>

9

9

            </li>

10

10

            <li>

11

 

                <strong><i class="fa fa-arrows-h fa-fw"></i> <?php \_e("Queue Run Time", "gd-mail-queue"); ?></strong>

 

11

                <strong><i class="fa fa-arrows-h fa-fw"></i> <?php esc\_html\_e("Queue Run Time", "gd-mail-queue"); ?></strong>

12

12

                <span><?php $val = ceil(gdmaq\_settings()->get\_statistics('last\_queue\_time')); echo sprintf(\_n("%s second", "%s seconds", $val, "gd-mail-queue"), $val); ?></span>

13

13

            </li>

…

…

 

17

17

        <ul class="d4p-items-list" style="margin-top: 0">

18

18

            <li>

19

 

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php \_e("Emails Sent", "gd-mail-queue"); ?></strong>

20

 

                <span><?php echo gdmaq\_settings()->get\_statistics('last\_queue\_sent'); ?></span>

 

19

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php esc\_html\_e("Emails Sent", "gd-mail-queue"); ?></strong>

 

20

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('last\_queue\_sent')); ?></span>

21

21

            </li>

22

22

            <li>

23

 

                <strong><i class="fa fa-envelope fa-fw"></i> <?php \_e("Emails Failed", "gd-mail-queue"); ?></strong>

24

 

                <span><?php echo gdmaq\_settings()->get\_statistics('last\_queue\_failed'); ?></span>

 

23

                <strong><i class="fa fa-envelope fa-fw"></i> <?php esc\_html\_e("Emails Failed", "gd-mail-queue"); ?></strong>

 

24

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('last\_queue\_failed')); ?></span>

25

25

            </li>

26

26

            <li>

27

 

                <strong><i class="fa fa-paperclip fa-fw"></i> <?php \_e("Attachments Sent", "gd-mail-queue"); ?></strong>

28

 

                <span><?php echo gdmaq\_settings()->get\_statistics('last\_queue\_attachments'); ?></span>

 

27

                <strong><i class="fa fa-paperclip fa-fw"></i> <?php esc\_html\_e("Attachments Sent", "gd-mail-queue"); ?></strong>

 

28

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('last\_queue\_attachments')); ?></span>

29

29

            </li>

30

30

        </ul><div class="d4p-clearfix"></div>
  • gd-mail-queue/trunk/forms/dashboard/log.php

    r2106296

    r2923988

12

12

?>

13

13

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

14

 

    <h3><?php \_e("Mail Log Core", "gd-mail-queue"); ?></h3>

 

14

    <h3><?php esc\_html\_e("Mail Log Core", "gd-mail-queue"); ?></h3>

15

15

    <div class="d4p-group-stats">

16

16

        <ul class="d4p-items-list">

17

17

            <li>

18

 

                <strong><i class="fa fa-flag fa-fw"></i> <?php \_e("Log Status", "gd-mail-queue"); ?></strong>

19

 

                <span class="gdmaq-label gdmaq-<?php echo $status; ?>"><?php echo $status\_labels\[$status\]; ?></span>

 

18

                <strong><i class="fa fa-flag fa-fw"></i> <?php esc\_html\_e("Log Status", "gd-mail-queue"); ?></strong>

 

19

                <span class="gdmaq-label gdmaq-<?php echo esc\_attr($status); ?>"><?php echo esc\_html($status\_labels\[$status\]); ?></span>

20

20

            </li>

21

21

        </ul><div class="d4p-clearfix"></div>

22

22

    </div>

23

23

    <div class="d4p-group-inner">

24

 

        <h4><?php \_e("Overall Log Statistics", "gd-mail-queue"); ?></h4>

 

24

        <h4><?php esc\_html\_e("Overall Log Statistics", "gd-mail-queue"); ?></h4>

25

25

        <ul class="d4p-items-list">

26

26

            <li>

27

 

                <strong><i class="fa fa-envelope fa-fw"></i> <?php \_e("Total Log Entries", "gd-mail-queue"); ?></strong>

28

 

                <span><?php echo gdmaq\_db()->email\_log\_count(); ?></span>

 

27

                <strong><i class="fa fa-envelope fa-fw"></i> <?php esc\_html\_e("Total Log Entries", "gd-mail-queue"); ?></strong>

 

28

                <span><?php echo esc\_html(gdmaq\_db()->email\_log\_count()); ?></span>

29

29

            </li>

30

30

            <li>

31

 

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php \_e("Unique Email Addresses", "gd-mail-queue"); ?></strong>

32

 

                <span><?php echo gdmaq\_db()->email\_emails\_count(); ?></span>

 

31

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php esc\_html\_e("Unique Email Addresses", "gd-mail-queue"); ?></strong>

 

32

                <span><?php echo esc\_html(gdmaq\_db()->email\_emails\_count()); ?></span>

33

33

            </li>

34

34

        </ul><div class="d4p-clearfix"></div>

35

35

    </div>

36

36

    <div class="d4p-group-footer">

37

 

        <a href="admin.php?page=gd-mail-queue-log" class="button-primary"><?php \_e("Log", "gd-mail-queue"); ?></a>

38

 

        <a href="admin.php?page=gd-mail-queue-settings&panel=log" class="button-primary"><?php \_e("Log Settings", "gd-mail-queue"); ?></a>

 

37

        <a href="admin.php?page=gd-mail-queue-log" class="button-primary"><?php esc\_html\_e("Log", "gd-mail-queue"); ?></a>

 

38

        <a href="admin.php?page=gd-mail-queue-settings&panel=log" class="button-primary"><?php esc\_html\_e("Log Settings", "gd-mail-queue"); ?></a>

39

39

    </div>

40

40

</div>
  • gd-mail-queue/trunk/forms/dashboard/mailer.php

    r2108031

    r2923988

12

12

?>

13

13

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

14

 

    <h3><?php \_e("Mailer Core", "gd-mail-queue"); ?></h3>

 

14

    <h3><?php esc\_html\_e("Mailer Core", "gd-mail-queue"); ?></h3>

15

15

    <div class="d4p-group-stats">

16

16

        <ul class="d4p-items-list">

17

17

            <li>

18

 

                <strong><i class="fa fa-flag fa-fw"></i> <?php \_e("Intercept Status", "gd-mail-queue"); ?></strong>

19

 

                <span class="gdmaq-label gdmaq-<?php echo $status; ?>"><?php echo $status\_labels\[$status\]; ?></span>

 

18

                <strong><i class="fa fa-flag fa-fw"></i> <?php esc\_html\_e("Intercept Status", "gd-mail-queue"); ?></strong>

 

19

                <span class="gdmaq-label gdmaq-<?php echo esc\_attr($status); ?>"><?php echo esc\_html($status\_labels\[$status\]); ?></span>

20

20

            </li>

21

21

        </ul><div class="d4p-clearfix"></div>

22

22

    </div>

23

23

    <div class="d4p-group-inner">

24

 

        <h4><?php \_e("Overall Mailer Statistics", "gd-mail-queue"); ?></h4>

 

24

        <h4><?php esc\_html\_e("Overall Mailer Statistics", "gd-mail-queue"); ?></h4>

25

25

        <ul class="d4p-items-list">

26

26

            <li>

27

 

                <strong><i class="fa fa-reply-all fa-fw"></i> <?php \_e("Emails to Queue Calls", "gd-mail-queue"); ?></strong>

28

 

                <span><?php echo gdmaq\_settings()->get\_statistics('mail\_to\_queue\_calls'); ?></span>

 

27

                <strong><i class="fa fa-reply-all fa-fw"></i> <?php esc\_html\_e("Emails to Queue Calls", "gd-mail-queue"); ?></strong>

 

28

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('mail\_to\_queue\_calls')); ?></span>

29

29

            </li>

30

30

            <li>

31

 

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php \_e("Emails added to Queue", "gd-mail-queue"); ?></strong>

32

 

                <span><?php echo gdmaq\_settings()->get\_statistics('mails\_added\_to\_queue'); ?></span>

 

31

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php esc\_html\_e("Emails added to Queue", "gd-mail-queue"); ?></strong>

 

32

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('mails\_added\_to\_queue')); ?></span>

33

33

            </li>

34

34

            <li>

35

 

                <strong><i class="fa fa-exchange fa-fw"></i> <?php \_e("Intercepted Emails", "gd-mail-queue"); ?></strong>

36

 

                <span><?php echo gdmaq\_settings()->get\_statistics('intercepted\_mails'); ?></span>

 

35

                <strong><i class="fa fa-exchange fa-fw"></i> <?php esc\_html\_e("Intercepted Emails", "gd-mail-queue"); ?></strong>

 

36

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('intercepted\_mails')); ?></span>

37

37

            </li>

38

38

            <li>

39

 

                <strong><i class="fa fa-code fa-fw"></i> <?php \_e("HTMLfied Emails", "gd-mail-queue"); ?></strong>

40

 

                <span><?php echo gdmaq\_settings()->get\_statistics('total\_htmlfy\_mails'); ?></span>

 

39

                <strong><i class="fa fa-code fa-fw"></i> <?php esc\_html\_e("HTMLfied Emails", "gd-mail-queue"); ?></strong>

 

40

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('total\_htmlfy\_mails')); ?></span>

41

41

            </li>

42

42

        </ul><div class="d4p-clearfix"></div>

43

43

    </div>

44

44

    <div class="d4p-group-footer">

45

 

        <a href="admin.php?page=gd-mail-queue-settings&panel=basic" class="button-primary"><?php \_e("Mailer Settings", "gd-mail-queue"); ?></a>

46

 

        <a href="admin.php?page=gd-mail-queue-settings&panel=htmlfy" class="button-primary"><?php \_e("HTML Template", "gd-mail-queue"); ?></a>

 

45

        <a href="admin.php?page=gd-mail-queue-settings&panel=basic" class="button-primary"><?php esc\_html\_e("Mailer Settings", "gd-mail-queue"); ?></a>

 

46

        <a href="admin.php?page=gd-mail-queue-settings&panel=htmlfy" class="button-primary"><?php esc\_html\_e("HTML Template", "gd-mail-queue"); ?></a>

47

47

    </div>

48

48

</div>
  • gd-mail-queue/trunk/forms/dashboard/queue.php

    r2320777

    r2923988

24

24

?>

25

25

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

26

 

    <h3><?php \_e("Queue Core", "gd-mail-queue"); ?></h3>

 

26

    <h3><?php esc\_html\_e("Queue Core", "gd-mail-queue"); ?></h3>

27

27

    <div class="d4p-group-stats">

28

28

        <ul class="d4p-items-list">

29

29

            <li>

30

 

                <strong><i class="fa fa-flag fa-fw"></i> <?php \_e("Queue Status", "gd-mail-queue"); ?></strong>

 

30

                <strong><i class="fa fa-flag fa-fw"></i> <?php esc\_html\_e("Queue Status", "gd-mail-queue"); ?></strong>

31

31

                <span class="gdmaq-label gdmaq-<?php echo $status; ?>"><?php echo $status\_labels\[$status\]; ?></span>

32

32

            </li>

…

…

 

34

34

    </div>

35

35

    <div class="d4p-group-inner">

36

 

        <h4><?php \_e("Last Queue Information", "gd-mail-queue"); ?></h4>

 

36

        <h4><?php esc\_html\_e("Last Queue Information", "gd-mail-queue"); ?></h4>

37

37

        <ul class="d4p-items-list">

38

38

            <li>

39

 

                <strong><i class="fa fa-clock-o fa-fw"></i> <?php \_e("Next Queue Run", "gd-mail-queue"); ?></strong>

40

 

                <span><?php echo $next; ?></span>

 

39

                <strong><i class="fa fa-clock-o fa-fw"></i> <?php esc\_html\_e("Next Queue Run", "gd-mail-queue"); ?></strong>

 

40

                <span><?php echo esc\_html($next); ?></span>

41

41

            </li>

42

42

            <li>

43

 

                <strong><i class="fa fa-arrow-circle-right fa-fw"></i> <?php \_e("Queue will run in", "gd-mail-queue"); ?></strong>

44

 

                <span><?php echo $run\_in; ?> (<?php echo sprintf(\_x("%s interval", "Queue Interval", "gd-mail-queue"), $interval); ?>)</span>

 

43

                <strong><i class="fa fa-arrow-circle-right fa-fw"></i> <?php esc\_html\_e("Queue will run in", "gd-mail-queue"); ?></strong>

 

44

                <span><?php echo esc\_html($run\_in); ?> (<?php echo sprintf(\_x("%s interval", "Queue Interval", "gd-mail-queue"), $interval); ?>)</span>

45

45

            </li>

46

46

            <li>

47

 

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php \_e("Emails in Queue", "gd-mail-queue"); ?></strong>

48

 

                <span><?php echo gdmaq\_queue()->counts('queue'); ?></span>

 

47

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php esc\_html\_e("Emails in Queue", "gd-mail-queue"); ?></strong>

 

48

                <span><?php echo esc\_html(gdmaq\_queue()->counts('queue')); ?></span>

49

49

            </li>

50

50

            <li>

51

 

                <strong><i class="fa fa-envelope fa-fw"></i> <?php \_e("Locked in Queue", "gd-mail-queue"); ?></strong>

52

 

                <span><?php echo gdmaq\_queue()->counts('waiting'); ?></span>

 

51

                <strong><i class="fa fa-envelope fa-fw"></i> <?php esc\_html\_e("Locked in Queue", "gd-mail-queue"); ?></strong>

 

52

                <span><?php echo esc\_html(gdmaq\_queue()->counts('waiting')); ?></span>

53

53

            </li>

54

54

        </ul>

55

55

    </div>

56

56

    <div class="d4p-group-footer">

57

 

        <a href="admin.php?page=gd-mail-queue-settings&panel=queue" class="button-primary"><?php \_e("Queue Settings", "gd-mail-queue"); ?></a>

 

57

        <a href="admin.php?page=gd-mail-queue-settings&panel=queue" class="button-primary"><?php esc\_html\_e("Queue Settings", "gd-mail-queue"); ?></a>

58

58

    </div>

59

59

</div>
  • gd-mail-queue/trunk/forms/dashboard/stats.php

    r2106296

    r2923988

1

1

<?php if (!defined('ABSPATH')) { exit; }  ?>

2

2

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

3

 

    <h3><?php \_e("Overall Queue Statistics", "gd-mail-queue"); ?></h3>

 

3

    <h3><?php esc\_html\_e("Overall Queue Statistics", "gd-mail-queue"); ?></h3>

4

4

    <div class="d4p-group-stats">

5

5

        <ul class="d4p-items-list">

6

6

            <li class="liner">

7

 

                <strong><i class="fa fa-reply fa-fw"></i> <?php \_e("Queue Calls", "gd-mail-queue"); ?></strong>

8

 

                <span><?php echo gdmaq\_settings()->get\_statistics('total\_queue\_calls'); ?></span>

 

7

                <strong><i class="fa fa-reply fa-fw"></i> <?php esc\_html\_e("Queue Calls", "gd-mail-queue"); ?></strong>

 

8

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('total\_queue\_calls')); ?></span>

9

9

            </li>

10

10

            <li>

11

 

                <strong><i class="fa fa-arrows-h fa-fw"></i> <?php \_e("Queue Run Time", "gd-mail-queue"); ?></strong>

 

11

                <strong><i class="fa fa-arrows-h fa-fw"></i> <?php esc\_html\_e("Queue Run Time", "gd-mail-queue"); ?></strong>

12

12

                <span><?php $val = ceil(gdmaq\_settings()->get\_statistics('total\_queue\_time')); echo sprintf(\_n("%s second", "%s seconds", $val, "gd-mail-queue"), $val); ?></span>

13

13

            </li>

…

…

 

17

17

        <ul class="d4p-items-list" style="margin-top: 0">

18

18

            <li>

19

 

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php \_e("Emails Sent", "gd-mail-queue"); ?></strong>

20

 

                <span><?php echo gdmaq\_settings()->get\_statistics('total\_queue\_sent'); ?></span>

 

19

                <strong><i class="fa fa-envelope-o fa-fw"></i> <?php esc\_html\_e("Emails Sent", "gd-mail-queue"); ?></strong>

 

20

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('total\_queue\_sent')); ?></span>

21

21

            </li>

22

22

            <li>

23

 

                <strong><i class="fa fa-envelope fa-fw"></i> <?php \_e("Emails Failed", "gd-mail-queue"); ?></strong>

24

 

                <span><?php echo gdmaq\_settings()->get\_statistics('total\_queue\_failed'); ?></span>

 

23

                <strong><i class="fa fa-envelope fa-fw"></i> <?php esc\_html\_e("Emails Failed", "gd-mail-queue"); ?></strong>

 

24

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('total\_queue\_failed')); ?></span>

25

25

            </li>

26

26

            <li>

27

 

                <strong><i class="fa fa-paperclip fa-fw"></i> <?php \_e("Attachments Sent", "gd-mail-queue"); ?></strong>

28

 

                <span><?php echo gdmaq\_settings()->get\_statistics('total\_queue\_attachments'); ?></span>

 

27

                <strong><i class="fa fa-paperclip fa-fw"></i> <?php esc\_html\_e("Attachments Sent", "gd-mail-queue"); ?></strong>

 

28

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('total\_queue\_attachments')); ?></span>

29

29

            </li>

30

30

        </ul><div class="d4p-clearfix"></div>
  • gd-mail-queue/trunk/forms/dashboard/wpmail.php

    r2106296

    r2923988

12

12

?>

13

13

<div class="d4p-group d4p-group-dashboard-card d4p-group-dashboard-queue">

14

 

    <h3><?php \_e("WP Mail", "gd-mail-queue"); ?></h3>

 

14

    <h3><?php esc\_html\_e("WP Mail", "gd-mail-queue"); ?></h3>

15

15

    <div class="d4p-group-stats">

16

16

        <ul class="d4p-items-list">

17

17

            <li>

18

 

                <strong><i class="fa fa-flag fa-fw"></i> <?php \_e("WP Mail Status", "gd-mail-queue"); ?></strong>

 

18

                <strong><i class="fa fa-flag fa-fw"></i> <?php esc\_html\_e("WP Mail Status", "gd-mail-queue"); ?></strong>

19

19

                <span class="gdmaq-label gdmaq-<?php echo $status; ?>"><?php echo $status\_labels\[$status\]; ?></span>

20

20

            </li>

…

…

 

22

22

    </div>

23

23

    <div class="d4p-group-inner">

24

 

        <h4><?php \_e("Overall WP Mail Statistics", "gd-mail-queue"); ?></h4>

 

24

        <h4><?php esc\_html\_e("Overall WP Mail Statistics", "gd-mail-queue"); ?></h4>

25

25

        <ul class="d4p-items-list">

26

26

            <li>

27

 

                <strong><i class="fa fa-reply fa-fw"></i> <?php \_e("Total Sent", "gd-mail-queue"); ?></strong>

28

 

                <span><?php echo gdmaq\_settings()->get\_statistics('wp\_mail\_sent'); ?></span>

 

27

                <strong><i class="fa fa-reply fa-fw"></i> <?php esc\_html\_e("Total Sent", "gd-mail-queue"); ?></strong>

 

28

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('wp\_mail\_sent')); ?></span>

29

29

            </li>

30

30

            <li>

31

 

                <strong><i class="fa fa-times fa-fw"></i> <?php \_e("Total Failed", "gd-mail-queue"); ?></strong>

32

 

                <span><?php echo gdmaq\_settings()->get\_statistics('wp\_mail\_failed'); ?></span>

 

31

                <strong><i class="fa fa-times fa-fw"></i> <?php esc\_html\_e("Total Failed", "gd-mail-queue"); ?></strong>

 

32

                <span><?php echo esc\_html(gdmaq\_settings()->get\_statistics('wp\_mail\_failed')); ?></span>

33

33

            </li>

34

34

        </ul><div class="d4p-clearfix"></div>

35

35

    </div>

36

36

    <div class="d4p-group-footer">

37

 

        <a href="admin.php?page=gd-mail-queue-settings&panel=pause" class="button-primary"><?php \_e("Pause Controls", "gd-mail-queue"); ?></a>

 

37

        <a href="admin.php?page=gd-mail-queue-settings&panel=pause" class="button-primary"><?php esc\_html\_e("Pause Controls", "gd-mail-queue"); ?></a>

38

38

    </div>

39

39

</div>
  • gd-mail-queue/trunk/forms/dialogs/log.php

    r2106296

    r2923988

2

2

3

3

<div style="display: none">

4

 

    <div title="<?php \_e("Are you sure?", "gd-mail-queue"); ?>" id="gdmaq-dialog-log-delete-single">

 

4

    <div title="<?php esc\_html\_e("Are you sure?", "gd-mail-queue"); ?>" id="gdmaq-dialog-log-delete-single">

5

5

        <div class="gdmaq-inner-content">

6

 

            <p><?php \_e("Selected log entry will be removed from the database.", "gd-mail-queue"); ?></p>

7

 

            <p><?php \_e("Are you sure you want to proceed? This operation is not reversable!", "gd-mail-queue"); ?></p>

 

6

            <p><?php esc\_html\_e("Selected log entry will be removed from the database.", "gd-mail-queue"); ?></p>

 

7

            <p><?php esc\_html\_e("Are you sure you want to proceed? This operation is not reversable!", "gd-mail-queue"); ?></p>

8

8

        </div>

9

9

    </div>

10

10

11

 

    <div id="gdmaq-dialog-log-view-entry" title="<?php \_e("Email Log Entry", "gd-mail-queue"); ?>">

 

11

    <div id="gdmaq-dialog-log-view-entry" title="<?php esc\_html\_e("Email Log Entry", "gd-mail-queue"); ?>">

12

12

        <div id="gdmaq-view-entry-inner"></div>

13

13

    </div>
  • gd-mail-queue/trunk/forms/front.php

    r2327878

    r2923988

16

16

                <?php

17

17

18

 

                \_e("Version", "gd-mail-queue");

 

18

                esc\_html\_e("Version", "gd-mail-queue");

19

19

                echo': '.gdmaq\_settings()->info->version;

20

20

…

…

 

29

29

30

30

        <div class="d4p-buttons-group">

31

 

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-settings"><i aria-hidden="true" class="fa fa-cogs fa-fw"></i> <?php \_e("Settings", "gd-mail-queue"); ?></a>

32

 

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-tools"><i aria-hidden="true" class="fa fa-wrench fa-fw"></i> <?php \_e("Tools", "gd-mail-queue"); ?></a>

 

31

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-settings"><i aria-hidden="true" class="fa fa-cogs fa-fw"></i> <?php esc\_html\_e("Settings", "gd-mail-queue"); ?></a>

 

32

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-tools"><i aria-hidden="true" class="fa fa-wrench fa-fw"></i> <?php esc\_html\_e("Tools", "gd-mail-queue"); ?></a>

33

33

        </div>

34

34

35

35

        <div class="d4p-buttons-group">

36

 

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-about"><i aria-hidden="true" class="fa fa-info-circle fa-fw"></i> <?php \_e("About", "gd-mail-queue"); ?></a>

 

36

            <a class="button-secondary" href="admin.php?page=gd-mail-queue-about"><i aria-hidden="true" class="fa fa-info-circle fa-fw"></i> <?php esc\_html\_e("About", "gd-mail-queue"); ?></a>

37

37

        </div>

38

38

    </div>
  • gd-mail-queue/trunk/forms/install.php

    r2097996

    r2923988

6

6

7

7

?>

8

 

<div class="<?php echo join(' ', $\_classes); ?>">

 

8

<div class="<?php echo esc\_attr(join(' ', $\_classes)); ?>">

9

9

    <div class="d4p-header">

10

10

        <div class="d4p-plugin">

…

…

 

16

16

            <div class="d4p-panel-title">

17

17

                <i aria-hidden="true" class="fa fa-magic"></i>

18

 

                <h3><?php \_e("Installation", "gd-mail-queue"); ?></h3>

 

18

                <h3><?php esc\_html\_e("Installation", "gd-mail-queue"); ?></h3>

19

19

            </div>

20

20

            <div class="d4p-panel-info">

21

 

                <?php \_e("Before you continue, make sure plugin installation was successful.", "gd-mail-queue"); ?>

 

21

                <?php esc\_html\_e("Before you continue, make sure plugin installation was successful.", "gd-mail-queue"); ?>

22

22

            </div>

23

23

        </div>

…

…

 

33

33

                ?>

34

34

35

 

                <h3><?php \_e("All Done", "gd-mail-queue"); ?></h3>

 

35

                <h3><?php esc\_html\_e("All Done", "gd-mail-queue"); ?></h3>

36

36

                <?php

37

37

38

 

                    \_e("Installation completed.", "gd-mail-queue");

 

38

                    esc\_html\_e("Installation completed.", "gd-mail-queue");

39

39

40

40

                ?>

41

 

                <br/><br/><a class="button-primary" href="<?php echo admin\_url('admin.php?page=gd-mail-queue-about'); ?>"><?php \_e("Click here to continue.", "gd-mail-queue"); ?></a>

 

41

                <br/><br/><a class="button-primary" href="<?php echo admin\_url('admin.php?page=gd-mail-queue-about'); ?>"><?php esc\_html\_e("Click here to continue.", "gd-mail-queue"); ?></a>

42

42

            </div>

43

43

        </div>
  • gd-mail-queue/trunk/forms/log/entry.php

    r2375699

    r2923988

33

33

    <div role="tablist" aria-label="<?php esc\_attr\_e("Email Log Information", "gd-mail-queue"); ?>">

34

34

        <button role="tab" aria-selected="true" aria-controls="gdmaq-entry-info-tab" id="gdmaq-entry-info">

35

 

            <?php \_e("Info", "gd-mail-queue"); ?>

 

35

            <?php esc\_html\_e("Info", "gd-mail-queue"); ?>

36

36

        </button>

37

37

        <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-basic-tab" id="gdmaq-entry-basic">

38

 

            <?php \_e("Basic", "gd-mail-queue"); ?>

 

38

            <?php esc\_html\_e("Basic", "gd-mail-queue"); ?>

39

39

        </button>

40

40

        <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-extra-tab" id="gdmaq-entry-extra">

41

 

            <?php \_e("Extra", "gd-mail-queue"); ?>

 

41

            <?php esc\_html\_e("Extra", "gd-mail-queue"); ?>

42

42

        </button>

43

43

        <?php if ($\_has\_plain) { ?>

44

44

        <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-plain-tab" id="gdmaq-entry-plain">

45

 

            <?php \_e("Plain", "gd-mail-queue"); ?>

 

45

            <?php esc\_html\_e("Plain", "gd-mail-queue"); ?>

46

46

        </button>

47

47

        <?php } ?>

48

48

        <?php if ($\_has\_html) { ?>

49

49

        <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-html-tab" id="gdmaq-entry-html">

50

 

            <?php \_e("HTML", "gd-mail-queue"); ?>

 

50

            <?php esc\_html\_e("HTML", "gd-mail-queue"); ?>

51

51

        </button>

52

52

        <?php } ?>

53

53

        <?php if ($\_has\_attachments) { ?>

54

54

        <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-attachments-tab" id="gdmaq-entry-attachments">

55

 

            <?php \_e("Attachments", "gd-mail-queue"); ?>

 

55

            <?php esc\_html\_e("Attachments", "gd-mail-queue"); ?>

56

56

        </button>

57

57

        <?php } ?>

58

58

        <?php if (isset($email->mailer->Mailer) && $email->mailer->Mailer == 'smtp') { ?>

59

59

            <button role="tab" aria-selected="false" aria-controls="gdmaq-entry-smtp-tab" id="gdmaq-entry-smtp">

60

 

                <?php \_e("SMTP", "gd-mail-queue"); ?>

 

60

                <?php esc\_html\_e("SMTP", "gd-mail-queue"); ?>

61

61

            </button>

62

62

        <?php } ?>

…

…

 

65

65

        <div tabindex="0" role="tabpanel" id="gdmaq-entry-info-tab" aria-labelledby="gdmaq-entry-info">

66

66

            <div class="gdmaq-email-element">

67

 

                <h3><?php \_e("Operation", "gd-mail-queue"); ?>:</h3>

 

67

                <h3><?php esc\_html\_e("Operation", "gd-mail-queue"); ?>:</h3>

68

68

                <span><?php

69

69

…

…

 

71

71

                        echo $email->status == 'queue' ? \_\_("Captured WP Mail and added to Queue", "gd-mail-queue") : \_\_("WP Mail email sending", "gd-mail-queue");

72

72

                    } else if ($email->operation == 'queue') {

73

 

                        \_e("Queued email sending", "gd-mail-queue");

 

73

                        esc\_html\_e("Queued email sending", "gd-mail-queue");

74

74

                    }

75

75

…

…

 

78

78

            <?php if ($email->status !== 'queue') { ?>

79

79

                <div class="gdmaq-email-element">

80

 

                    <h3><?php \_e("Email Sending Engine", "gd-mail-queue"); ?>:</h3>

 

80

                    <h3><?php esc\_html\_e("Email Sending Engine", "gd-mail-queue"); ?>:</h3>

81

81

                    <span><?php echo gdmaq()->get\_engine\_label($email->engine); ?></span>

82

82

                </div>

…

…

 

84

84

                <?php if ($email->engine == 'phpmailer') { ?>

85

85

                    <div class="gdmaq-email-element">

86

 

                        <h3><?php \_e("PHPMailer Service", "gd-mail-queue"); ?>:</h3>

 

86

                        <h3><?php esc\_html\_e("PHPMailer Service", "gd-mail-queue"); ?>:</h3>

87

87

                        <span><?php echo isset($email->mailer->Mailer) && $email->mailer->Mailer == 'smtp' ? \_\_("SMTP", "gd-mail-queue") : \_\_("PHP Mail", "gd-mail-queue"); ?></span>

88

88

                    </div>

…

…

 

90

90

91

91

                <div class="gdmaq-email-element">

92

 

                    <h3><?php \_e("Sending Result", "gd-mail-queue"); ?>:</h3>

 

92

                    <h3><?php esc\_html\_e("Sending Result", "gd-mail-queue"); ?>:</h3>

93

93

                    <span><?php echo $email->status == 'ok' ? \_\_("Sent OK", "gd-mail-queue") : ($email->status == 'retry' ? \_\_("Retried", "gd-mail-queue") : \_\_("Failed", "gd-mail-queue")); ?></span>

94

94

                </div>

…

…

 

96

96

                <?php if (!empty($email->message)) { ?>

97

97

                    <div class="gdmaq-email-element">

98

 

                        <h3><?php \_e("Message", "gd-mail-queue"); ?>:</h3>

99

 

                        <span><?php echo $email->message; ?></span>

 

98

                        <h3><?php esc\_html\_e("Message", "gd-mail-queue"); ?>:</h3>

 

99

                        <span><?php echo esc\_html($email->message); ?></span>

100

100

                    </div>

101

101

                <?php } ?>

…

…

 

104

104

        <div tabindex="0" role="tabpanel" id="gdmaq-entry-basic-tab" aria-labelledby="gdmaq-entry-basic" hidden>

105

105

            <div class="gdmaq-email-element">

106

 

                <h3><?php \_e("Subject", "gd-mail-queue"); ?>:</h3>

107

 

                <span><?php echo $email->subject; ?></span>

 

106

                <h3><?php esc\_html\_e("Subject", "gd-mail-queue"); ?>:</h3>

 

107

                <span><?php echo esc\_html($email->subject); ?></span>

108

108

            </div>

109

109

            <div class="gdmaq-email-element">

110

 

                <h3><?php \_e("Logged", "gd-mail-queue"); ?>:</h3>

 

110

                <h3><?php esc\_html\_e("Logged", "gd-mail-queue"); ?>:</h3>

111

111

                <span><?php echo date('Y-m-d', $timestamp).' @ '.date('H:i:s', $timestamp); ?></span>

112

112

            </div>

113

113

            <?php if ($email->type != 'mail' && isset(gdmaq\_mailer()->detection()->supported\_types\[$email->type\])) { ?>

114

114

                <div class="gdmaq-email-element">

115

 

                    <h3><?php \_e("Source", "gd-mail-queue"); ?>:</h3>

 

115

                    <h3><?php esc\_html\_e("Source", "gd-mail-queue"); ?>:</h3>

116

116

                    <span><?php echo gdmaq\_mailer()->detection()->supported\_types\[$email->type\]; ?></span>

117

117

                </div>

118

118

            <?php } ?>

119

119

            <div class="gdmaq-email-element">

120

 

                <h3><?php \_e("To", "gd-mail-queue"); ?>:</h3>

 

120

                <h3><?php esc\_html\_e("To", "gd-mail-queue"); ?>:</h3>

121

121

                <span><?php echo \_gdmaq\_entry\_preview\_render\_emails($email->emails\['to'\], 'to'); ?></span>

122

122

                <?php if (!empty($email->emails\['cc'\])) { ?>

123

 

                    <h4><?php \_e("CC", "gd-mail-queue"); ?>:</h4>

 

123

                    <h4><?php esc\_html\_e("CC", "gd-mail-queue"); ?>:</h4>

124

124

                    <span><?php echo \_gdmaq\_entry\_preview\_render\_emails($email->emails\['cc'\], 'cc'); ?></span>

125

125

                <?php } ?>

126

126

                <?php if (!empty($email->emails\['bcc'\])) { ?>

127

 

                    <h4><?php \_e("BCC", "gd-mail-queue"); ?>:</h4>

 

127

                    <h4><?php esc\_html\_e("BCC", "gd-mail-queue"); ?>:</h4>

128

128

                    <span><?php echo \_gdmaq\_entry\_preview\_render\_emails($email->emails\['bcc'\], 'bcc'); ?></span>

129

129

                <?php } ?>

130

130

            </div>

131

131

            <div class="gdmaq-email-element">

132

 

                <h3><?php \_e("From", "gd-mail-queue"); ?>:</h3>

 

132

                <h3><?php esc\_html\_e("From", "gd-mail-queue"); ?>:</h3>

133

133

                <span><?php echo \_gdmaq\_entry\_preview\_render\_emails($email->emails\['from'\], 'from'); ?></span>

134

134

                <?php if (!empty($email->emails\['reply\_to'\])) { ?>

135

 

                    <h4><?php \_e("Reply To", "gd-mail-queue"); ?>:</h4>

 

135

                    <h4><?php esc\_html\_e("Reply To", "gd-mail-queue"); ?>:</h4>

136

136

                    <span><?php echo \_gdmaq\_entry\_preview\_render\_emails($email->emails\['reply\_to'\], 'reply\_to'); ?></span>

137

137

                <?php } ?>

…

…

 

147

147

            <?php if (!empty($email->headers)) { ?>

148

148

                <div class="gdmaq-email-element">

149

 

                    <h3><?php \_e("Extra Headers", "gd-mail-queue"); ?>:</h3>

 

149

                    <h3><?php esc\_html\_e("Extra Headers", "gd-mail-queue"); ?>:</h3>

150

150

                    <?php foreach ($email->headers as $header) { ?>

151

151

                        <span><?php echo $header\[0\]; ?>: <?php echo $header\[1\]; ?></span><br/>

…

…

 

156

156

        <?php if ($\_has\_plain) { ?>

157

157

        <div tabindex="0" role="tabpanel" id="gdmaq-entry-plain-tab" aria-labelledby="gdmaq-entry-plain" hidden>

158

 

            <pre><?php echo $email->plain; ?></pre>

 

158

            <pre><?php echo esc\_html($email->plain); ?></pre>

159

159

        </div>

160

160

        <?php } ?>

…

…

 

167

167

        <div tabindex="0" role="tabpanel" id="gdmaq-entry-attachments-tab" aria-labelledby="gdmaq-entry-attachments" hidden="">

168

168

            <div class="gdmaq-email-element">

169

 

                <h3><?php \_e("Total files", "gd-mail-queue"); ?>:</h3>

 

169

                <h3><?php esc\_html\_e("Total files", "gd-mail-queue"); ?>:</h3>

170

170

                <span><?php echo count($email->attachments); ?></span>

171

171

            </div>

172

172

            <div class="gdmaq-email-element">

173

 

                <h3><?php \_e("List of files", "gd-mail-queue"); ?>:</h3>

 

173

                <h3><?php esc\_html\_e("List of files", "gd-mail-queue"); ?>:</h3>

174

174

                <?php foreach ($email->attachments as $file) {

175

175

                    if (is\_string($file)) { ?>
  • gd-mail-queue/trunk/forms/settings.php

    r2320777

    r2923988

67

67

            <div class="d4p-panel-title">

68

68

                <i aria-hidden="true" class="fa fa-cogs"></i>

69

 

                <h3><?php \_e("Settings", "gd-mail-queue"); ?></h3>

 

69

                <h3><?php esc\_html\_e("Settings", "gd-mail-queue"); ?></h3>

70

70

                <?php if ($\_panel != 'index') { ?>

71

71

                <h4><i aria-hidden="true" class="fa fa-<?php echo $panels\[$\_panel\]\['icon'\]; ?>"></i> <?php echo $panels\[$\_panel\]\['title'\]; ?></h4>

…

…

 

77

77

            <?php if ($\_panel != 'index') { ?>

78

78

                <div class="d4p-panel-buttons">

79

 

                    <input type="submit" value="<?php \_e("Save Settings", "gd-mail-queue"); ?>" class="button-primary">

 

79

                    <input type="submit" value="<?php esc\_html\_e("Save Settings", "gd-mail-queue"); ?>" class="button-primary">

80

80

                </div>

81

81

            <?php } ?>

82

82

            <div class="d4p-return-to-top">

83

 

                <a href="#wpwrap"><?php \_e("Return to top", "gd-mail-queue"); ?></a>

 

83

                <a href="#wpwrap"><?php esc\_html\_e("Return to top", "gd-mail-queue"); ?></a>

84

84

            </div>

85

85

        </div>

…

…

 

106

106

                <div class="d4p-options-panel">

107

107

                    <i aria-hidden="true" class="fa fa-<?php echo $obj\['icon'\]; ?>"></i>

108

 

                    <h5><?php echo $obj\['title'\]; ?></h5>

 

108

                    <h5><?php echo esc\_html($obj\['title'\]); ?></h5>

109

109

                    <div>

110

110

                        <?php if (isset($obj\['type'\])) { ?>

111

111

                        <span><?php echo $obj\['type'\]; ?></span>

112

112

                        <?php } ?>

113

 

                        <a class="button-primary" href="<?php echo $url; ?>"><?php \_e("Settings Panel", "gd-mail-queue"); ?></a>

 

113

                        <a class="button-primary" href="<?php echo $url; ?>"><?php esc\_html\_e("Settings Panel", "gd-mail-queue"); ?></a>

114

114

                    </div>

115

115

                </div>
  • gd-mail-queue/trunk/forms/setup/database.php

    r2079713

    r2923988

1

 

<h3 style="margin-top: 0;"><?php \_e("Database Tables", "gd-mail-queue"); ?></h3>

 

1

<h3 style="margin-top: 0;"><?php esc\_html\_e("Database Tables", "gd-mail-queue"); ?></h3>

2

2

<?php

3

3
  • gd-mail-queue/trunk/forms/shared/top.php

    r2375699

    r2923988

73

73

74

74

?>

75

 

<div class="<?php echo join(' ', $\_classes); ?>">

 

75

<div class="<?php echo esc\_attr(join(' ', $\_classes)); ?>">

76

76

    <div class="d4p-header">

77

77

        <div class="d4p-navigator">
  • gd-mail-queue/trunk/forms/tools.php

    r2081206

    r2923988

50

50

            <div class="d4p-panel-title">

51

51

                <i aria-hidden="true" class="fa fa-wrench"></i>

52

 

                <h3><?php \_e("Tools", "gd-mail-queue"); ?></h3>

 

52

                <h3><?php esc\_html\_e("Tools", "gd-mail-queue"); ?></h3>

53

53

                <?php if ($\_panel != 'index') { ?>

54

54

                <h4><i aria-hidden="true" class="fa fa-<?php echo $panels\[$\_panel\]\['icon'\]; ?>"></i> <?php echo $panels\[$\_panel\]\['title'\]; ?></h4>

…

…

 

64

64

            <?php } ?>

65

65

            <div class="d4p-return-to-top">

66

 

                <a href="#wpwrap"><?php \_e("Return to top", "gd-mail-queue"); ?></a>

 

66

                <a href="#wpwrap"><?php esc\_html\_e("Return to top", "gd-mail-queue"); ?></a>

67

67

            </div>

68

68

        </div>

…

…

 

91

91

                    <h5><?php echo $obj\['title'\]; ?></h5>

92

92

                    <div>

93

 

                        <a class="button-primary" href="<?php echo $url; ?>"><?php \_e("Tools Panel", "gd-mail-queue"); ?></a>

 

93

                        <a class="button-primary" href="<?php echo $url; ?>"><?php esc\_html\_e("Tools Panel", "gd-mail-queue"); ?></a>

94

94

                    </div>

95

95

                </div>
  • gd-mail-queue/trunk/forms/tools/export.php

    r2097996

    r2923988

2

2

3

3

<div class="d4p-group d4p-group-export d4p-group-important">

4

 

    <h3><?php \_e("Important", "gd-mail-queue"); ?></h3>

 

4

    <h3><?php esc\_html\_e("Important", "gd-mail-queue"); ?></h3>

5

5

    <div class="d4p-group-inner">

6

 

        <?php \_e("With this tool you export all plugin settings into plain text file using JSON format. Do not modify export file, change can make it unusable.", "gd-mail-queue"); ?>

 

6

        <?php esc\_html\_e("With this tool you export all plugin settings into plain text file using JSON format. Do not modify export file, change can make it unusable.", "gd-mail-queue"); ?>

7

7

    </div>

8

8

</div>

9

9

10

10

<div class="d4p-group d4p-group-tools d4p-group-reset">

11

 

    <h3><?php \_e("Select what to Export", "gd-mail-queue"); ?></h3>

 

11

    <h3><?php esc\_html\_e("Select what to Export", "gd-mail-queue"); ?></h3>

12

12

    <div class="d4p-group-inner">

13

13

        <label>

14

 

            <input checked="checked" type="checkbox" class="widefat" id="gdmaqtools-export-settings" value="on" /> <?php \_e("Plugin Settings", "gd-mail-queue"); ?>

 

14

            <input checked="checked" type="checkbox" class="widefat" id="gdmaqtools-export-settings" value="on" /> <?php esc\_html\_e("Plugin Settings", "gd-mail-queue"); ?>

15

15

        </label>

16

16

        <label>

17

 

            <input checked="checked" type="checkbox" class="widefat" id="gdmaqtools-export-statistics" value="on" /> <?php \_e("Plugin Statistics", "gd-mail-queue"); ?>

 

17

            <input checked="checked" type="checkbox" class="widefat" id="gdmaqtools-export-statistics" value="on" /> <?php esc\_html\_e("Plugin Statistics", "gd-mail-queue"); ?>

18

18

        </label>

19

19

    </div>
  • gd-mail-queue/trunk/forms/tools/import.php

    r2079713

    r2923988

1

1

<div class="d4p-group d4p-group-import d4p-group-important">

2

 

    <h3><?php \_e("Important", "gd-mail-queue"); ?></h3>

 

2

    <h3><?php esc\_html\_e("Important", "gd-mail-queue"); ?></h3>

3

3

    <div class="d4p-group-inner">

4

 

        <?php \_e("With this tool you import all plugin settings from plain text file made using the Export tool. If you made changes to this file, it is very likely that import will fail.", "gd-mail-queue"); ?>

 

4

        <?php esc\_html\_e("With this tool you import all plugin settings from plain text file made using the Export tool. If you made changes to this file, it is very likely that import will fail.", "gd-mail-queue"); ?>

5

5

    </div>

6

6

</div>

7

7

8

8

<div class="d4p-group d4p-group-import d4p-group-important">

9

 

    <h3><?php \_e("Import File", "gd-mail-queue"); ?></h3>

 

9

    <h3><?php esc\_html\_e("Import File", "gd-mail-queue"); ?></h3>

10

10

    <div class="d4p-group-inner">

11

 

        <?php \_e("Select file you want to import", "gd-mail-queue"); ?>:

 

11

        <?php esc\_html\_e("Select file you want to import", "gd-mail-queue"); ?>:

12

12

        <br/><br/>

13

13

        <input type="file" name="import\_file" />
  • gd-mail-queue/trunk/forms/tools/queue.php

    r2081206

    r2923988

2

2

3

3

<div class="d4p-group d4p-group-information">

4

 

    <h3><?php \_e("Important", "gd-mail-queue"); ?></h3>

 

4

    <h3><?php esc\_html\_e("Important", "gd-mail-queue"); ?></h3>

5

5

    <div class="d4p-group-inner">

6

 

        <?php \_e("This tool adds test email directly to the queue.", "gd-mail-queue"); ?>

 

6

        <?php esc\_html\_e("This tool adds test email directly to the queue.", "gd-mail-queue"); ?>

7

7

    </div>

8

8

</div>

9

9

10

10

<div class="d4p-group d4p-group-tools">

11

 

    <h3><?php \_e("Configure test", "gd-mail-queue"); ?></h3>

 

11

    <h3><?php esc\_html\_e("Configure test", "gd-mail-queue"); ?></h3>

12

12

    <div class="d4p-group-inner">

13

 

        <label><?php \_e("Send To", "gd-mail-queue"); ?></label>

 

13

        <label><?php esc\_html\_e("Send To", "gd-mail-queue"); ?></label>

14

14

        <input type="text" class="widefat" name="gdmaqtools\[queuetest\]\[email\]" value="<?php echo get\_option('admin\_email'); ?>" />

15

15

        <br/><br/>

16

 

        <label><?php \_e("Subject", "gd-mail-queue"); ?></label>

 

16

        <label><?php esc\_html\_e("Subject", "gd-mail-queue"); ?></label>

17

17

        <input type="text" class="widefat" name="gdmaqtools\[queuetest\]\[subject\]" value="<?php echo \_\_("Test email", "gd-mail-queue").': '.get\_option('blogname'); ?>" />

18

18

    </div>

…

…

 

20

20

21

21

<div class="d4p-group d4p-group-tools" id="d4p-tools-test-results" style="display: none;">

22

 

    <h3><?php \_e("Test results", "gd-mail-queue"); ?></h3>

 

22

    <h3><?php esc\_html\_e("Test results", "gd-mail-queue"); ?></h3>

23

23

    <div class="d4p-group-inner">

24

24
  • gd-mail-queue/trunk/forms/tools/remove.php

    r2106296

    r2923988

1

1

<div class="d4p-group d4p-group-extra d4p-group-important">

2

 

    <h3><?php \_e("Important", "gd-mail-queue"); ?></h3>

 

2

    <h3><?php esc\_html\_e("Important", "gd-mail-queue"); ?></h3>

3

3

    <div class="d4p-group-inner">

4

 

        <?php \_e("This tool can remove plugin settings saved in the WordPress options table and all database tables added by the plugin.", "gd-mail-queue"); ?><br/><br/>

5

 

        <?php \_e("Deletion operations are not reversible, and it is highly recommended to create database backup before proceeding with this tool.", "gd-mail-queue"); ?>

6

 

        <?php \_e("If you choose to remove plugin settings, once that is done, all settings will be reinitialized to default values if you choose to leave plugin active.", "gd-mail-queue"); ?>

 

4

        <?php esc\_html\_e("This tool can remove plugin settings saved in the WordPress options table and all database tables added by the plugin.", "gd-mail-queue"); ?><br/><br/>

 

5

        <?php esc\_html\_e("Deletion operations are not reversible, and it is highly recommended to create database backup before proceeding with this tool.", "gd-mail-queue"); ?>

 

6

        <?php esc\_html\_e("If you choose to remove plugin settings, once that is done, all settings will be reinitialized to default values if you choose to leave plugin active.", "gd-mail-queue"); ?>

7

7

    </div>

8

8

</div>

9

9

10

10

<div class="d4p-group d4p-group-tools d4p-group-reset">

11

 

    <h3><?php \_e("Remove plugin settings", "gd-mail-queue"); ?></h3>

 

11

    <h3><?php esc\_html\_e("Remove plugin settings", "gd-mail-queue"); ?></h3>

12

12

    <div class="d4p-group-inner">

13

13

        <label>

14

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[settings\]" value="on" /> <?php \_e("All Plugin Settings", "gd-mail-queue"); ?>

 

14

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[settings\]" value="on" /> <?php esc\_html\_e("All Plugin Settings", "gd-mail-queue"); ?>

15

15

        </label>

16

16

        <label>

17

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[statistics\]" value="on" /> <?php \_e("All Plugin Statistics", "gd-mail-queue"); ?>

 

17

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[statistics\]" value="on" /> <?php esc\_html\_e("All Plugin Statistics", "gd-mail-queue"); ?>

18

18

        </label>

19

19

    </div>

…

…

 

21

21

22

22

<div class="d4p-group d4p-group-tools d4p-group-reset">

23

 

    <h3><?php \_e("Remove plugin CRON jobs", "gd-mail-queue"); ?></h3>

 

23

    <h3><?php esc\_html\_e("Remove plugin CRON jobs", "gd-mail-queue"); ?></h3>

24

24

    <div class="d4p-group-inner">

25

25

        <label>

26

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[cron\]" value="on" /> <?php \_e("All Plugin CRON Jobs", "gd-mail-queue"); ?>

 

26

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[cron\]" value="on" /> <?php esc\_html\_e("All Plugin CRON Jobs", "gd-mail-queue"); ?>

27

27

        </label>

28

28

    </div>

…

…

 

30

30

31

31

<div class="d4p-group d4p-group-tools d4p-group-reset">

32

 

    <h3><?php \_e("Remove database data and tables", "gd-mail-queue"); ?></h3>

 

32

    <h3><?php esc\_html\_e("Remove database data and tables", "gd-mail-queue"); ?></h3>

33

33

    <div class="d4p-group-inner">

34

34

        <label>

35

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[drop\]" value="on" /> <?php \_e("Remove plugins database tables and all data in them", "gd-mail-queue"); ?>

 

35

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[drop\]" value="on" /> <?php esc\_html\_e("Remove plugins database tables and all data in them", "gd-mail-queue"); ?>

36

36

        </label>

37

37

        <label>

38

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[truncate\]" value="on" /> <?php \_e("Remove all data from database tables", "gd-mail-queue"); ?>

 

38

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[truncate\]" value="on" /> <?php esc\_html\_e("Remove all data from database tables", "gd-mail-queue"); ?>

39

39

        </label><br/>

40

40

        <hr/>

41

 

        <p><?php \_e("Database tables that will be affected", "gd-mail-queue"); ?>:</p>

 

41

        <p><?php esc\_html\_e("Database tables that will be affected", "gd-mail-queue"); ?>:</p>

42

42

        <ul style="list-style: inside disc;">

43

 

            <li><?php echo gdmaq\_db()->queue; ?></li>

44

 

            <li><?php echo gdmaq\_db()->log; ?></li>

45

 

            <li><?php echo gdmaq\_db()->emails; ?></li>

46

 

            <li><?php echo gdmaq\_db()->log\_email; ?></li>

 

43

            <li><?php echo esc\_html(gdmaq\_db()->queue); ?></li>

 

44

            <li><?php echo esc\_html(gdmaq\_db()->log); ?></li>

 

45

            <li><?php echo esc\_html(gdmaq\_db()->emails); ?></li>

 

46

            <li><?php echo esc\_html(gdmaq\_db()->log\_email); ?></li>

47

47

        </ul>

48

48

    </div>

…

…

 

50

50

51

51

<div class="d4p-group d4p-group-tools d4p-group-reset">

52

 

    <h3><?php \_e("Disable Plugin", "gd-mail-queue"); ?></h3>

 

52

    <h3><?php esc\_html\_e("Disable Plugin", "gd-mail-queue"); ?></h3>

53

53

    <div class="d4p-group-inner">

54

54

        <label>

55

 

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[disable\]" value="on" /> <?php \_e("Disable plugin", "gd-mail-queue"); ?>

 

55

            <input type="checkbox" class="widefat" name="gdmaqtools\[remove\]\[disable\]" value="on" /> <?php esc\_html\_e("Disable plugin", "gd-mail-queue"); ?>

56

56

        </label>

57

57

    </div>
  • gd-mail-queue/trunk/forms/tools/test.php

    r2081206

    r2923988

2

2

3

3

<div class="d4p-group d4p-group-information">

4

 

    <h3><?php \_e("Important", "gd-mail-queue"); ?></h3>

 

4

    <h3><?php esc\_html\_e("Important", "gd-mail-queue"); ?></h3>

5

5

    <div class="d4p-group-inner">

6

 

        <?php \_e("This tool sends test email to check email sending settings, and capture sending status or errors. To make sure email is sent directly, queue intercept will be disabled for the test.", "gd-mail-queue"); ?>

 

6

        <?php esc\_html\_e("This tool sends test email to check email sending settings, and capture sending status or errors. To make sure email is sent directly, queue intercept will be disabled for the test.", "gd-mail-queue"); ?>

7

7

    </div>

8

8

</div>

9

9

10

10

<div class="d4p-group d4p-group-tools">

11

 

    <h3><?php \_e("Configure test", "gd-mail-queue"); ?></h3>

 

11

    <h3><?php esc\_html\_e("Configure test", "gd-mail-queue"); ?></h3>

12

12

    <div class="d4p-group-inner">

13

 

        <label><?php \_e("Send To", "gd-mail-queue"); ?></label>

14

 

        <input type="text" class="widefat" name="gdmaqtools\[mailtest\]\[email\]" value="<?php echo get\_option('admin\_email'); ?>" />

 

13

        <label><?php esc\_html\_e("Send To", "gd-mail-queue"); ?></label>

 

14

        <input type="text" class="widefat" name="gdmaqtools\[mailtest\]\[email\]" value="<?php echo esc\_attr(get\_option('admin\_email')); ?>" />

15

15

        <br/><br/>

16

 

        <label><?php \_e("Subject", "gd-mail-queue"); ?></label>

 

16

        <label><?php esc\_html\_e("Subject", "gd-mail-queue"); ?></label>

17

17

        <input type="text" class="widefat" name="gdmaqtools\[mailtest\]\[subject\]" value="<?php echo \_\_("Test email", "gd-mail-queue").': '.get\_option('blogname'); ?>" />

18

18

    </div>

…

…

 

20

20

21

21

<div class="d4p-group d4p-group-tools" id="d4p-tools-test-results" style="display: none;">

22

 

    <h3><?php \_e("Test results", "gd-mail-queue"); ?></h3>

 

22

    <h3><?php esc\_html\_e("Test results", "gd-mail-queue"); ?></h3>

23

23

    <div class="d4p-group-inner">

24

24
  • gd-mail-queue/trunk/forms/update.php

    r2097996

    r2923988

6

6

7

7

?>

8

 

<div class="<?php echo join(' ', $\_classes); ?>">

 

8

<div class="<?php echo esc\_attr(join(' ', $\_classes)); ?>">

9

9

    <div class="d4p-header">

10

10

        <div class="d4p-plugin">

…

…

 

16

16

            <div class="d4p-panel-title">

17

17

                <i aria-hidden="true" class="fa fa-magic"></i>

18

 

                <h3><?php \_e("Update", "gd-mail-queue"); ?></h3>

 

18

                <h3><?php esc\_html\_e("Update", "gd-mail-queue"); ?></h3>

19

19

            </div>

20

20

            <div class="d4p-panel-info">

21

 

                <?php \_e("Before you continue, make sure plugin was successfully updated.", "gd-mail-queue"); ?>

 

21

                <?php esc\_html\_e("Before you continue, make sure plugin was successfully updated.", "gd-mail-queue"); ?>

22

22

            </div>

23

23

        </div>

…

…

 

33

33

                ?>

34

34

35

 

                <h3><?php \_e("All Done", "gd-mail-queue"); ?></h3>

36

 

                <?php \_e("Update completed.", "gd-mail-queue"); ?>

 

35

                <h3><?php esc\_html\_e("All Done", "gd-mail-queue"); ?></h3>

 

36

                <?php esc\_html\_e("Update completed.", "gd-mail-queue"); ?>

37

37

38

 

                <br/><br/><a class="button-primary" href="<?php echo admin\_url('admin.php?page=gd-mail-queue-about'); ?>"><?php \_e("Click here to continue.", "gd-mail-queue"); ?></a>

 

38

                <br/><br/><a class="button-primary" href="<?php echo admin\_url('admin.php?page=gd-mail-queue-about'); ?>"><?php esc\_html\_e("Click here to continue.", "gd-mail-queue"); ?></a>

39

39

            </div>

40

40

        </div>
  • gd-mail-queue/trunk/gd-mail-queue.php

    r2776206

    r2923988

8

8

Author URI:        https://www.dev4press.com/

9

9

Text Domain:       gd-mail-queue

10

 

Version:           3.9.3

11

 

Requires at least: 5.0

12

 

Tested up to:      6.0

13

 

Requires PHP:      7.0

 

10

Version:           4.0

 

11

Requires at least: 5.2

 

12

Tested up to:      6.2

 

13

Requires PHP:      7.3

14

14

License:           GPLv3 or later

15

15

License URI:       https://www.gnu.org/licenses/gpl-3.0.html
  • gd-mail-queue/trunk/readme.txt

    r2889262

    r2923988

2

2

Contributors: GDragoN

3

3

Donate link: https://plugins.dev4press.com/gd-mail-queue/

4

 

Version: 3.9.3.1

 

4

Version: 4.0

5

5

Tags: dev4press, mail, queue, email log, smtp, html email, bbpress, mail log, wp\_mail

6

 

Requires at least: 5.0

 

6

Requires at least: 5.2

7

7

Tested up to: 6.2

8

 

Requires PHP: 7.0

 

8

Requires PHP: 7.3

9

9

Stable tag: trunk

10

10

License: GPLv3 or later

…

…

 

25

25

\* If eligible, add each recipient email into the queue

26

26

27

 

Process of turning plain text into HTML emails, support all emails sent through wp\_mail, even if they don't end in the queue. This can turn all WordPress system emails (registration, password reset...) into HTML emails. You can:

28

 

29

 

\* Choose between predefined HTML templates

30

 

\* Add your custom HTML template

31

 

\* Define your custom header and footer for emails

 

27

Process of turning plain text into HTML emails, support all emails sent through wp\_mail, even if they don't end in the queue. This can turn all WordPress system emails (registration, password reset...) into HTML emails and you can choose between predefined HTML templates, or register own templates via filter.

32

28

33

29

Queue works through the CRON, as a background job, and you can configure how many emails to send in a batch, with the timeout setting to prevent PHP timeout breaking the sending process.

…

…

 

50

46

\* Preview popup shows the full HTML email part preview

51

47

\* Retry sending any failed emails through the queue

 

48

 

49

\= Security related features =

 

50

The plugin will attempt to strip malicious content from intercepted email, and sanitize the email plain text before generating HTML version, with the option to control the scope of the HTML tags to allow. HTML from subject will be striped. Emails stored in the log will be additionally sanitized, and on display, email content will be again escaped or run through KSES to avoid issues.

52

51

53

52

\= Other plugin features =

…

…

 

168

167

169

168

\== Upgrade Notice ==

 

169

\= 4.0 =

 

170

Various improvements, changes and security fix.

 

171

170

172

\= 3.9 =

171

173

Various improvements and fixes.

…

…

 

175

177

176

178

\== Changelog ==

 

179

\= 4.0 - 2023.06.09 =

 

180

\* New: plugin tested with WordPress up to 6.2

 

181

\* New: system requirements: plugin requires PHP 7.3

 

182

\* New: system requirements: plugin requires WordPress 5.2

 

183

\* New: option to control HTMLfy pre-processing of plain text

 

184

\* New: run KSES filter when adding email into queue

 

185

\* New: run KSES filter when saving email into the log

 

186

\* New: logged email preview with proper data escaping

 

187

\* New: filters to control pre-processing of emails going to queue

 

188

\* New: process logged email preview with KSES before displaying

 

189

\* New: filter for HTMLfy pre-processing control for KSES

 

190

\* Edit: many more additional content escaping for display

 

191

\* Edit: various small updates to improve PHP code standards

 

192

\* Edit: d4pLib 2.8.15

 

193

\* Fix: unauthenticated stored cross-site scripting vulnerability

 

194

177

195

\= 3.9.3 - 2022.08.26 =

178

196

\* Edit: no longer check for super admin but use activate\_plugins cap

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907