1{* $Id$ *} 2{assign var=nlId_urlencoded value=$nlId|urlencode} 3{title url="tiki-admin_newsletter_subscriptions.php?nlId=$nlId_urlencoded"}{tr}Admin newsletter subscriptions{/tr}{/title} 4 5<div class="t_navbar btn-group form-group row mb-4"> 6 {button href="tiki-newsletters.php" class="btn btn-info" _icon_name="list" _text="{tr}List{/tr}"} 7 {assign var="nlid_encod" value=$nlId|urlencode} 8 {button href="tiki-admin_newsletters.php?nlId=$nlid_encod" class="btn btn-primary" _icon_name="edit" _text="{tr}Edit{/tr}"} 9 {button href="tiki-admin_newsletters.php" class="btn btn-primary" _icon_name="cog" _text="{tr}Admin{/tr}"} 10 {button href="tiki-send_newsletters.php?nlId=$nlid_encod" class="btn btn-primary" _icon_name="envelope" _text="{tr}Send{/tr}"} 11</div> 12 13<div class="table-responsive"> 14 <table class="table table-striped table-hover"> 15 <tr> 16 <th colspan="2">{tr}Newsletter{/tr}</th> 17 </tr> 18 <tr> 19 <td class="even" width="30%">{tr}Name:{/tr}</td> 20 <td class="even">{$nl_info.name|escape}</td> 21 </tr> 22 <tr> 23 <td class="even">{tr}Description:{/tr}</td> 24 <td class="even">{$nl_info.description|escape|nl2br}</td> 25 </tr> 26 </table> 27</div> 28 29{tabset name='tabs_newsletter_subscriptions'} 30 31 {tab name="{tr}Subscriptions{/tr}"} 32 <h2>{tr}Subscriptions{/tr}</h2> 33 {* groups------------------------------------ *} 34 {if $nb_groups > 0} 35 <div class="table-responsive"> 36 <table class="table table-striped table-hover"> 37 <tr> 38 <th> 39 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset_g|urlencode}&sort_mode_g={if $sort_mode_g eq 'groupName_asc'}groupName_desc{else}groupName_asc{/if}"> 40 {tr}Group{/tr} 41 </a> 42 </th> 43 <th></th> 44 </tr> 45 46 {section name=ix loop=$groups_g} 47 <tr> 48 <td class="text"> 49 {$groups_g[ix].groupName|escape} 50 {if count($groups_g[ix].additional_groups)} 51 <div> 52 {tr}Groups included through inheritance:{/tr} 53 {foreach from=$groups_g[ix].additional_groups item=groupName} 54 {$groupName|escape} 55 {/foreach} 56 </div> 57 {/if} 58 </td> 59 <td class="action"> 60 <a class="tips text-danger" 61 title=":{tr}Remove{/tr}" 62 href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={$sort_mode|urlencode}&remove={$groups_g[ix].nlId|urlencode}&group={$groups_g[ix].groupName|urlencode}" 63 onclick="confirmSimple(event, '{tr}Remove subscription?{/tr}', '{ticket mode=get}')" 64 > 65 {icon name='remove'} 66 </a> 67 </td> 68 </tr> 69 {/section} 70 </table> 71 </div> 72 {/if} 73 {* /groups------------------------------------ *} 74 75 {* included------------------------------------ *} 76 {if $nb_included > 0} 77 <div class="table-responsive"> 78 <table class="table table-striped table-hover"> 79 <tr> 80 <th> 81 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset_g|urlencode}&sort_mode_i={if $sort_mode_i eq 'name_asc'}name_desc{else}name_asc{/if}">{tr}Newsletter{/tr}</a> 82 </th> 83 <th></th> 84 </tr> 85 86 {foreach key=incId item=incName from=$included_n} 87 <tr> 88 <td class="text"> 89 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$incId|urlencode}">{$incName|escape}</a> 90 </td> 91 <td class="action"> 92 <a class="tips text-danger" 93 title=":{tr}Remove{/tr}" 94 href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={$sort_mode|urlencode}&remove={$nlId|urlencode}&included={$incId|urlencode}" 95 onclick="confirmSimple(event, '{tr}Remove subscription?{/tr}', '{ticket mode=get}')" 96 > 97 {icon name='remove'} 98 </a> 99 </td> 100 </tr> 101 {/foreach} 102 </table> 103 </div> 104 {/if} 105 {* /included------------------------------------ *} 106 107 {* pages------------------------------------ *} 108 {if $nb_pages > 0} 109 <div class="table-responsive"> 110 <table class="table table-striped table-hover"> 111 <tr> 112 <th>{tr}Wiki Page Name{/tr}</th> 113 <th>{tr}Validate Addresses{/tr}</th> 114 <th>{tr}Add To List{/tr}</th> 115 <th></th> 116 </tr> 117 118 {section name=ix loop=$pages} 119 <tr> 120 <td class="text"><a href="{$pages[ix].wikiPageName|sefurl}">{$pages[ix].wikiPageName|escape}</a></td> 121 <td class="text">{$pages[ix].validateAddrs|escape}</td> 122 <td class="text">{$pages[ix].addToList|escape}</td> 123 <td class="action"> 124 <a class="tips text-danger" 125 title=":{tr}Remove{/tr}" 126 href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&remove={$pages[ix].nlId|urlencode}&page={$pages[ix].wikiPageName|urlencode}" 127 onclick="confirmSimple(event, '{tr}Remove subscription?{/tr}', '{ticket mode=get}')" 128 > 129 {icon name='remove'} 130 </a> 131 </td> 132 </tr> 133 {/section} 134 </table> 135 </div> 136 {/if} 137 {* /pages------------------------------------ *} 138 139 {include file='find.tpl'} 140 141 <form method="post" action="tiki-admin_newsletter_subscriptions.php"> 142 {ticket} 143 <input type="hidden" name="nlId" value="{$nlId|escape}"> 144 <div class="table-responsive"> 145 <table class="table table-striped table-hover"> 146 <tr> 147 <th> 148 {select_all checkbox_names='checked[]'} 149 </th> 150 <th> 151 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={if $sort_mode eq 'email_desc'}email_asc{else}email_desc{/if}">{tr}Email{/tr} - {tr}User{/tr}</a> 152 </th> 153 <th> 154 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={if $sort_mode eq 'valid_desc'}valid_asc{else}valid_desc{/if}">{tr}Valid{/tr}</a> 155 </th> 156 <th> 157 <a href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={if $sort_mode eq 'subscribed_desc'}subscribed_asc{else}subscribed_desc{/if}">{tr}Subscribed{/tr}</a> 158 </th> 159 <th></th> 160 </tr> 161 162 {section name=user loop=$channels} 163 <tr> 164 <td class="checkbox-cell"> 165 <div class="form-check"> 166 <input type="checkbox" name="checked[]" value="{$channels[user].code}" {if $smarty.request.checked and in_array($channels[user].code, $smarty.request.checked)}checked="checked"{/if}> 167 </div> 168 </td> 169 <td class="username"> 170 {if $channels[user].isUser == "y"} 171 {$channels[user].email|userlink} 172 {else} 173 {$channels[user].email|escape} 174 {/if} 175 </td> 176 <td class="text"> 177 {if $channels[user].valid == "n"} 178 <a 179 class="link" 180 href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={$sort_mode|urlencode}&valid={$channels[user].nlId|urlencode}&{if $channels[user].isUser eq "y"}user{else}email{/if}={$channels[user].email|escape:"url"}" 181 title="{tr}Valid{/tr}" 182 onclick="confirmSimple(event, '{tr}Mark subscription as valid?{/tr}', '{ticket mode=get}')" 183 > 184 {tr}No{/tr} 185 </a> 186 {elseif $channels[user].valid == "x"} 187 {tr}Unsubscribed{/tr} 188 {else} 189 {tr}Yes{/tr} 190 {/if} 191 </td> 192 <td class="date">{$channels[user].subscribed|tiki_short_datetime}</td> 193 <td class="action"> 194 <a 195 class="tips text-danger" 196 title=":{tr}Remove{/tr}" 197 href="tiki-admin_newsletter_subscriptions.php?nlId={$nlId|urlencode}&offset={$offset|urlencode}&sort_mode={$sort_mode|urlencode}&remove={$channels[user].nlId|urlencode}&{if $channels[user].isUser eq "y"}subuser{else}email{/if}={$channels[user].email|escape:"url"}" 198 onclick="confirmSimple(event, '{tr}Remove subscription?{/tr}', '{ticket mode=get}')" 199 > 200 {icon name='remove'} 201 </a> 202 </td> 203 </tr> 204 {sectionelse} 205 {norecords _colspan=5} 206 {/section} 207 </table> 208 </div> 209 210 {if $channels} 211 <div class="input-group col-sm-8"> 212 <select class="form-control" name="action"> 213 <option value="no_action" selected="selected"> 214 {tr}Select action to perform with checked{/tr}... 215 </option> 216 <option 217 value="delsel_x" 218 class="confirm-simple" 219 data-confirm-text="{tr}Remove selected subscriptions?{/tr}" 220 > 221 {tr}Remove subscription{/tr} 222 </option> 223 </select> 224 <span class="input-group-append"> 225 <button 226 type="submit" 227 class="btn btn-secondary" 228 onclick="confirmSimple(event)" 229 > 230 {tr}OK{/tr} 231 </button> 232 </span> 233 </div> 234 {/if} 235 236 </form> 237 238 {pagination_links cant=$cant_pages step=$prefs.maxRecords offset=$offset}{/pagination_links} 239 {/tab} 240 241 {tab name="{tr}Add subscribers{/tr}"} 242 243 <h2>{tr}Add subscribers{/tr}</h2> 244 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 245 {ticket} 246 <input type="hidden" name="nlId" value="{$nlId|escape}"> 247 <div class="form-group row"> 248 <label class="col-sm-3 col-form-label">{tr}Email{/tr}</label> 249 <div class="col-sm-9"> 250 <textarea cols="70" rows="6" wrap="soft" name="email" class="form-control"></textarea> 251 <div class="small-hint"> 252 {tr}You can add several email addresses by separating them with commas.{/tr} 253 </div> 254 </div> 255 </div> 256 <div class="form-group row"> 257 <label class="col-sm-3 col-form-label">{tr}User{/tr}</label> 258 <div class="col-sm-9"> 259 <select name="subuser" class="form-control"> 260 <option value="">---</option> 261 {foreach key=id item=one from=$users} 262 <option value="{$one|escape}">{$one|escape}</option> 263 {/foreach} 264 </select> 265 </div> 266 </div> 267 <div class="form-group row"> 268 <label class="col-sm-3 form-check-label">{tr}Add email{/tr}</label> 269 <div class="col-sm-3"> 270 <div class="form-check"> 271 <input type="radio" name="addemail" value="y" class="form-check-input"> 272 </div> 273 </div> 274 <label class="col-sm-3 form-check-label">{tr}Add user{/tr}</label> 275 <div class="col-sm-3"> 276 <div class="form-check"> 277 <input type="radio" name="addemail" value="n" checked="checked" class="form-check-input"> 278 </div> 279 </div> 280 </div> 281 <div class="form-group row"> 282 <label class="col-sm-3 form-check-label">{tr}All users{/tr}</label> 283 <div class="col-sm-9"> 284 <div class="form-check"> 285 <input type="checkbox" name="addall" class="form-check-input"> 286 </div> 287 </div> 288 </div> 289 <div class="form-group row"> 290 <label class="col-sm-3 col-form-label">{tr}Users from group{/tr}</label> 291 <div class="col-sm-9"> 292 <select name="group" class="form-control"> 293 <option value="">---</option> 294 {section name=x loop=$groups} 295 <option value="{$groups[x]|escape}">{$groups[x]|escape}</option> 296 {/section} 297 </select> 298 <div class="small-hint"> 299 {tr}Group subscription also subscribes included groups{/tr} 300 </div> 301 </div> 302 </div> 303 {if $nl_info.validateAddr eq "y"} 304 <div class="form-group row"> 305 <label class="col-sm-3 form-check-label">{tr}Don't send confirmation email{/tr}</label> 306 <div class="col-sm-9"> 307 <div class="form-check"> 308 <input type="checkbox" name="confirmEmail" checked="checked" class="form-check-input"> 309 <div class="small-hint"> 310 {tr}The user email will be refreshed at each newsletter sending{/tr} 311 </div> 312 </div> 313 </div> 314 </div> 315 {/if} 316 <div class="form-group row"> 317 <label class="col-sm-3 col-form-label"></label> 318 <div class="col-sm-9"> 319 <input type="submit" class="btn btn-primary" name="add" value="{tr}Add{/tr}"> 320 </div> 321 </div> 322 </form> 323 324 {if $tiki_p_batch_subscribe_email eq "y" && $tiki_p_subscribe_email eq "y"} 325 <h2>{tr}Import emails from file{/tr}</h2> 326 <form action="tiki-admin_newsletter_subscriptions.php" method="post" enctype="multipart/form-data" class="mb-4"> 327 {ticket} 328 <input type="hidden" name="nlId" value="{$nlId|escape}"> 329 <div class="form-group row"> 330 <label class="col-sm-3 col-form-label">{tr}File:{/tr}</label> 331 <div class="col-sm-9"> 332 <input type="file" name="batch_subscription" class="form-control"> 333 <div class="small-hint"> 334 {tr}.txt file, one email per line{/tr} 335 </div> 336 </div> 337 </div> 338 {if $nl_info.validateAddr eq "y"} 339 <div class="form-group row"> 340 <label class="col-sm-3 form-check-label">{tr}Don't send confirmation emails{/tr}</label> 341 <div class="col-sm-9"> 342 <div class="form-check"> 343 <input type="checkbox" name="confirmEmail" checked="checked" class="form-check-input"> 344 </div> 345 </div> 346 </div> 347 {/if} 348 <div class="form-group row"> 349 <label class="col-sm-3 col-form-label"></label> 350 <div class="col-sm-9"> 351 <input type="submit" class="btn btn-primary" name="addbatch" value="{tr}Add{/tr}"> 352 </div> 353 </div> 354 </form> 355 <h2>{tr}Import emails from wiki page{/tr}</h2> 356 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 357 {ticket} 358 <input type="hidden" name="nlId" value="{$nlId|escape}"> 359 <div class="form-group row"> 360 <label class="col-sm-3 col-form-label">Wiki page</label> 361 <div class="col-sm-9"> 362 <input type="text" name="wikiPageName" value="" size="60" class="form-control"> 363 <div class="small-hint"> 364 {tr}Wiki page, one email per line{/tr} 365 </div> 366 </div> 367 </div> 368 {if $nl_info.validateAddr eq "y"} 369 <div class="form-group row"> 370 <label class="col-sm-3 form-check-label">{tr}Don't send confirmation emails{/tr}</label> 371 <div class="col-sm-9"> 372 <div class="form-check"> 373 <input type="checkbox" name="confirmEmail" checked="checked" class="form-check-input"> 374 </div> 375 </div> 376 </div> 377 {/if} 378 <div class="form-group row"> 379 <label class="col-sm-3 col-form-label"></label> 380 <div class="col-sm-9"> 381 <input type="submit" class="btn btn-primary" name="importPage" value="{tr}Add{/tr}"> 382 </div> 383 </div> 384 </form> 385 <h2>{tr}Import emails from tracker{/tr}</h2> 386 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 387 {ticket} 388 <input type="hidden" name="nlId" value="{$nlId|escape}"> 389 <div class="form-group row"> 390 <label class="col-sm-3 col-form-label">{tr}Tracker:{/tr}</label> 391 <div class="col-sm-9"> 392 <select name="tracker" class="form-control"> 393 <option value="">---</option> 394 {section name=tracker loop=$listTrackers} 395 <option value="{$listTrackers[tracker].trackerId|escape}">{$listTrackers[tracker].name|escape}</option> 396 {/section} 397 </select> 398 </div> 399 </div> 400 <div class="form-group row"> 401 <label class="col-sm-3 form-check-label">{tr}Don't send confirmation emails{/tr}</label> 402 <div class="col-sm-9"> 403 <div class="form-check"> 404 <input type="checkbox" name="confirmEmail" checked="checked" class="form-check-input"> 405 </div> 406 </div> 407 </div> 408 <div class="form-group row"> 409 <label class="col-sm-3 col-form-label"></label> 410 <div class="col-sm-9"> 411 <input type="submit" class="btn btn-primary" name="addTracker" value="{tr}Add{/tr}"> 412 </div> 413 </div> 414 </form> 415 {/if} 416 417 <h2>{tr}Subscribe group{/tr}</h2> 418 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 419 {ticket} 420 <input type="hidden" name="nlId" value="{$nlId|escape}"> 421 <div class="form-group row"> 422 <label class="col-sm-3 col-form-label">{tr}Group{/tr}</label> 423 <div class="col-sm-9"> 424 <select name="group" class="form-control"> 425 <option value="">---</option> 426 {section name=x loop=$groups} 427 <option value="{$groups[x]|escape}">{$groups[x]|escape}</option> 428 {/section} 429 </select> 430 </div> 431 </div> 432 <div class="form-group row"> 433 <label class="col-sm-3 form-check-label">{tr}Including group inheritance{/tr}</label> 434 <div class="col-sm-9"> 435 <div class="form-check"> 436 <input type="checkbox" name="include_groups" value="y" class="form-check-input"> 437 <div class="small-hint"> 438 {tr}Including group, group users and emails will be refreshed at each newsletter sending{/tr} 439 </div> 440 </div> 441 </div> 442 </div> 443 <div class="form-group row"> 444 <label class="col-sm-3 col-form-label"></label> 445 <div class="col-sm-9"> 446 <input type="submit" class="btn btn-primary" name="addgroup" value="{tr}Add{/tr}"> 447 </div> 448 </div> 449 </form> 450 451 <h2>{tr}Use subscribers of another newsletter{/tr}</h2> 452 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 453 {ticket} 454 <input type="hidden" name="nlId" value="{$nlId|escape}"> 455 <div class="form-group row"> 456 <label class="col-sm-3 col-form-label">{tr}Newsletter:{/tr}</label> 457 <div class="col-sm-9"> 458 <select name="included" class="form-control"> 459 <option value="">---</option> 460 {section name=x loop=$newsletters} 461 {if $nlId ne $newsletters[x].nlId} 462 <option value="{$newsletters[x].nlId|escape}">{$newsletters[x].name|escape}</option> 463 {/if} 464 {/section} 465 </select> 466 </div> 467 </div> 468 <div class="form-group row"> 469 <label class="col-sm-3 col-form-label"></label> 470 <div class="col-sm-9"> 471 <input type="submit" class="btn btn-primary" name="addincluded" value="{tr}Add{/tr}"> 472 </div> 473 </div> 474 </form> 475 476 <h2>{tr}Use emails from wiki page{/tr}</h2> 477 <form action="tiki-admin_newsletter_subscriptions.php" method="post" class="mb-4"> 478 {ticket} 479 <input type="hidden" name="nlId" value="{$nlId|escape}"> 480 <div class="form-group row"> 481 <label class="col-sm-3 col-form-label">{tr}Wiki page{/tr}</label> 482 <div class="col-sm-9"> 483 <input type="text" name="wikiPageName" value="" size="60" class="form-control"> 484 <div class="small-hint"> 485 {tr}Emails on a wiki page which will be added at each newsletter sending, one email per line{/tr} 486 </div> 487 {autocomplete element='input[name=wikiPageName]' type='pagename'} 488 </div> 489 </div> 490 <div class="form-group row"> 491 <label class="col-sm-3 form-check-label">{tr}Don't send confirmation emails{/tr}</label> 492 <div class="col-sm-9"> 493 <div class="form-check"> 494 <input type="checkbox" name="noConfirmEmail" checked="checked" class="form-check-input"> 495 </div> 496 </div> 497 </div> 498 <div class="form-group row"> 499 <label class="col-sm-3 form-check-label">{tr}Don't subscribe emails{/tr}</label> 500 <div class="col-sm-9"> 501 <div class="form-check"> 502 <input type="checkbox" name="noSubscribeEmail" checked="checked" class="form-check-input"> 503 </div> 504 </div> 505 </div> 506 <div class="form-group row"> 507 <label class="col-sm-3 col-form-label"></label> 508 <div class="col-sm-9"> 509 <input type="submit" class="btn btn-primary" name="addPage" value="{tr}Add{/tr}"> 510 </div> 511 </div> 512 </form> 513 {/tab} 514 515 516 {tab name="{tr}Export Subscriber Emails{/tr}"} 517 <h2>{tr}Export Subscriber Emails{/tr}</h2> 518 <br> 519 <form action="tiki-admin_newsletter_subscriptions.php" method="post"> 520 <input type="hidden" name="nlId" value="{$nlId|escape}"> 521 <div class="form-group row mx-0"> 522 <div class="col-sm-12 mb-3"> 523 <input type="submit" class="btn btn-primary" name="export" value="{tr}Export{/tr}"> 524 </div> 525 </div> 526 </form> 527 {/tab} 528 529{/tabset} 530