GET https://kbin.spritesserver.nl/u/@GravelPieceOfSword@lemmy.ca/newest/2023-11-12::2023-11-12

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
20.32 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1582
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
  +slug: "CUPS-mirror-image-printer-setup"
  +title: "CUPS mirror image printer setup"
  +url: null
  +body: """
    I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
    \n
    The manual way to mirror print would be by invoking `lp`, e.g.\n
    \n
    `lp -o mirror myfile.pdf`\n
    \n
    Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
    \n
    I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
    \n
    I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
    \n
    I can’t be the only one who’s needed this at some point in time.\n
    \n
    Has anyone here done something similar? Looking forward to your thoughts!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 21
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699831045 {#1722
    date: 2023-11-13 00:17:25.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2457 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1410 …}
  +children: [
    App\Entity\EntryComment {#1606
      +user: App\Entity\User {#265 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
        \n
        ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
        \n
        Actual Changes\n
        --------------\n
        \n
        Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
        \n
        ```\n
        \n
        <span style="color:#323232;">*%=== Mirror Printing ================================\n
        </span><span style="color:#323232;">*OpenGroup: General\n
        </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
        </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
        </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
        </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
        </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
        </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
        </span>\n
        ```\n
        \n
        For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
        \n
        Hope this helps if someone else is also looking to do something similar!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699974683 {#1428
        date: 2023-11-14 16:11:23.0 +01:00
      }
      +ip: null
      +tags: [
        "323232"
      ]
      +mentions: [
        "@GravelPieceOfSword@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -id: 114597
      -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/4787806"
      +editedAt: DateTimeImmutable @1699904601 {#1440
        date: 2023-11-13 20:43:21.0 +01:00
      }
      +createdAt: DateTimeImmutable @1699773689 {#1434
        date: 2023-11-12 08:21:29.0 +01:00
      }
      +"title": 114597
    }
  ]
  -id: 12064
  -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
  -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699784508
  +visibility: "visible             "
  +apId: "https://lemmy.ca/post/9128574"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699725008 {#1698
    date: 2023-11-11 18:50:08.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1582
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
  +slug: "CUPS-mirror-image-printer-setup"
  +title: "CUPS mirror image printer setup"
  +url: null
  +body: """
    I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
    \n
    The manual way to mirror print would be by invoking `lp`, e.g.\n
    \n
    `lp -o mirror myfile.pdf`\n
    \n
    Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
    \n
    I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
    \n
    I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
    \n
    I can’t be the only one who’s needed this at some point in time.\n
    \n
    Has anyone here done something similar? Looking forward to your thoughts!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 21
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699831045 {#1722
    date: 2023-11-13 00:17:25.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2457 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1410 …}
  +children: [
    App\Entity\EntryComment {#1606
      +user: App\Entity\User {#265 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
        \n
        ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
        \n
        Actual Changes\n
        --------------\n
        \n
        Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
        \n
        ```\n
        \n
        <span style="color:#323232;">*%=== Mirror Printing ================================\n
        </span><span style="color:#323232;">*OpenGroup: General\n
        </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
        </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
        </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
        </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
        </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
        </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
        </span>\n
        ```\n
        \n
        For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
        \n
        Hope this helps if someone else is also looking to do something similar!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699974683 {#1428
        date: 2023-11-14 16:11:23.0 +01:00
      }
      +ip: null
      +tags: [
        "323232"
      ]
      +mentions: [
        "@GravelPieceOfSword@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -id: 114597
      -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/4787806"
      +editedAt: DateTimeImmutable @1699904601 {#1440
        date: 2023-11-13 20:43:21.0 +01:00
      }
      +createdAt: DateTimeImmutable @1699773689 {#1434
        date: 2023-11-12 08:21:29.0 +01:00
      }
      +"title": 114597
    }
  ]
  -id: 12064
  -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
  -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699784508
  +visibility: "visible             "
  +apId: "https://lemmy.ca/post/9128574"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699725008 {#1698
    date: 2023-11-11 18:50:08.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1582
  +user: App\Entity\User {#265 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
  +slug: "CUPS-mirror-image-printer-setup"
  +title: "CUPS mirror image printer setup"
  +url: null
  +body: """
    I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
    \n
    The manual way to mirror print would be by invoking `lp`, e.g.\n
    \n
    `lp -o mirror myfile.pdf`\n
    \n
    Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
    \n
    I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
    \n
    I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
    \n
    I can’t be the only one who’s needed this at some point in time.\n
    \n
    Has anyone here done something similar? Looking forward to your thoughts!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 21
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699831045 {#1722
    date: 2023-11-13 00:17:25.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2457 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1554 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
  +badges: Doctrine\ORM\PersistentCollection {#1410 …}
  +children: [
    App\Entity\EntryComment {#1606
      +user: App\Entity\User {#265 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1582 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
        \n
        ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
        \n
        Actual Changes\n
        --------------\n
        \n
        Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
        \n
        ```\n
        \n
        <span style="color:#323232;">*%=== Mirror Printing ================================\n
        </span><span style="color:#323232;">*OpenGroup: General\n
        </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
        </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
        </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
        </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
        </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
        </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
        </span>\n
        ```\n
        \n
        For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
        \n
        Hope this helps if someone else is also looking to do something similar!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699974683 {#1428
        date: 2023-11-14 16:11:23.0 +01:00
      }
      +ip: null
      +tags: [
        "323232"
      ]
      +mentions: [
        "@GravelPieceOfSword@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1572 …}
      +nested: Doctrine\ORM\PersistentCollection {#1581 …}
      +votes: Doctrine\ORM\PersistentCollection {#1579 …}
      +reports: Doctrine\ORM\PersistentCollection {#1577 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
      -id: 114597
      -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/4787806"
      +editedAt: DateTimeImmutable @1699904601 {#1440
        date: 2023-11-13 20:43:21.0 +01:00
      }
      +createdAt: DateTimeImmutable @1699773689 {#1434
        date: 2023-11-12 08:21:29.0 +01:00
      }
      +"title": 114597
    }
  ]
  -id: 12064
  -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
  -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699784508
  +visibility: "visible             "
  +apId: "https://lemmy.ca/post/9128574"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699725008 {#1698
    date: 2023-11-11 18:50:08.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#1606
  +user: App\Entity\User {#265 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: App\Entity\User {#265 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
    +slug: "CUPS-mirror-image-printer-setup"
    +title: "CUPS mirror image printer setup"
    +url: null
    +body: """
      I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
      \n
      The manual way to mirror print would be by invoking `lp`, e.g.\n
      \n
      `lp -o mirror myfile.pdf`\n
      \n
      Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
      \n
      I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
      \n
      I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
      \n
      I can’t be the only one who’s needed this at some point in time.\n
      \n
      Has anyone here done something similar? Looking forward to your thoughts!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 21
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699831045 {#1722
      date: 2023-11-13 00:17:25.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2457 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1554 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1410 …}
    +children: [
      App\Entity\EntryComment {#1606}
    ]
    -id: 12064
    -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
    -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699784508
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/9128574"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699725008 {#1698
      date: 2023-11-11 18:50:08.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
    \n
    ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
    \n
    Actual Changes\n
    --------------\n
    \n
    Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
    \n
    ```\n
    \n
    <span style="color:#323232;">*%=== Mirror Printing ================================\n
    </span><span style="color:#323232;">*OpenGroup: General\n
    </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
    </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
    </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
    </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
    </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
    </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
    </span>\n
    ```\n
    \n
    For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
    \n
    Hope this helps if someone else is also looking to do something similar!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699974683 {#1428
    date: 2023-11-14 16:11:23.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@GravelPieceOfSword@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -id: 114597
  -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/4787806"
  +editedAt: DateTimeImmutable @1699904601 {#1440
    date: 2023-11-13 20:43:21.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699773689 {#1434
    date: 2023-11-12 08:21:29.0 +01:00
  }
  +"title": 114597
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#1606
  +user: App\Entity\User {#265 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: App\Entity\User {#265 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
    +slug: "CUPS-mirror-image-printer-setup"
    +title: "CUPS mirror image printer setup"
    +url: null
    +body: """
      I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
      \n
      The manual way to mirror print would be by invoking `lp`, e.g.\n
      \n
      `lp -o mirror myfile.pdf`\n
      \n
      Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
      \n
      I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
      \n
      I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
      \n
      I can’t be the only one who’s needed this at some point in time.\n
      \n
      Has anyone here done something similar? Looking forward to your thoughts!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 21
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699831045 {#1722
      date: 2023-11-13 00:17:25.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2457 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1554 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1410 …}
    +children: [
      App\Entity\EntryComment {#1606}
    ]
    -id: 12064
    -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
    -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699784508
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/9128574"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699725008 {#1698
      date: 2023-11-11 18:50:08.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
    \n
    ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
    \n
    Actual Changes\n
    --------------\n
    \n
    Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
    \n
    ```\n
    \n
    <span style="color:#323232;">*%=== Mirror Printing ================================\n
    </span><span style="color:#323232;">*OpenGroup: General\n
    </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
    </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
    </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
    </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
    </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
    </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
    </span>\n
    ```\n
    \n
    For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
    \n
    Hope this helps if someone else is also looking to do something similar!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699974683 {#1428
    date: 2023-11-14 16:11:23.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@GravelPieceOfSword@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -id: 114597
  -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/4787806"
  +editedAt: DateTimeImmutable @1699904601 {#1440
    date: 2023-11-13 20:43:21.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699773689 {#1434
    date: 2023-11-12 08:21:29.0 +01:00
  }
  +"title": 114597
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#1606
  +user: App\Entity\User {#265 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1582
    +user: App\Entity\User {#265 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2455 …}
    +slug: "CUPS-mirror-image-printer-setup"
    +title: "CUPS mirror image printer setup"
    +url: null
    +body: """
      I’ll need to mirror print stuff regularly (flip across the vertical axis), and I’m trying to make the process convenient.\n
      \n
      The manual way to mirror print would be by invoking `lp`, e.g.\n
      \n
      `lp -o mirror myfile.pdf`\n
      \n
      Invoking lp would work for images, PDF, ps etc. But but for application (open office draw) files. Unfortunately, I don’t see an obvious way to mirror print within the application itself.\n
      \n
      I’m thinking of setting up a mirror printer in CUPS that would automatically apply the -o mirror to any documents that hit it.\n
      \n
      I suspect this would require some tinkering with CUPS filters - I’ll dig into it sometime.\n
      \n
      I can’t be the only one who’s needed this at some point in time.\n
      \n
      Has anyone here done something similar? Looking forward to your thoughts!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 21
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699831045 {#1722
      date: 2023-11-13 00:17:25.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2457 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1554 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2361 …}
    +badges: Doctrine\ORM\PersistentCollection {#1410 …}
    +children: [
      App\Entity\EntryComment {#1606}
    ]
    -id: 12064
    -titleTs: "'cup':1 'imag':3 'mirror':2 'printer':4 'setup':5"
    -bodyTs: "'across':10 'anyon':128 'appli':85 'applic':51,69 'automat':84 'axi':13 'conveni':22 'cup':81,103 'dig':107 'document':91 'done':130 'draw':54 'e.g':34 'etc':47 'file':55 'filter':104 'flip':9 'forward':134 'hit':93 'imag':44 'invok':32,39 'll':2,106 'look':133 'lp':33,35,40 'm':16,72 'make':19 'manual':24 'mirror':5,27,37,65,78,88 'myfile.pdf':38 'need':3,120 'o':36,87 'obvious':62 'offic':53 'one':117 'open':52 'pdf':45 'point':124 'print':6,28,66 'printer':79 'process':21 'ps':46 'regular':8 'requir':99 'see':60 'set':75 'similar':132 'someth':131 'sometim':110 'stuff':7 'suspect':96 'think':73 'thought':137 'time':126 'tinker':101 'tri':17 'unfortun':56 'vertic':12 'way':25,63 'within':67 'work':42 'would':29,41,83,98"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699784508
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/9128574"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699725008 {#1698
      date: 2023-11-11 18:50:08.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1574 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Mission Accomplished! My printer driver now has a **MirrorPrint** Option, and selecting it enables Mirror Printing. For convenience (since I don’t see a client side option to flip mirror printing), I have a doppleganger of my regular printer, and I named it **MirrorTest** - screenshot below. When I need a mirror print, I just send it to the mirror printer.\n
    \n
    ![](https://lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)\n
    \n
    Actual Changes\n
    --------------\n
    \n
    Here’s the relevant excerpt (added) in `/etc/cups/ppd/MirrorTest.ppd` (I added this UI option right below the Toner option). Excerpt adds a MirrorPrint Toggle (*boolean*) to the printer defaults setup. When enabled - the printer will print in mirror mode.\n
    \n
    ```\n
    \n
    <span style="color:#323232;">*%=== Mirror Printing ================================\n
    </span><span style="color:#323232;">*OpenGroup: General\n
    </span><span style="color:#323232;">*OpenUI *MirrorPrint/Mirror Print: Boolean\n
    </span><span style="color:#323232;">*OrderDependency: 110 AnySetup *MirrorPrint\n
    </span><span style="color:#323232;">*DefaultMirrorPrint: True\n
    </span><span style="color:#323232;">*MirrorPrint True/MirrorPrint: "&lt;>setpagedevice"\n
    </span><span style="color:#323232;">*MirrorPrint False/Normal: ""\n
    </span><span style="color:#323232;">*CloseUI: *MirrorPrint\n
    </span>\n
    ```\n
    \n
    For further convenience (making sure that a new printer installation didn’t mess up my custom changes, I also updated the relevant ppd file in `/usr/share/cups/model/`. Whenever you add a new printer - CUPS will use the corresponding model ppd as a base, and it will apply any settings changes from configuring default to the copied ppd file in `/etc/cups/ppd/your_printer.ppd`.\n
    \n
    Hope this helps if someone else is also looking to do something similar!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699974683 {#1428
    date: 2023-11-14 16:11:23.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@GravelPieceOfSword@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1572 …}
  +nested: Doctrine\ORM\PersistentCollection {#1581 …}
  +votes: Doctrine\ORM\PersistentCollection {#1579 …}
  +reports: Doctrine\ORM\PersistentCollection {#1577 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1573 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1650 …}
  -id: 114597
  -bodyTs: "'/etc/cups/ppd/mirrortest.ppd':73 '/etc/cups/ppd/your_printer.ppd':183 '/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':63 '/usr/share/cups/model':150 '110':113 'accomplish':2 'actual':64 'ad':71,75 'add':85,153 'also':143,191 'anysetup':114 'appli':170 'base':166 'boolean':89,111 'chang':65,141,173 'client':25 'closeui':123 'configur':175 'conveni':18,127 'copi':179 'correspond':161 'cup':157 'custom':140 'default':93,176 'defaultmirrorprint':116 'didn':135 'dopplegang':35 'driver':5 'els':189 'enabl':14,96 'excerpt':70,84 'false/normal':122 'file':148,181 'flip':29 'general':107 'help':186 'hope':184 'instal':134 'lemmy.ca':62 'lemmy.ca/pictrs/image/4be9b08a-01a2-4d67-871a-2caa391bff6d.png)':61 'look':192 'make':128 'mess':137 'mirror':15,30,51,59,102,104 'mirrorprint':9,87,115,118,121,124 'mirrorprint/mirror':109 'mirrortest':44 'mission':1 'mode':103 'model':162 'name':42 'need':49 'new':132,155 'opengroup':106 'openui':108 'option':10,27,78,83 'orderdepend':112 'ppd':147,163,180 'print':16,31,52,100,105,110 'printer':4,39,60,92,98,133,156 'regular':38 'relev':69,146 'right':79 'screenshot':45 'see':23 'select':12 'send':55 'set':172 'setpagedevic':120 'setup':94 'side':26 'similar':196 'sinc':19 'someon':188 'someth':195 'sure':129 'toggl':88 'toner':82 'true':117 'true/mirrorprint':119 'ui':77 'updat':144 'use':159 'whenev':151"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/4787806"
  +editedAt: DateTimeImmutable @1699904601 {#1440
    date: 2023-11-13 20:43:21.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699773689 {#1434
    date: 2023-11-12 08:21:29.0 +01:00
  }
  +"title": 114597
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_ADMIN
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED ROLE_MODERATOR
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details